diff --git a/ChangeLog b/ChangeLog
index aaad5eb..24b8103 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,2311 @@
-=== release 1.9.1 ===
+=== release 1.9.2 ===
 
-2016-07-06  Sebastian Dröge <slomo@coaxion.net>
+2016-09-01  Sebastian Dröge <slomo@coaxion.net>
 
 	* configure.ac:
-	  releasing 1.9.1
+	  releasing 1.9.2
+
+2016-09-01 11:24:37 +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/ky.po:
+	* po/lt.po:
+	* po/lv.po:
+	* po/mt.po:
+	* po/nb.po:
+	* po/nl.po:
+	* po/or.po:
+	* po/pl.po:
+	* po/pt_BR.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/sk.po:
+	* po/sl.po:
+	* po/sq.po:
+	* po/sr.po:
+	* po/sv.po:
+	* po/tr.po:
+	* po/uk.po:
+	* po/vi.po:
+	* po/zh_CN.po:
+	  po: Update translations
+
+2016-08-30 16:21:25 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/plugin.m:
+	  applemedia: Conditionally compile qtkitvideosrc
+	  The API was deprecated in 10.9 and apparently does not exist in the SDK for
+	  macOS Sierra anymore.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770587
+
+2016-08-31 04:26:43 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglframebuffer.h:
+	  gl: Remove extra duplicate typedef of GstGLFramebuffer
+	  It's triggering a warning building git master on OSX
+
+2016-08-29 16:57:42 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/check/libs/gstglupload.c:
+	  tests/glupload: support opengl3 properly instead of spewing GL errors
+
+2016-08-29 16:52:44 +1000  Matthew Waters <matthew@centricular.com>
+
+	* pkgconfig/gstreamer-gl.pc.in:
+	  gl/pkgconfig: add the lib include dir to the list of includes
+	  714d8aa in core removed this include dir from it's pkgconfig file.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770523
+
+2016-08-29 15:43:10 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	* tests/check/libs/gstglupload.c:
+	  glupload: fix tests and check for the new RECONFIGURE behaviour
+	  The tests were broken since 91fea30, which changed glupload to return
+	  GST_GL_UPLOAD_RECONFIGURE if the texture target in the input buffers doesn't
+	  match the texture-target configured in the output caps.
+	  This commit fixes that and adds more checks for the new behaviour.
+
+2016-08-19 11:12:10 -0700  Thibault Saunier <thibault.saunier@osg.samsung.com>
+
+	* ext/gme/gstgme.c:
+	* ext/sndfile/gstsfsink.c:
+	* ext/teletextdec/gstteletextdec.c:
+	* ext/timidity/gsttimidity.c:
+	* ext/timidity/gstwildmidi.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst/aiff/aiffparse.c:
+	* gst/midi/midiparse.c:
+	* gst/mpegdemux/gstmpegdemux.c:
+	* gst/mpegtsdemux/mpegtsbase.c:
+	* gst/mxf/mxfdemux.c:
+	* gst/nuvdemux/gstnuvdemux.c:
+	* gst/tta/gstttaparse.c:
+	* sys/androidmedia/gstamcaudiodec.c:
+	* sys/androidmedia/gstamcvideodec.c:
+	* sys/androidmedia/gstamcvideoenc.c:
+	* sys/applemedia/avfassetsrc.m:
+	  Use the new API to post flow ERROR messages on the bus
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770158
+
+2016-08-26 20:12:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/dash_mpd.c:
+	  dash: Fix build of unit test
+
+2016-08-25 20:50:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: Add properties to select maximum allowed width/height and framerate
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770408
+
+2016-08-26 16:04:27 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	  decklinkaudiosink: Fix compiler warning on OS X
+	  While gint64 and int64_t are always the same, clang does not agree with that.
+	  /Applications/Xcode.app/Contents/Developer/usr/bin/make -C decklink
+	  CXX      libgstdecklink_la-gstdecklinkaudiosink.lo
+	  gstdecklinkaudiosink.cpp:675:79: error: cannot initialize a parameter of type 'int64_t *' (aka 'long long *') with an rvalue of type 'gint64 *' (aka 'long *')
+	  ret = buf->output->attributes->GetInt (BMDDeckLinkMaximumAudioChannels, &max_channels);
+	  ^~~~~~~~~~~~~
+	  ./linux/DeckLinkAPI.h:692:87: note: passing argument to parameter 'value' here
+	  virtual HRESULT GetInt (/* in */ BMDDeckLinkAttributeID cfgID, /* out */ int64_t *value) = 0;
+	  ^
+
+2016-08-26 22:51:48 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/corevideomemory.c:
+	  applemedia: fix compiler warning
+
+2016-08-26 15:48:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	  decklinkvideosink: Scale down scheduled frame times to milliseconds
+	  Scale down to milliseconds, otherwise at least some hardware has problems
+	  scheduling the frames (or schedules them too slow) and we run out of available
+	  frames.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770282
+
+2016-08-26 14:08:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkaudiosink.cpp:
+	  decklinkaudiosink: Add support for 8 and 16 channels
+
+2016-08-26 17:37:54 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* sys/applemedia/Makefile.am:
+	* sys/applemedia/avfassetsrc.m:
+	* sys/applemedia/avfvideosrc.m:
+	* sys/applemedia/coremediabuffer.c:
+	* sys/applemedia/coremediabuffer.h:
+	* sys/applemedia/corevideobuffer.c:
+	* sys/applemedia/corevideobuffer.h:
+	* sys/applemedia/corevideomemory.c:
+	* sys/applemedia/corevideomemory.h:
+	* sys/applemedia/iosglmemory.c:
+	* sys/applemedia/iosglmemory.h:
+	* sys/applemedia/iosurfacememory.c:
+	* sys/applemedia/plugin.m:
+	* sys/applemedia/qtkitvideosrc.m:
+	* sys/applemedia/videotexturecache.h:
+	* sys/applemedia/videotexturecache.m:
+	* sys/applemedia/vtdec.c:
+	* sys/applemedia/vtenc.c:
+	  applemedia: changes to make GL memory mappable on CPU on iOS
+	  This commit introduces IOSGLMemory which is a GLMemory that falls back to
+	  GstAppleCoreVideoMemory for CPU access. This is a temporary solution until
+	  IOSurface gets exposed as a public framework on iOS and so we can use
+	  IOSurfaceMemory on both MacOS and iOS.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769210
+
+2016-08-22 17:18:27 +1000  Alessandro Decina <alessandro.d@gmail.com>
+
+	* ext/gl/gstgluploadelement.c:
+	* gst-libs/gst/gl/gstglupload.c:
+	* gst-libs/gst/gl/gstglupload.h:
+	  gstglupload: make the GLMemoryUpload method output the correct texture-target
+	  Now when used with video/x-raw as input, the GLMemoryUpload method checks for
+	  ->tex_target in input GLMemory(es) and sets the output texture-target
+	  accordingly.
+	  Fixes video corruption with a pipeline like avfvideosrc ! video/x-raw !
+	  glimagesink where on macos avfvideosrc pushes RECTANGLE textures but glupload
+	  was configuring texture-target=2D as output.
+
+2016-08-24 09:41:08 -0300  Thibault Saunier <tsaunier@gnome.org>
+
+	* gst-libs/gst/mpegts/mpegts_enum.py:
+	* gst/mpegtsdemux/meson.build:
+	* meson.build:
+	  meson: Make mpegts lib build when using subprojects
+	  The headers passed as parametter are relative to the build dir
+	  basically "../subproject/gst-plugins-bad/gst-libs/gst/mpegts/XXX.h"
+	  but that does not match what is needed at build time when building as
+	  subproject, also we always add current dir as include_dir so we are
+	  safe including directly.
+	  And link mpegtsdemux against the 'math' library as it is needed.
+
+2016-08-26 03:46:39 +1000  Jan Schmidt <jan@centricular.com>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	  docs: Expose the opengl plugin and element docs
+
+2016-08-26 02:20:11 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	  videoaggregator: Handle if update_caps() returns EMPTY
+	  Don't assume the returned caps from update_caps() is
+	  non-empty.
+
+2016-08-26 02:07:27 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/gl/gstglvideomixer.c:
+	  gl: Update glvideomixer doc
+
+2016-08-26 02:06:00 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/gl/gstglstereomix.c:
+	* ext/gl/gstglviewconvert.c:
+	  gl: Add/update docs for glviewconvert, glstereomix
+	  Add some example pipelines for glstereomix, and fix up
+	  the example pipelines for glviewconvert
+
+2016-08-26 00:29:34 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/gl/gstglstereomix.c:
+	* ext/gl/gstglstereomix.h:
+	  glstereomix: Fix caps negotiation
+	  The videoaggregator negotiation sequence changed some time
+	  back and broke glstereomix. Instead of doing nego incorrectly
+	  in the find_best_format() vfunc, do it directly in the
+	  update_caps() method.
+
+2016-08-25 15:26:49 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/gl/gstglviewconvert.c:
+	  glviewconvert: Fix texture target fixation
+	  Don't set the chosen texture-target into the wrong structure.
+	  The input caps may not be writable, and in any case - the
+	  intention was to configure the othercaps. Also, remove an
+	  extra unref - the othercaps ref is consumed by
+	  gst_caps_make_writable already.
+
+2016-08-25 19:35:13 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/hls/gsthlsdemux.c:
+	* ext/smoothstreaming/gstmssdemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Enable bitrate selection for trick mode streaming again
+	  And scale the bitrate with the absolute rate (if it's bigger than 1.0) to get
+	  to the real bitrate due to faster playback.
+	  This allowed in my tests to play a stream with 10x speed without buffering as
+	  the lowest bitrate is chosen, instead of staying/selecting the highest bitrate
+	  and then buffering all the time.
+	  It was previously disabled for not very well specified reasons, which seem to
+	  be not valid anymore nowadays.
+
+2016-08-25 16:33:17 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* tests/check/elements/.gitignore:
+	  gitignore: add missing dash_isoff file
+
+2016-08-25 12:45:33 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* tests/check/Makefile.am:
+	  build: fix gst-uninstalled build in osx
+	  Fixes clang: error: argument unused during compilation: '-pthread'
+	  when building the test programs.
+
+2016-08-25 14:35:59 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* configure.ac:
+	* tests/check/Makefile.am:
+	  build: unconditionally check for video, audio and pbutils modules
+	  Check for modules in configure and use GST_*_LIBS vars to link with
+	  the libraries instead of hardcoding them.
+
+2016-07-26 19:55:13 +0200  Xabier Rodriguez Calvar <calvaris@igalia.com>
+
+	* ext/gl/gstglvideoflip.c:
+	* ext/gl/gstglvideoflip.h:
+	  glvideoflip: implement GstVideoDirection interface
+	  It implements now this interface with its video-direction
+	  property. Values are changed to GstVideoOrientationMethod but they have
+	  the same value than the originals.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768687
+
+2016-08-24 19:43:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/fdkaac/gstfdkaacenc.c:
+	  fdkaacenc: Implement some automatic bitrate selection
+	  Based on sample rate and channel count, see
+	  http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC#Recommended_Sampling_Rate_and_Bitrate_Combinations
+
+2016-08-24 14:15:09 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: On redirects, remember the redirect URI separately and don't consider this an URI property change
+	  The application does not know anything about the redirect, and changing its
+	  URI internally will cause confusion.
+	  Also don't reset the subtitle URI.
+
+2016-08-24 14:10:41 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: Don't report spurious STOPPED state changes when doing transient changes there
+
+2016-08-24 13:01:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: Ensure that rate is initialized to 1.0
+
+2016-08-24 10:16:00 +0000  Fredrik Fornwall <fredrik@fornwall.net>
+
+	* sys/opensles/Makefile.am:
+	  opensles: Add opensles.h to noinst_HEADERS
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770326
+
+2016-08-23 14:37:17 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: De-duplicate rate setting code and always use the property
+
+2016-08-23 14:33:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: Protect setter/getter for the configuration with a mutex
+
+2016-08-23 14:32:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	* gst-libs/gst/player/gstplayer.h:
+	  player: Move subtitle URI setter next to the uri setter
+	  It's confusing to have them a couple of hundred lines apart.
+
+2016-08-17 19:59:17 +0200  Matej Knopp <matej.knopp@gmail.com>
+
+	* sys/applemedia/vtdec.c:
+	  vtdec: fix MPEG-2 video caps
+	  Add systemstream=false to caps, otherwise the decoder
+	  may be picked for MPEG-PS files. Also parsed=true,
+	  as video toolbox expects entire frame in
+	  VTDecompressionSessionDecodeFrame.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770049
+
+2016-08-23 02:13:19 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c.rej:
+	* gst-libs/gst/adaptivedemux/set_state_keep.patch:
+	  adaptivedemux: Fix the previous commit
+	  Remove extra files that were not meant to be added to the commit
+
+2016-08-23 01:57:55 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c.rej:
+	* gst-libs/gst/adaptivedemux/set_state_keep.patch:
+	  adaptivedemux: Fix broken updates loop on live streams
+	  Prevent the manifest update loop from looping endlessly
+	  after a seek event, by clearing the variable that tells
+	  the task function not to immediately exit.
+
+2016-08-18 10:06:27 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: fix stream exposure condition
+	  The new streams should not be exposed until all streams are done with the
+	  current fragment. The old code is incorrect and actually only checked the
+	  current stream. Fix this by properly checking all streams.
+	  Also, ignore the current stream. The code is only reached when the current
+	  stream finished downloading and since
+	  07f49f15b1196cc9fa0d45af91149a35fce123b9 ("adaptivedemux: On EOS, handle it
+	  before waking download loop") download_finished is set after
+	  gst_adaptive_demux_stream_advance_fragment_unlocked() is called.
+	  Without this HLS playback with multiple streams is broken, because the new
+	  streams are never exposed.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770075
+
+2016-08-21 16:21:07 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/mpg123/meson.build:
+	  meson: remove unused mpg123 build file
+	  mpg123 was moved to ugly.
+
+2016-08-12 21:21:45 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* .gitignore:
+	* config.h.meson:
+	* ext/assrender/meson.build:
+	* ext/bz2/meson.build:
+	* ext/chromaprint/meson.build:
+	* ext/curl/meson.build:
+	* ext/dash/meson.build:
+	* ext/directfb/meson.build:
+	* ext/dtls/meson.build:
+	* ext/dts/meson.build:
+	* ext/faac/meson.build:
+	* ext/faad/meson.build:
+	* ext/flite/meson.build:
+	* ext/fluidsynth/meson.build:
+	* ext/hls/meson.build:
+	* ext/kate/meson.build:
+	* ext/libde265/meson.build:
+	* ext/libmms/meson.build:
+	* ext/meson.build:
+	* ext/mpg123/meson.build:
+	* ext/openh264/meson.build:
+	* ext/openjpeg/meson.build:
+	* ext/opus/meson.build:
+	* ext/resindvd/meson.build:
+	* ext/rsvg/meson.build:
+	* ext/rtmp/meson.build:
+	* ext/sbc/meson.build:
+	* ext/schroedinger/meson.build:
+	* ext/smoothstreaming/meson.build:
+	* ext/soundtouch/meson.build:
+	* ext/spandsp/meson.build:
+	* ext/srtp/meson.build:
+	* ext/srtp/srtp_mkenum.py:
+	* ext/voaacenc/meson.build:
+	* ext/webp/meson.build:
+	* ext/x265/meson.build:
+	* ext/zbar/meson.build:
+	* gst-libs/gst/adaptivedemux/meson.build:
+	* gst-libs/gst/audio/meson.build:
+	* gst-libs/gst/base/meson.build:
+	* gst-libs/gst/basecamerabinsrc/meson.build:
+	* gst-libs/gst/codecparsers/meson.build:
+	* gst-libs/gst/gl/gstglconfig.h.meson:
+	* gst-libs/gst/gl/meson.build:
+	* gst-libs/gst/insertbin/meson.build:
+	* gst-libs/gst/interfaces/build_mkenum.py:
+	* gst-libs/gst/interfaces/meson.build:
+	* gst-libs/gst/meson.build:
+	* gst-libs/gst/mpegts/meson.build:
+	* gst-libs/gst/mpegts/mpegts_enum.py:
+	* gst-libs/gst/player/meson.build:
+	* gst-libs/gst/uridownloader/meson.build:
+	* gst-libs/gst/video/meson.build:
+	* gst-libs/meson.build:
+	* gst/accurip/meson.build:
+	* gst/adpcmdec/meson.build:
+	* gst/adpcmenc/meson.build:
+	* gst/aiff/meson.build:
+	* gst/asfmux/meson.build:
+	* gst/audiobuffer/meson.build:
+	* gst/audiofxbad/meson.build:
+	* gst/audiomixer/meson.build:
+	* gst/audiovisualizers/meson.build:
+	* gst/autoconvert/meson.build:
+	* gst/bayer/meson.build:
+	* gst/camerabin2/meson.build:
+	* gst/cdxaparse/meson.build:
+	* gst/coloreffects/meson.build:
+	* gst/compositor/meson.build:
+	* gst/dataurisrc/meson.build:
+	* gst/dccp/meson.build:
+	* gst/debugutils/meson.build:
+	* gst/dvbsuboverlay/meson.build:
+	* gst/dvdspu/meson.build:
+	* gst/faceoverlay/meson.build:
+	* gst/festival/meson.build:
+	* gst/fieldanalysis/meson.build:
+	* gst/freeverb/meson.build:
+	* gst/frei0r/meson.build:
+	* gst/games/meson.build:
+	* gst/gaudieffects/meson.build:
+	* gst/gdp/meson.build:
+	* gst/geometrictransform/meson.build:
+	* gst/hdvparse/meson.build:
+	* gst/id3tag/meson.build:
+	* gst/inter/meson.build:
+	* gst/interlace/meson.build:
+	* gst/ivfparse/meson.build:
+	* gst/ivtc/meson.build:
+	* gst/jp2kdecimator/meson.build:
+	* gst/jpegformat/meson.build:
+	* gst/librfb/meson.build:
+	* gst/meson.build:
+	* gst/midi/meson.build:
+	* gst/mixmatrix/meson.build:
+	* gst/mpeg1sys/meson.build:
+	* gst/mpegdemux/meson.build:
+	* gst/mpegpsmux/meson.build:
+	* gst/mpegtsdemux/meson.build:
+	* gst/mpegtsmux/meson.build:
+	* gst/mve/meson.build:
+	* gst/mxf/meson.build:
+	* gst/nuvdemux/meson.build:
+	* gst/onvif/meson.build:
+	* gst/overlay/meson.build:
+	* gst/patchdetect/meson.build:
+	* gst/pcapparse/meson.build:
+	* gst/pnm/meson.build:
+	* gst/rawparse/meson.build:
+	* gst/real/meson.build:
+	* gst/removesilence/meson.build:
+	* gst/rtjpeg/meson.build:
+	* gst/sdi/meson.build:
+	* gst/sdp/meson.build:
+	* gst/segmentclip/meson.build:
+	* gst/siren/meson.build:
+	* gst/smooth/meson.build:
+	* gst/speed/meson.build:
+	* gst/stereo/meson.build:
+	* gst/subenc/meson.build:
+	* gst/tta/meson.build:
+	* gst/vbidec/meson.build:
+	* gst/videofilters/meson.build:
+	* gst/videoframe_audiolevel/meson.build:
+	* gst/videomeasure/meson.build:
+	* gst/videoparsers/meson.build:
+	* gst/videosignal/meson.build:
+	* gst/vmnc/meson.build:
+	* gst/y4m/meson.build:
+	* gst/yadif/meson.build:
+	* meson.build:
+	* meson_options.txt:
+	* pkgconfig/meson.build:
+	* sys/bluez/meson.build:
+	* sys/d3dvideosink/meson.build:
+	* sys/directsound/meson.build:
+	* sys/dvb/meson.build:
+	* sys/meson.build:
+	* sys/wasapi/meson.build:
+	* sys/winks/meson.build:
+	* sys/winscreencap/meson.build:
+	  Add support for Meson as alternative/parallel build system
+	  https://github.com/mesonbuild/meson
+	  With contributions from:
+	  Tim-Philipp Müller <tim@centricular.com>
+	  Matej Knopp <matej.knopp@gmail.com>
+	  Jussi Pakkanen <jpakkane@gmail.com> (original port)
+	  Highlights of the features provided are:
+	  * Faster builds on Linux (~40-50% faster)
+	  * The ability to build with MSVC on Windows
+	  * Generate Visual Studio project files
+	  * Generate XCode project files
+	  * Much faster builds on Windows (on-par with Linux)
+	  * Seriously fast configure and building on embedded
+	  ... and many more. For more details see:
+	  http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
+	  http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html
+	  Building with Meson should work on both Linux and Windows, but may
+	  need a few more tweaks on other operating systems.
+
+2016-08-18 17:46:19 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* ext/dts/gstdtsdec.c:
+	* ext/resindvd/resindvdsrc.h:
+	* gst/bayer/gstbayer2rgb.c:
+	* gst/dccp/gstdccp_common.h:
+	* gst/librfb/d3des.c:
+	* sys/fbdev/gstfbdevsink.c:
+	  plugins: Use stdint.h instead of _stdint.h
+	  _stdint.h is generated by Autotools and we don't really need it. All
+	  supported platforms now ship with stdint.h. The only stickler was MSVC,
+	  and since Visual Studio 2015 it also ships stdint.h now.
+
+2016-08-12 21:51:17 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* win32/common/libgstgl.def:
+	  win32: Update libgstgl.def
+
+2016-03-02 00:53:44 +0530  Nirbheek Chauhan <nirbheek.chauhan@gmail.com>
+
+	* gst-libs/gst/codecparsers/nalutils.c:
+	  codecparsers: Explicitly export functions marked inline
+	  On MSVC, inline functions are not available outside of a file unless
+	  explicitly exported
+
+2016-08-19 12:24:58 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* gst/rawparse/gstrawvideoparse.c:
+	  rawvideoparse: fix typo in comment
+	  Small typo in the comment explaining the code fixed by the previous commit.
+	  Fixing it.
+
+2016-08-19 14:19:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rawparse/gstrawvideoparse.c:
+	  rawvideoparse: Revert last commit and actually remember the physically last plane
+	  Instead of just always taking the last one as before.
+
+2016-08-19 11:57:33 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* gst/rawparse/gstrawvideoparse.c:
+	  rawvideoparse: remove unused assignment
+	  Value in last_plane will be overwritten before used, remove unused
+	  asignment.
+	  Fixes commit 91cf5ac69f9c99fe41d60f42b4174915dd135e7b
+	  CID 1371462
+
+2016-08-18 18:55:41 +0200  Philippe Renon <philippe_renon@yahoo.fr>
+
+	* ext/daala/gstdaaladec.c:
+	  daala: fix typo related compilation error
+	  https://bugzilla.gnome.org/show_bug.cgi?id=770102
+
+2016-08-19 11:02:46 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* sys/Makefile.am:
+	* sys/applemedia-nonpublic/Makefile.am:
+	* sys/applemedia-nonpublic/bufferfactory.h:
+	* sys/applemedia-nonpublic/bufferfactory.m:
+	* sys/applemedia-nonpublic/celapi.c:
+	* sys/applemedia-nonpublic/celapi.h:
+	* sys/applemedia-nonpublic/celvideosrc.c:
+	* sys/applemedia-nonpublic/celvideosrc.h:
+	* sys/applemedia-nonpublic/cmapi.c:
+	* sys/applemedia-nonpublic/cmapi.h:
+	* sys/applemedia-nonpublic/coremediabuffer.c:
+	* sys/applemedia-nonpublic/coremediabuffer.h:
+	* sys/applemedia-nonpublic/coremediactx.c:
+	* sys/applemedia-nonpublic/coremediactx.h:
+	* sys/applemedia-nonpublic/corevideobuffer.c:
+	* sys/applemedia-nonpublic/corevideobuffer.h:
+	* sys/applemedia-nonpublic/cvapi.c:
+	* sys/applemedia-nonpublic/cvapi.h:
+	* sys/applemedia-nonpublic/dynapi-internal.h:
+	* sys/applemedia-nonpublic/dynapi.c:
+	* sys/applemedia-nonpublic/dynapi.h:
+	* sys/applemedia-nonpublic/mioapi.c:
+	* sys/applemedia-nonpublic/mioapi.h:
+	* sys/applemedia-nonpublic/miovideodevice.c:
+	* sys/applemedia-nonpublic/miovideodevice.h:
+	* sys/applemedia-nonpublic/miovideosrc.c:
+	* sys/applemedia-nonpublic/miovideosrc.h:
+	* sys/applemedia-nonpublic/mtapi.c:
+	* sys/applemedia-nonpublic/mtapi.h:
+	* sys/applemedia-nonpublic/plugin.m:
+	  applemedia-nonpublic: remove bitrotten plugin that's no longer needed
+
+2016-08-19 19:46:24 +1000  Florian Zwoch <fzwoch@gmail.com>
+
+	* sys/applemedia/avfvideosrc.m:
+	  avfvideosrc: account for retina displays when capturing screens
+	  Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=770030
+
+2016-08-19 17:11:13 +1000  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	  build: bump graphene requirement to 1.4
+
+2016-08-19 15:35:49 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	  gltransformation: rewrite the inverse transformation logic
+	  It now returns the correct values for both orthographic and perspective
+	  projections and takes into account the aspect ratio of the video, handles
+	  the Y-flipping in GL and by us and uses some more helpers from graphene.
+
+2016-07-01 16:18:55 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: marshal gst_gl_window_resize through the window loop
+	  saves having every caller do it themselves.
+
+2016-06-30 23:06:43 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/wayland/wayland_event_source.c:
+	  gl/wayland: use multi-threaded safe event wayland API
+	  Multiple threads may be accessing the wayland fd at the same time which
+	  requires the use of special wayland API to deal with to ensure nobody
+	  will steal reads and cause a stall for anyone else.
+
+2016-07-01 00:15:55 +1000  Matthew Waters <matthew@centricular.com>
+
+	* tests/examples/gl/gtk/fxtest/fxtest.c:
+	  gl/examples/fxtest: fix up for wayland support
+	  - Pass the wayland display to gst
+	  - Redrawing on resize is no longer needed.
+
+2016-08-17 16:21:34 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: warn on ignored key/value pairs
+	  Otherwise at runtine, users get the misleading
+	  parsing-OK message with no info on, for example,
+	  properties that failed to map because of a typo.
+
+2016-08-16 15:35:39 -0700  Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
+
+	* sys/dvb/parsechannels.c:
+	  dvb/parsechannels: handle problems parsing dvbv5 config keys
+
+2016-08-18 15:28:33 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/mplex/gstmplex.cc:
+	  mplex: Don't start task (yet/again) on pad release if we're in READY or NULL
+	  Fixes spurious segfault in unit test, where the task was started again during
+	  shutdown when all pads were removed... and was then still running while the
+	  element was finalized.
+
+2016-08-18 13:21:54 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: In KEY_UNITS trick mode, download all I-frames and not only IDR
+
+2016-08-08 17:54:46 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* tests/check/elements/.gitignore:
+	* tests/check/elements/rawaudioparse.c:
+	* tests/check/elements/rawvideoparse.c:
+	  rawparse: Fix and extend unit tests
+	  * Add caps change test to unit tests
+	  * Cleanup leftover buffers after each unit test
+	  * Add missing rawvideoparse entry in .gitignore
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769637
+
+2016-08-16 09:31:40 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* gst/rawparse/gstrawvideoparse.c:
+	* gst/rawparse/gstrawvideoparse.h:
+	* tests/check/elements/rawvideoparse.c:
+	  rawvideoparse: Compute plane offsets & strides if no custom ones are set
+	  This is useful to ensure that the offsets and strides are computed if
+	  only width, height, format etc. in the property config are set.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769797
+
+2016-08-16 18:46:49 +0300  Sergei Saveliev <saveliev.sergei@gmail.com>
+
+	* sys/applemedia/avfassetsrc.m:
+	  avfassetsrc: Don't escape the URI another time in another location too
+	  One location was forgotten in a913a0b9679dd58945ad105d240db45595fdaba6
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767492
+
+2016-08-16 20:33:21 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/egl/gstegl.h:
+	  gl/egl: fix inverted typedef
+	  2b6841d had an inverted typedef defining ginptr and EGLAttrib.  Fix that.
+
+2016-08-16 10:37:28 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/timidity/gstwildmidi.c:
+	  wildmidi: Fix compilation with wildmidi 0.4
+	  Old versions used char* for the data, new versions use int8_t*. They're often
+	  not the same and differ in signedness.
+
+2016-08-16 16:51:02 +1000  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	* gst-libs/gst/gl/egl/gstegl.h:
+	  gl/build: add configure check for possibly missing EGLAttrib
+	  Fixes the build on older android targets.
+
+2016-07-13 17:15:44 +0800  Song Bing <bing.song@nxp.com>
+
+	* gst-libs/gst/gl/egl/gsteglimage.c:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
+	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
+	* gst-libs/gst/gl/egl/gstglmemoryegl.c:
+	  gl/egl/dmabuf: Wrong attribute list type for EGL 1.5
+	  For EGL 1.5 spec, the attribute list type should be EGLAttrib.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768602
+
+2016-08-15 16:14:25 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/gl/gstglcontext.c:
+	  glcontext: fix race joining thread on finalize
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769939
+
+2016-08-16 00:40:53 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/qt/gstqtglutility.cc:
+	  qt: Use wglShareLists() workaround unconditionally.
+	  Sometimes wglCreateContextAttribsARB() exists, but
+	  isn't functional (some Intel drivers), so it's
+	  easiest to do the workaround unconditionally.
+
+2016-08-15 16:37:44 +1000  Jan Schmidt <jan@centricular.com>
+
+	* sys/winks/gstksvideodevice.c:
+	* sys/winks/gstksvideodevice.h:
+	* sys/winks/gstksvideosrc.c:
+	* sys/winks/ksvideohelpers.c:
+	* sys/winks/ksvideohelpers.h:
+	  winks: Fix RGB frame flipping and postprocessing
+	  Uncompressed RGB frames can be (usually are) bottom-up
+	  layout in DirectShow, and the code to flip them wasn't
+	  properly ported from 0.10. Fix it.
+	  Fix post-processing of RGB buffers. We need a writable
+	  buffer, but the requests pool is holding an extra ref.
+	  This could use more fixing to use a buffer pool
+
+2016-08-12 22:17:25 +1000  Jan Schmidt <jan@centricular.com>
+
+	* sys/winks/gstksvideosrc.c:
+	  winks: Give the ksvideosrc PRIMARY rank
+	  It's the primary video source on Windows, so give it a
+	  rank for autoplugging by camerabin and friends
+
+2016-08-12 22:16:33 +1000  Jan Schmidt <jan@centricular.com>
+
+	* sys/winks/ksvideohelpers.c:
+	  winks: Fix swapped RGBx/RGB caps mapping, and endianness.
+	  The RGBx and RGB format mappings were reversed.
+	  What Windows calls RGB are laid out as BGR in our parlance, so
+	  switch that too
+
+2016-08-08 13:41:14 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/qt/gstqtglutility.cc:
+	  qt: Move debug statement to after the category init
+	  Don't output debug to an uninitialised debug category.
+
+2016-08-11 12:19:59 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	  dashdemux: Disable unit test for the time being
+	  It uses random data streams but dashdemux nowadays actually looks into the
+	  streams and doesn't like randomness very much. The tests should probably just
+	  become validate tests on real streams.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769553
+
+2016-08-11 12:11:22 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  Revert "Revert "dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method""
+	  This reverts commit aea2c13fc1672a7260679d706d0a084a34ba7531.
+
+2016-08-04 14:47:41 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: When doing chunked downloading on SIDX, clip requests on the SIDX entry boundaries
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-08-02 08:47:55 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: Collect average moof and first sync sample sizes
+	  And always request those in the beginning so that ideally we get the moof and
+	  the first sync sample all together with the first HTTP request.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-08-02 08:35:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: Download any sync-sample following the moof directly in key-units only mode
+	  We don't have to do yet another additional request but can just download the
+	  data directly.
+	  Also unify the key-unit only mode buffer pushing and extract it into its own
+	  function now that it became more complicated.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-07-29 12:50:58 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: If a fragment contains no sync samples, disable key-unit mode
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-07-29 12:32:50 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: Remember if for a stream we could do key-units only mode
+	  This makes sure we don't even try going into that mode if we previously saw
+	  that the stream does not have the suitable metadata.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-07-29 11:54:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Also allow key-unit only mode if (some) sample flags are given by trex but we can still find sync frames
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-07-12 20:09:52 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Use chunked downloading for the moof in KEY_UNITS mode
+	  Allows us to reuse the HTTP connection and reduce latencies a lot.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-07-12 10:22:43 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: Add API for allowing subclasses to download URLs in chunks
+	  This allows to gradually download part of a fragment when the final size is
+	  not known and only a part of it should be downloaded. For example when only
+	  the moof should be parsed and/or a single keyframe should be downloaded.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-06-01 14:02:11 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Mark every first buffer of moov, sidx, moof and mdat as DISCONT in keyframe-only mode
+	  We need to mark every first buffer of a key unit as discont, and also every
+	  first buffer of a moov and moof. This ensures that qtdemux takes note of our
+	  buffer offsets for each of those buffers instead of keeping track of them
+	  itself from the first buffer. We need offsets to be consistent between moof
+	  and mdat
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-07-28 10:53:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Only enable key-unit trick mode for video streams
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-05-31 15:12:49 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Only do keyframe-only playback if the corresponding seek flag is given
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-05-30 12:09:34 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: Implement downloading of only sync samples
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-05-30 11:15:03 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: Store parsed moof and extract offsets of sync samples in it
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-05-02 17:11:31 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/dash_isoff.c:
+	* tests/check/elements/dash_isoff.h:
+	  dash: Add test for parsing a moof box
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-05-02 16:03:56 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/Makefile.am:
+	* tests/check/elements/dash_isoff.c:
+	  dash: Add unit test for ISOBFF box header parsing
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-04-07 21:33:51 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstisoff.c:
+	* ext/dash/gstisoff.h:
+	  dashdemux: Implement parsing of moof box
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-04-07 13:34:57 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstisoff.c:
+	  dashdemux: Move code around to keep all sidx related functions together
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-04-07 12:57:13 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstisoff.c:
+	* ext/dash/gstisoff.h:
+	  dashdemux: Store box fourccs in the header at a central place
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-03-28 13:45:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: Implement parsing of ISOBMFF boxes
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-03-16 13:48:09 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstisoff.c:
+	* ext/dash/gstisoff.h:
+	  dash: Add helper for parsing box headers
+	  https://bugzilla.gnome.org/show_bug.cgi?id=741104
+
+2016-08-10 22:50:12 +0000  xlazom00 <xlazom00@gmail.com>
+
+	* ext/x265/gstx265enc.c:
+	  x265enc: Enable aspect ratio
+	  x265 encoder need aspectRatioIdc == X265_EXTENDED_SAR if we want to use
+	  sarWidth/sarHeight
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769716
+
+2016-08-08 13:10:12 +0200  Josep Torra <n770galaxy@gmail.com>
+
+	* ext/openjpeg/gstopenjpegenc.c:
+	  openjpegenc: use the corrent enumeration
+	  Fixes the following error when building in osx.
+	  error: implicit conversion from enumeration type
+	  'GstJPEG2000Colorspace' to different enumeration type
+	  'GstJPEG2000Sampling'
+
+2016-08-08 11:28:44 +0200  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  amc: Fix call to realloc() to allocate the correct size of items
+
+2016-08-07 20:53:30 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* configure.ac:
+	* ext/Makefile.am:
+	  fdkaac: actually build and dist
+
+2016-08-06 23:31:23 +0000  xlazom00 <xlazom00@gmail.com>
+
+	* ext/hls/Makefile.am:
+	* gst/timecode/Makefile.am:
+	  hls, timecode: fix linking
+	  https://bugzilla.gnome.org//show_bug.cgi?id=769587
+
+2016-08-07 12:20:16 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/fdkaac/Makefile.am:
+	* ext/fdkaac/gstfdkaacdec.c:
+	* ext/fdkaac/gstfdkaacdec.h:
+	* ext/fdkaac/plugin.c:
+	  fdkaac: Add FDK AAC based decoder element
+	  Missing is support for error concealment, etc.
+
+2016-08-07 11:39:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/fdkaac/Makefile.am:
+	* ext/fdkaac/gstfdkaacenc.c:
+	* ext/fdkaac/gstfdkaacenc.h:
+	* ext/fdkaac/plugin.c:
+	  fdkaac: Add FDK AAC based encoder element
+	  This currently only handles LC profile and exposes a bitrate property, but
+	  handles up to 7.1 channels. See TODO list for missing features.
+
+2016-08-07 08:51:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	* ext/fdkaac/Makefile.am:
+	* ext/fdkaac/plugin.c:
+	  fdkaac: Initial plugin skeleton
+
+2016-08-01 11:45:30 +0200  Bernhard Miller <bernhard.miller@streamunlimited.com>
+
+	* gst/aiff/aiffparse.c:
+	  aiffparse: keep end_offset when seeking
+	  After seeking in aiff files the information about the data end offset is
+	  discarded, leading to audio artifacts with metadata chunks at the end of
+	  a file.
+	  This patch retains the end offset information after a seek event.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=769376
+
+2016-08-06 16:15:33 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/dvdspu/gstdvdspu.c:
+	  dvdspu: don't crash if video frame could not be mapped
+	  As might happen with e.g. vaapi and the test file from
+	  https://bugzilla.gnome.org/show_bug.cgi?id=736227
+
+2016-08-05 09:16:58 +0200  Edward Hervey <bilboed@bilboed.com>
+
+	* ext/dash/gstdashdemux.c:
+	  Revert "dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method"
+	  This reverts commit 947656cfd22b75f914d5abe0af82396787f67564.
+	  This makes all dash seeking tests fail. Needs more testing to fully understand
+	  what's going wrong. Revert ok'd by Sebastian
+
+2016-05-31 19:21:17 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
+
+	* gst/timecode/Makefile.am:
+	* gst/timecode/gsttimecodewait.c:
+	* gst/timecode/gsttimecodewait.h:
+	* gst/timecode/plugin.c:
+	  timecodewait: New element to wait for a specific timecode
+	  timecodewait receives a timecode as an argument (either as string or as
+	  GstVideoTimeCode - one is gst-launch-friendly and the other is code-friendly),
+	  and it will drop all audio and video buffers until that timecode has been
+	  reached.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766419
+
+2016-05-20 18:17:52 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
+
+	* configure.ac:
+	* gst/timecode/Makefile.am:
+	* gst/timecode/gsttimecodestamper.c:
+	* gst/timecode/gsttimecodestamper.h:
+	* gst/timecode/plugin.c:
+	  timecodestamper: New element to attach SMPTE timecode to buffers
+	  The timecodestamper element attaches a SMPTE timecode to each video buffer.
+	  This timecode corresponds to the current stream time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766419
+
+2016-05-15 17:25:44 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
+
+	* sys/decklink/gstdecklinkvideosink.cpp:
+	* sys/decklink/gstdecklinkvideosink.h:
+	  decklinkvideosink: Add support for GstVideoTimeCode
+	  The timecode will be fetched from the video buffer and outputted on the
+	  decklink video sink.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766419
+
+2016-05-15 16:04:14 +0300  Vivia Nikolaidou <vivia@toolsonair.com>
+
+	* sys/decklink/gstdecklink.cpp:
+	* sys/decklink/gstdecklink.h:
+	* sys/decklink/gstdecklinkvideosrc.cpp:
+	* sys/decklink/gstdecklinkvideosrc.h:
+	  decklinkvideosrc: Add support for GstVideoTimeCode
+	  The timecode will be fetched from the decklink source and attached to the
+	  video buffer.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=766419
+
+2016-08-04 23:14:41 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	  glcolorconvert: add missing rgb16 and bgr16 video formats in switch
+	  Fixes an assertion that code should not be reached
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769462
+
+2016-08-04 22:28:13 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hls: Avoid potential NULL pointer dereference.
+	  Fixes CID 1364753
+
+2016-08-04 22:21:16 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/m3u8.c:
+	  hls: Avoid coverity warning about access off the end of an array.
+	  Fixes CID 1364755
+
+2016-08-04 14:42:34 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: When doing SIDX seeking, return instead of overriding the timestamp with 0 from the MPD seeking method
+	  We don't need to call the latter at all as we're definitely in this period and
+	  the segment is selected via the SIDX.
+	  This is especially important when doing SNAP seeks, as otherwise we would
+	  always start from the beginning of the period (usually 0) again.
+
+2016-08-04 11:08:30 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* ext/hls/m3u8.c:
+	  hls: m3u8: remove impossible condition
+	  After the check in line 1,111,  media->uri can't be NULL. So the two checks
+	  for GST_HLS_MEDIA_TYPE_CLOSED_CAPTIONS are the same, removing the redundant
+	  one which goes to cc_unsupported.
+	  CID 1364752
+
+2016-08-04 04:53:50 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Don't output pending data after error
+	  If the last_ret status is not OK, skip output
+	  of any pending PCR scan buffer, similarly to how
+	  the pending decryption buffer is handled above.
+
+2016-08-04 04:29:38 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: On EOS, handle it before waking download loop
+	  Otherwise, if the download loop wakes too quickly, it
+	  might miss the last_ret value update from the processing
+	  thread and loop again.
+
+2016-08-04 01:51:37 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux-util.c:
+	  hlsdemux: Include config.h and add header in utils
+	  In gsthlsdemux-util.c, include config.h before any
+	  other headers, and add a copyright / license header.
+
+2016-07-13 11:02:23 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Fix draining on wrong programs
+	  When draining a program, we might send a newsegment event on the pads
+	  that are going to be removed (and then the pending data).
+	  In order to do that, calculate_and_push_newsegment() needs to know
+	  what list of streams it should take into account (instead of blindly
+	  using the current one).
+	  All callers to calculate_and_push_newsegment() and push_pending_data()
+	  can now specify the program on which to act (or NULL for the default
+	  one).
+
+2016-07-12 15:58:40 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: Fix GAP synchronization without a valid PCR PID
+	  For streams that don't have a valid PCR PID, we just use the latest
+	  PTS from any given stream.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=608148
+
+2016-05-31 13:09:43 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+	* gst/mpegtsdemux/mpegtspacketizer.c:
+	  tsdemux: handle pcr_pid == 0x1fff
+	  Streams without PCR make senses in HLS, where the playlist timestamps
+	  can be used to seek or calculate the duration.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=608148
+
+2015-05-10 20:10:49 +0200  Arnaud Vrac <avrac@freebox.fr>
+
+	* gst/mpegtsdemux/mpegtsbase.c:
+	  mpegtsdemux: do not abort playback when no PCR were found during initial scan
+	  Seeking will not be possible in those streams but at least the can be
+	  played. Note scanning is only done when tsdemux is configured in pull mode.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=608148
+
+2015-05-09 15:52:22 +0200  Arnaud Vrac <avrac@freebox.fr>
+
+	* gst/mpegtsdemux/tsdemux.c:
+	  mpegtsdemux: only wait for PCR when PCR pid is set
+	  Streams without PCR make senses in HLS, where the playlist timestamps
+	  can be used to seek or calculate the duration.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=608148
+
+2016-08-03 04:18:18 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hls: Fix compiler warning for possibly uninit variable
+
+2016-07-28 14:22:02 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: seek all streams
+
+2016-05-25 11:23:59 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: simplify gst_hls_demux_seek()
+	  Don't initialize current_sequence. It is always overwritten in the walk
+	  loop.
+
+2016-05-24 15:23:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: don't download the last fragment when seeking beyond the end of the track
+	  It's not used anyways.
+
+2016-07-12 23:05:55 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux-util.c:
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Add support for ID3 tag parsing
+	  Parse start PTS out of the ID3 tags in
+	  audio fragments. Informational only for now.
+
+2016-02-24 16:57:16 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/Makefile.am:
+	* ext/hls/gsthlsdemux-util.c:
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Do some reading and dumping of PCRs
+	  Read PCRs out of the MPEG-TS stream in a basic way
+	  and (for now) just log them
+
+2016-03-05 03:08:55 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Only use the primary stream for bitrate selection.
+	  When playing alternate rendition auxilliary streams, ignore
+	  them in bitrate measurement (for now).
+
+2016-07-15 16:24:17 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Only select video and audio streams by default
+	  Ignore subtitle streams for now, because the
+	  different fragment duration causes problems
+	  switching bitrates w/ decodebin2 group draining.
+
+2016-02-25 01:58:25 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: Publish all media for alternate renditions.
+	  Create an output stream for each media when alternate renditions
+	  are present. Update the manifests for all those streams, and
+	  make sure that typefinding is still done for files smaller than 2KB
+	  such as small WebVTT files.
+
+2016-03-08 01:24:20 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Adjust downstream buffer offsets
+	  When fetching a byte-region from a server resource,
+	  adjust the downstream buffer offsets so that downstream
+	  doesn't know. This is because id3demux insists on the
+	  first offset being 0. Later we might strip ID3 headers
+	  entirely and this will be unneeded.
+
+2016-03-09 03:07:22 +1100  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hlsdemux: Choose the default variant and track it when updating
+	  Modify playlist updating to track information across updates
+	  better, although still hackish.
+	  When connection_speed == 0, choose the default variant
+	  not the first one in the (now sorted) variant list, as that
+	  will have the lowest bitrate.
+
+2015-12-05 11:12:33 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	* tests/check/elements/hlsdemux_m3u8.c:
+	  hlsdemux: move variant list handling over to new master playlist code
+	  Adapt hlsdemux for the m3u8 playlist changes.
+
+2015-11-27 19:26:02 +0000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	* ext/hls/m3u8.c:
+	* ext/hls/m3u8.h:
+	  hls: m3u8: Rework m3u8 parsing and storage.
+	  Make M3U8 and GstM3U8MediaFile refcounted. The contents
+	  of it and GstM3U8MediaFile are pretty much immutable
+	  already, but if we make it refcounted we can just
+	  return a ref to the media file from _get_next_fragment()
+	  instead of copying over all fields one-by-one, and then
+	  copying them all into the adaptive stream structure fields again.
+	  Move state from client into m3u8 structure.  This will
+	  be useful later when we'll have multiple media playlists
+	  being streamed at the same time, as will be the case with
+	  alternative renditions.
+	  This has the downside that we need to copy over some
+	  state when we switch between variant streams.
+	  The GstM3U8Client structure is gone, and main/current
+	  lists are not directly in hlsdemux. hlsdemux had as
+	  many CLIENT_LOCK/UNLOCK as the m3u8 code anyway...
+
+2016-07-27 09:28:23 +0800  Haihua Hu <jared.hu@nxp.com>
+
+	* tests/examples/qt/qmlsink/.gitignore:
+	* tests/examples/qt/qmlsink/main.cpp:
+	* tests/examples/qt/qmlsink/main.qml:
+	* tests/examples/qt/qmlsink/play.pro:
+	* tests/examples/qt/qmlsink/qml.qrc:
+	* tests/examples/qt/qmlsrc/.gitignore:
+	* tests/examples/qt/qmlsrc/grabqml.pro:
+	* tests/examples/qt/qmlsrc/main.cpp:
+	* tests/examples/qt/qmlsrc/main.qml:
+	* tests/examples/qt/qmlsrc/qml.qrc:
+	  qmlglsrc: Add qmlglsrc unit test example
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768160
+
+2016-07-27 08:16:47 +0800  Haihua Hu <jared.hu@nxp.com>
+
+	* ext/qt/Makefile.am:
+	* ext/qt/gstplugin.cc:
+	* ext/qt/gstqtglutility.cc:
+	* ext/qt/gstqtglutility.h:
+	* ext/qt/gstqtsrc.cc:
+	* ext/qt/gstqtsrc.h:
+	* ext/qt/qtitem.cc:
+	* ext/qt/qtwindow.cc:
+	* ext/qt/qtwindow.h:
+	  qt: implement qmlglsrc for qml view grab
+	  [Matthew Waters]: gst-indent sources
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768160
+
+2016-07-27 10:55:01 +0800  Haihua Hu <jared.hu@nxp.com>
+
+	* gst-libs/gst/gl/x11/gstglwindow_x11.c:
+	  glwindow: Fix glimagesink cannot show frame when connect to qmlglsrc
+	  When connect to qmlglsrc, x11 event loop will be replace by qt event loop
+	  which will cause the window cannot receive event from xserver, such as resize
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768160
+
+2016-08-02 17:21:20 +0900  Hyunjun Ko <zzoon@igalia.com>
+
+	* gst-libs/gst/gl/gstglupload.c:
+	  glupload: Use bufferpool to allocate new buffer in GLTextureUploadMeta
+	  To improve performace of upload with GLTextureUploadMeta,
+	  use bufferpool instead of allocating new buffer every time.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769293
+
+2016-07-27 14:48:50 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglwindow.c:
+	  glwindow: move unsetting queue_resize to _resize() instead of _draw()
+	  Makes infinitely more sense and implementation were expecting that behaviour
+	  anyway and would enter a resize, draw, resize, draw, ... cycle instead of only
+	  resizing once.
+
+2016-08-03 09:14:07 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Never ever hold the manifest lock while changing the source element state
+	  Otherwise we will deadlock in various situations that take the manifest lock
+	  from the streaming thread or when shutting down or ...
+
+2016-08-02 17:07:37 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/check/elements/aiffparse.c:
+	  aiffparse: In PUSH mode we will never get the ID3 tags as they are at the end of the file
+	  This previously did not fail as before we didn't get any tags at all in PUSH
+	  mode, now we get the bitrates.
+
+2016-08-02 13:48:43 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* gst/aiff/Makefile.am:
+	* gst/aiff/aiffparse.c:
+	  aiffparse: Add tags for container format and bitrate
+	  The bitrate is added to help downstream elements (like uridecodebin)
+	  figure out a proper network buffer size
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769389
+
+2016-01-20 16:42:24 +0000  Alex Ashley <bugzilla@ashley-family.net>
+
+	* tests/check/elements/dash_mpd.c:
+	  tests: dashdemux: add test for gst_mpd_client_get_maximum_segment_duration
+	  Add a test of the gst_mpd_client_get_maximum_segment_duration() function
+	  to check that it first checks the MPD@maxSegmentDuration and then falls
+	  back to checking all of the segment durations.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753751
+
+2016-02-24 15:54:54 +0000  Alex Ashley <bugzilla@ashley-family.net>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstmpdparser.c:
+	* ext/dash/gstmpdparser.h:
+	  dashdemux: include segment duration when calculating seek range
+	  The gst_dash_demux_get_live_seek_range () function returns a stop value
+	  that is beyond the available range. The functions
+	  gst_mpd_client_check_time_position() and
+	  gst_mpd_client_get_next_segment_availability_end_time() in
+	  gstmpdparser.c include the segment duration when checking if a segment
+	  is available. The gst_dash_demux_get_live_seek_range() function
+	  in gstdashdemux.c ignores the segment duration.
+	  According to the DASH specification, if maxSegmentDuration is not present,
+	  then the maximum Segment duration is the maximum duration of any Segment
+	  documented in the MPD.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753751
+
+2016-02-24 15:52:41 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: retry once on 4xx/5xx in certain conditions
+	  This helps catch those 404 server errors in live streams when
+	  seeking to the very beginning, as the server will handle a
+	  request with some delay, which can cause it to drop the fragment
+	  before sending it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753751
+
+2016-02-24 15:47:09 +0000  Alex Ashley <bugzilla@ashley-family.net>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: expose HTTP status
+	  To allow adaptivedemux to make retry decisions, it needs to know what
+	  sort of HTTP error has occurred. For example, the retry logic for a
+	  410 error is different from a 504 error.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753751
+
+2016-03-07 17:04:33 +0000  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: allow seeking before start in live streams
+	  Some derived classes (at least dashdemux) expose a seeking range
+	  based on wall clock. This means that a subsequent seek to the start
+	  of this range will be before the allowed range.
+	  To solve this, seeks without the ACCURATE flag are allowed to seek
+	  before the start for live streams, in which case the segment is
+	  shifted to start at the start of the new seek range. If there is
+	  an end position, is is shifted too, to keep the duration constant.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=753751
+
+2016-08-01 14:12:35 +0800  Haihua Hu <jared.hu@nxp.com>
+
+	* ext/gl/gstglimagesink.c:
+	  glimagesink: Fix horizontal/vertical flip matrizes
+	  They were swapped.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769371
+
+2016-07-29 16:32:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
+
+	* gst/videoparsers/gsth264parse.c:
+	  videoparsers: h264: Add more scalable profiles to the profile list
+	  Adding Scalable Constrained High (G.10.1.2.1) and
+	  Scalable High Intra(G.10.1.3) profiles to the profile list
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769303
+
+2016-08-01 10:30:29 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gst-android-hardware-camera.c:
+	* sys/androidmedia/gst-android-hardware-sensor.c:
+	* sys/androidmedia/gstahssrc.c:
+	  androidmedia: Run gst-indent over everything once again
+
+2016-08-01 10:28:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  amc: If we find multiple codecs with the same name, just merge them
+	  On the ODroid C1+ the H265 and H264 have the same name but are listed as two
+	  different codecs. We have to handle them as the same one that supports both,
+	  as otherwise we will register the same GType name twice which fails and we
+	  then only have H265 support and not H264 support.
+
+2016-08-01 10:15:04 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  amc: Use a GQueue for O(1) append instead of a GList
+
+2016-07-29 12:31:38 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Also call reset() in READY->PAUSED
+	  This allows subclasses to have initialization code in a single place.
+
+2016-07-29 10:49:26 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rawparse/gstrawaudioparse.c:
+	  rawaudioparse: Use G_GINT64_MODIFIER for portability
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769295
+
+2016-07-29 10:07:23 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/rawparse/gstunalignedaudioparse.c:
+	  unalignedaudioparse: Fix element factory name of inner parser
+
+2016-07-29 08:54:00 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* sys/androidmedia/gstamc.c:
+	  amc: Print generated raw/encoded caps in debug logs
+
+2016-07-28 11:27:29 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	* ext/dash/gstdashdemux.h:
+	  dashdemux: Skip audio streams if TRICKMODE_NO_AUDIO is given in the seek event
+	  We just don't expose pads for audio streams, or even download them.
+
+2016-07-28 11:16:24 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ext/dash/gstdashdemux.c:
+	  dashdemux: Reset number of subtitle streams counter on reset() too
+	  Otherwise we will continue increasing forever the number of subtitle streams
+	  when reusing the element for another DASH manifest.
+
+2016-07-26 17:01:55 +0100  Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
+
+	* tests/check/pipelines/simple-launch-lines.c:
+	  tests: fix simple-launch-lines when jpeg lib isn't present
+	  JPEG detection in configure.ac defines HAVE_JPEG to 0 if the
+	  jpeg lib isn't found, rather then not defining it.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769197
+
+2016-07-25 17:55:24 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
+	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
+	* docs/plugins/inspect/plugin-rawparse.xml:
+	  docs: Update rawparser documentation
+	  Signed-off-by: Carlos Rafael Giani <dv@pseudoterminal.org>
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767011
+
+2016-07-25 17:54:09 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* gst/rawparse/Makefile.am:
+	* gst/rawparse/gstaudioparse.c:
+	* gst/rawparse/gstaudioparse.h:
+	* gst/rawparse/gstrawparse.c:
+	* gst/rawparse/gstrawparse.h:
+	* gst/rawparse/gstvideoparse.c:
+	* gst/rawparse/gstvideoparse.h:
+	  rawparse: Remove old parser code and wrap new parsers in old elements
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767011
+
+2016-07-25 13:45:40 +0200  Carlos Rafael Giani <dv@pseudoterminal.org>
+
+	* gst/rawparse/Makefile.am:
+	* gst/rawparse/gstrawaudioparse.c:
+	* gst/rawparse/gstrawaudioparse.h:
+	* gst/rawparse/gstrawbaseparse.c:
+	* gst/rawparse/gstrawbaseparse.h:
+	* gst/rawparse/gstrawvideoparse.c:
+	* gst/rawparse/gstrawvideoparse.h:
+	* gst/rawparse/gstunalignedaudioparse.c:
+	* gst/rawparse/gstunalignedvideoparse.c:
+	* gst/rawparse/gstunalignedvideoparse.h:
+	* gst/rawparse/plugin.c:
+	* gst/rawparse/unalignedvideo.h:
+	* tests/check/Makefile.am:
+	* tests/check/elements/.gitignore:
+	* tests/check/elements/rawaudioparse.c:
+	* tests/check/elements/rawvideoparse.c:
+	  rawparse: Add new raw audio and video parser elements
+	  The new rawaudioparse and rawvideoparse elements are based on GstBaseParse
+	  and completely replace audioparse and videoparse
+	  https://bugzilla.gnome.org/show_bug.cgi?id=767011
+
+2016-07-26 16:01:19 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/caopengllayersink.h:
+	* ext/gl/caopengllayersink.m:
+	  caopengllayersink: remove unused to_quit variable
+	  It was always 0 and never set to anything meaningful.
+
+2016-07-26 15:57:54 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	  glframebuffer: add compatibility definition for GL_DEPTH_STENCIL_ATTACHMENT
+	  GLES2 doesn't have it defined...
+
+2016-07-15 13:39:54 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectblur.c:
+	* ext/gl/effects/gstgleffectbulge.c:
+	* ext/gl/effects/gstgleffectfisheye.c:
+	* ext/gl/effects/gstgleffectglow.c:
+	* ext/gl/effects/gstgleffectidentity.c:
+	* ext/gl/effects/gstgleffectlaplacian.c:
+	* ext/gl/effects/gstgleffectlumatocurve.c:
+	* ext/gl/effects/gstgleffectlumatocurve.h:
+	* ext/gl/effects/gstgleffectmirror.c:
+	* ext/gl/effects/gstgleffectrgbtocurve.c:
+	* ext/gl/effects/gstgleffectsin.c:
+	* ext/gl/effects/gstgleffectsobel.c:
+	* ext/gl/effects/gstgleffectsquare.c:
+	* ext/gl/effects/gstgleffectsqueeze.c:
+	* ext/gl/effects/gstgleffectstretch.c:
+	* ext/gl/effects/gstgleffecttunnel.c:
+	* ext/gl/effects/gstgleffecttwirl.c:
+	* ext/gl/effects/gstgleffectxray.c:
+	* ext/gl/gstglcolorbalance.c:
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldeinterlace.h:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstglfilterapp.c:
+	* ext/gl/gstglfiltershader.c:
+	* ext/gl/gstgloverlay.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	* gst-libs/gst/gl/gstglpixelformat.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	  glfilter: rewrite subclasses for filter_texture() occuring on GL thread
+	  There's no need for the jump to an extra thread in most cases, especially
+	  when relying solely on a shader to render.  We can use the provided
+	  render_to_target() functions to simplify filter writing.
+
+2016-07-12 15:34:24 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglutils.h:
+	  glutils: remove unused GstGLDisplayProjection
+
+2016-07-12 15:29:29 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglimagesink.c:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglmemorypbo.c:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	* gst-libs/gst/gl/gstglviewconvert.c:
+	* tests/check/libs/gstglmemory.c:
+	* tests/check/libs/gstglupload.c:
+	  glcontext: remove not thread-safe get/set_error()
+	  Use GError's instead if necessary.
+
+2016-07-12 12:59:57 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglfilterapp.c:
+	* ext/gl/gstglfilterapp.h:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstgltestsrc.c:
+	* ext/gl/gstgltestsrc.h:
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstglvideomixer.c:
+	* ext/gl/gstglvideomixer.h:
+	* gst-libs/gst/gl/gstgl_fwd.h:
+	* gst-libs/gst/gl/gstglcolorconvert.c:
+	* gst-libs/gst/gl/gstglcolorconvert.h:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	* gst-libs/gst/gl/gstglframebuffer.c:
+	* gst-libs/gst/gl/gstglframebuffer.h:
+	* gst-libs/gst/gl/gstglutils.c:
+	* gst-libs/gst/gl/gstglutils.h:
+	* gst-libs/gst/gl/gstglviewconvert.c:
+	* gst-libs/gst/gl/gstglviewconvert.h:
+	* tests/check/libs/gstglcontext.c:
+	  glframebuffer: rewrite for a more consistent API
+	  Facilities are given to create fbo's and attach GL memory (renderbuffers
+	  or textures).  It also keeps track of the renderable size for use with
+	  effective use with glViewport().
+
+2016-07-12 00:30:22 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstglcolorbalance.c:
+	* ext/gl/gstglcolorscale.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstgldifferencematte.h:
+	* ext/gl/gstgleffects.c:
+	* ext/gl/gstgleffects.h:
+	* ext/gl/gstglfilterapp.c:
+	* ext/gl/gstglfiltercube.c:
+	* ext/gl/gstglfiltercube.h:
+	* ext/gl/gstglfilterglass.c:
+	* ext/gl/gstglfilterglass.h:
+	* ext/gl/gstglfiltershader.c:
+	* ext/gl/gstglmixer.c:
+	* ext/gl/gstglmixer.h:
+	* ext/gl/gstglmosaic.c:
+	* ext/gl/gstglmosaic.h:
+	* ext/gl/gstgloverlay.c:
+	* ext/gl/gstgltransformation.c:
+	* ext/gl/gstgltransformation.h:
+	* ext/gl/gstglvideomixer.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  gl: use GLMemory for accessing textures everywhere
+	  This simplifies and consolidates a lot of duplicated code creating
+	  and modifying textures.
+
+2016-07-11 22:44:16 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/effects/gstgleffectblur.c:
+	* ext/gl/effects/gstgleffectbulge.c:
+	* ext/gl/effects/gstgleffectfisheye.c:
+	* ext/gl/effects/gstgleffectglow.c:
+	* ext/gl/effects/gstgleffectidentity.c:
+	* ext/gl/effects/gstgleffectlaplacian.c:
+	* ext/gl/effects/gstgleffectlumatocurve.c:
+	* ext/gl/effects/gstgleffectmirror.c:
+	* ext/gl/effects/gstgleffectrgbtocurve.c:
+	* ext/gl/effects/gstgleffectsin.c:
+	* ext/gl/effects/gstgleffectsobel.c:
+	* ext/gl/effects/gstgleffectsquare.c:
+	* ext/gl/effects/gstgleffectsqueeze.c:
+	* ext/gl/effects/gstgleffectstretch.c:
+	* ext/gl/effects/gstgleffecttunnel.c:
+	* ext/gl/effects/gstgleffecttwirl.c:
+	* ext/gl/effects/gstgleffectxray.c:
+	* ext/gl/gstglcolorbalance.c:
+	* ext/gl/gstgldeinterlace.c:
+	* ext/gl/gstgldifferencematte.c:
+	* ext/gl/gstglfiltershader.c:
+	* gst-libs/gst/gl/gstglfilter.c:
+	* gst-libs/gst/gl/gstglfilter.h:
+	  glfilter: rename draw_texture to draw_fullscreen_quad
+	  And remove unused arguments.
+
+2016-07-11 22:31:04 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/Makefile.am:
+	* gst-libs/gst/gl/gl.h:
+	* gst-libs/gst/gl/gstgl_fwd.h:
+	* gst-libs/gst/gl/gstgldisplay.c:
+	* gst-libs/gst/gl/gstglrenderbuffer.c:
+	* gst-libs/gst/gl/gstglrenderbuffer.h:
+	  gl: add memory type for renderbuffer's
+	  Soon to be used for framebuffers for e.g. depth buffers or throwaway color
+	  buffers.
+
+2016-07-11 22:28:42 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglformat.c:
+	* gst-libs/gst/gl/gstglformat.h:
+	  glformat: define our own set of formats from the GL defines
+	  also add some depth/stencil formats
+
+2016-07-11 22:24:43 +1000  Matthew Waters <matthew@centricular.com>
+
+	* ext/gl/gstgleffects.c:
+	  gleffects: fix xray to use the correct function
+	  Instead of duplicating the sin effect
+
+2016-07-11 21:29:10 +1000  Matthew Waters <matthew@centricular.com>
+
+	* gst-libs/gst/gl/gstglbasememory.c:
+	* gst-libs/gst/gl/gstglbasememory.h:
+	  glbasememory: assert for a valid allocator instead of segfaulting
+
+2016-04-29 14:42:34 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
+
+	* gst/mpegtsdemux/gstmpegdefs.h:
+	* gst/mpegtsdemux/tsdemux.c:
+	  tsdemux: add support for LPCM with stream_type = 0x83
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765807
+
+2016-07-25 13:06:46 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	* gst-libs/gst/player/gstplayer.h:
+	  player: Add some 'const' to config getters
+
+2016-07-25 13:06:36 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst-libs/gst/player/gstplayer.c:
+	  player: G-I annotation fixes
+
+2016-07-25 10:30:26 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/player/gstplayer.c:
+	* gst-libs/gst/player/gstplayer.h:
+	* tests/check/libs/player.c:
+	* win32/common/libgstplayer.def:
+	  player: move 'position-update-interval' setting to the config struct
+	  https://bugzilla.gnome.org/show_bug.cgi?id=769144
+
+2016-07-19 14:36:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* docs/libs/gst-plugins-bad-libs-sections.txt:
+	* gst-libs/gst/player/gstplayer.c:
+	* gst-libs/gst/player/gstplayer.h:
+	* tests/check/libs/player.c:
+	* win32/common/libgstplayer.def:
+	  player: add API to change http user agent
+	  Introducing a new 'config' API similar to GstBufferPoolConfig.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=765314
+
+2016-07-25 10:54:32 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* common:
+	  Update common submodule
+	  For 'make update-exports' changes
+
+2016-07-22 17:00:14 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/examples/qt/qml/main.cpp:
+	  qml: Don't forget to unref the actual sink element after setting it on glsinkbin
+
+2016-07-22 16:57:45 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* tests/examples/qt/qml/main.cpp:
+	  qml: Use glsinkbin instead of glupload directly
+
+2016-07-18 18:36:42 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/openh264/gstopenh264dec.cpp:
+	* ext/openh264/gstopenh264enc.cpp:
+	* ext/openh264/gstopenh264enc.h:
+	  openh264: fix up for API changes in v1.6.0
+	  Update for API changes in v1.6.0.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768771
+
+2016-07-18 17:43:23 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst-libs/gst/gl/wayland/gstgldisplay_wayland.c:
+	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
+	  gl: wayland: improve debug message when connecting to display
+	  And another copy'n'paste-o.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768929
+
+2016-07-19 02:11:54 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	  hlsdemux: Fix clearing of decryption state
+	  Don't clear decryption state immediately after
+	  initialising it in the start_fragment. Don't clear
+	  the state of all streams when we want to only clear
+	  the current stream.
+	  https://bugzilla.gnome.org//show_bug.cgi?id=768757
+
+2016-07-15 10:31:35 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* tests/check/elements/adaptive_demux_common.c:
+	* tests/check/elements/adaptive_demux_engine.c:
+	* tests/check/elements/audiomixer.c:
+	* tests/check/elements/autovideoconvert.c:
+	* tests/check/elements/camerabin.c:
+	  tests: fix bus leak
+	  gst_bus_remove_signal_watch() has to be called to release the ref
+	  taken by gst_bus_add_signal_watch().
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768843
+
+2016-07-15 11:48:25 +0200  Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
+
+	* gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c:
+	  camerabinpreview: fix bus leak
+	  We were never removing the watch introduced in
+	  gst_camerabin_create_preview_pipeline() so its extra ref on the bus was
+	  never released.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768838
+
+2016-07-13 23:02:10 +1000  Tim-Philipp Müller <tim@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: make decryption key handling per-stream
+	  Add demuxer instance-wide decryption key cache. The current and
+	  last key url are per-stream, so make a shared cache. Move the
+	  decryption handling into the stream object, and use the shared
+	  cache for the keys.
+
+2016-07-13 23:02:10 +1000  Jan Schmidt <jan@centricular.com>
+
+	* ext/hls/gsthlsdemux.c:
+	* ext/hls/gsthlsdemux.h:
+	  hlsdemux: add hlsdemux-specific AdaptiveDemuxStream subclass
+	  Prepare hlsdemux for more than one single stream. Currently hlsdemux
+	  assumes there'll only ever be one stream and most of the stream-specific
+	  state is actually in the hlsdemux structure. Add a stream subclass
+	  instead and move some stream-specific members there instead.
+
+2016-07-13 23:02:10 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.h:
+	  adaptivedemux: Add more safeguards around state changes.
+	  Make state changes of internal elements more reliable by locking
+	  their state, and ensuring that they aren't blocked pushing data
+	  downstream before trying to set their state.
+	  Add a boolean to avoid starting tasks when the main
+	  thread is busy trying to shut the element down.
+
+2016-07-13 23:02:10 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Add debug code to change bitrate.
+	  Add some disabled-by-default debugging code that forces
+	  bitrate changes by modulating the measured bitrate every
+	  few fragments
+
+2016-07-13 23:02:10 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: More locking/switching fixes
+	  Try harder to make switching pads work better by
+	  making sure concurrent downloads are finished before exposing
+	  a new set of pads.
+	  Release the manifest lock when signalling no-more-pads, as
+	  that can call back into adaptivedemux again
+
+2016-07-13 23:02:10 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Don't switch streams and expose pads while downloading.
+	  If other stream fragments are still downloading but new streams
+	  have been scheduled, don't expose them yet - wait until the last
+	  one finishes. Otherwise, we can cancel a partially downloaded
+	  auxilliary stream and cause a gap.
+
+2016-07-13 23:02:10 +1000  Jan Schmidt <jan@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Drop the manifest lock during outbound actions
+	  Drop the manifest lock when performing actions that might
+	  call back into adaptivedemux and trigger deadlocks, such
+	  as adding/removing pads or sending in-band events (EOS).
+	  Unlock the manifest lock when changing the child bin state to
+	  NULL, as it might call back to acquire the manifest lock when
+	  shutting down pads.
+	  Drop the manifest lock while pushing events.
+
+2016-07-12 14:51:47 -0700  Martin Kelly <martin@surround.io>
+
+	* sys/androidmedia/Makefile.am:
+	* sys/androidmedia/gst-android-hardware-sensor.c:
+	* sys/androidmedia/gst-android-hardware-sensor.h:
+	* sys/androidmedia/gstahssrc.c:
+	* sys/androidmedia/gstahssrc.h:
+	* sys/androidmedia/gstamc.c:
+	* sys/androidmedia/gstsensors.h:
+	* sys/androidmedia/org/freedesktop/gstreamer/androidmedia/GstAhsCallback.java:
+	  new plugin: Android hardware sensor source
+	  ahssrc is a new plugin that enables Gstreamer to read from the
+	  android.hardware.Sensor Android sensors. These sensors are treated as
+	  buffers and can be passed through and manipulated by the pipeline.
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768110
+
+2016-07-14 19:38:26 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/gstlv2utils.c:
+	  lv2: make it build with older lilv
+	  Implementing the removal of presets is unfortunately not feasibla with
+	  versions < 0.22.
+	  Fixes #768595
+
+2016-07-13 23:00:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* ext/webrtcdsp/gstwebrtcdsp.cpp:
+	* ext/webrtcdsp/gstwebrtcechoprobe.cpp:
+	  webrtcdsp: Add delay-agnostic property
+	  In this mode, we let WebRTC Audio Processing figure-out the delay. This
+	  is useful when the latency reported by the stack cannot be trusted. Note
+	  that in this mode, the leaking of echo during packet lost is much worst.
+	  It is recommanded to use PLC (e.g. spanplc, or opus built-in plc).
+	  In this mode, we don't do any synchronization. Instead, we simply process all
+	  the available reverse stream data as it comes.
+
+2016-07-12 00:02:53 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* gst/videoparsers/gstjpeg2000parse.c:
+	  jpeg2000parse: Use correct enum type
+	  GST_JPEG2000_SAMPLING_RGB instead of GST_JPEG2000_COLORSPACE_RGB
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768696
+
+2016-07-11 21:13:58 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* common:
+	  Automatic update of common submodule
+	  From f363b32 to f49c55e
+
+2016-07-11 11:58:12 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* sys/kms/gstkmsallocator.c:
+	* sys/kms/gstkmsallocator.h:
+	* sys/kms/gstkmssink.c:
+	  kmssink: Fix offsets handling
+	  The calculation of the offset table was done base on a plane size
+	  estimation. This does not always work. Instead, use memory offset the
+	  same we as it's implement in GstVideoMeta map functions.
+
+2016-07-11 19:21:11 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
+
+	* gst-libs/gst/video/gstvideoaggregator.c:
+	* gst/siren/gstsirendec.c:
+	  Fix various gboolean vs GstFlowReturn problems
+	  Caught by building with MSVC which gave warnings for these
+
+2016-07-08 19:03:06 +1000  Matthew Waters <matthew@centricular.com>
+
+	* configure.ac:
+	  gl/build: fix configure when --enable-cocoa is passed on OS X
+	  https://bugzilla.gnome.org/show_bug.cgi?id=768553
+
+2016-07-10 20:43:17 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* ext/lv2/README:
+	  lv2: planning update
+
+2016-07-10 20:42:42 +0200  Stefan Sauer <ensonic@users.sf.net>
+
+	* configure.ac:
+	* ext/lv2/gstlv2utils.c:
+	  lv2: keep working with older versions
+	  Provide a fallback impl. for the only new function we were using from 0.22.
+	  Fixes #768595
+
+2016-07-08 14:42:18 +0100  Tim-Philipp Müller <tim@centricular.com>
+
+	* gst/camerabin2/gstcamerabin2.c:
+	  camerabin: update docs section
+
+2016-07-07 13:22:02 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* configure.ac:
+	  configure.ac: Cleanup unused variable
+	  We only check for a header, no need for overriding LDFLAGS.
+
+2016-07-07 17:24:32 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* gst/gaudieffects/gstgaussblur.h:
+	  gaudi: fix documentation warning in GstGaussianBlur
+	  Fixing the following warning when generating documentation:
+	  xml/element-gaussianblur.xml:72: element refsect2: validity error :
+	  ID GstGaussianBlur already defined
+	  <refsect2 id="GstGaussianBlur" role="typedef">
+	  ^
+	  Warning: multiple "IDs" for constraint linkend: GstGaussianBlur.
+	  DOC   Fixing cross-references
+
+2016-07-07 17:16:47 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* gst/gaudieffects/gstchromium.h:
+	  gaudi: fix documentation warning in GstChromium
+	  Fixing the following warning when generating documentation:
+	  xml/element-chromium.xml:74: element refsect2: validity error :
+	  ID GstChromium already defined
+	  <refsect2 id="GstChromium" role="typedef">
+	  ^
+	  Warning: multiple "IDs" for constraint linkend: GstChromium.
+	  DOC   Fixing cross-references
+
+2016-07-07 12:31:20 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* configure.ac:
+	  webrtcdsp: Relax C++11 check
+	  The library does not require any STL C++11 specific headers.
+	  This fixes our OSX build as we target a SDK version that does not
+	  support C++11 STL.
+
+2016-07-07 12:31:03 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* configure.ac:
+	  webrtcdsp: Add Android GNUSTL support
+
+2016-07-07 12:20:45 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
+
+	* configure.ac:
+	  webrtcdsp: Set USE_WEBRTCDSP when disabled
+
+2016-07-07 17:20:58 +0200  Edward Hervey <edward@centricular.com>
+
+	* gst-libs/gst/adaptivedemux/gstadaptivedemux.c:
+	  adaptivedemux: Also consider more seek flags as "snap" seeks
+	  In the case of KEY_UNIT and TRICKMODE_KEY_UNITS seeks, we want to
+	  "snap" to the closest fragment.
+	  Without this, we end up pushing out a segment which does not match
+	  the first fragment timestamp being pushed out, resulting in one or
+	  more buffers being eventually dropped because they are out of segment.
+
+2016-07-06 14:29:04 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  webrtcdsp: Also allow webrtc-audio-processing 0.3
+	  It seems to work and is the version available in Debian.
+
+2016-07-06 12:12:41 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
+
+	* ext/musepack/gstmusepackdec.c:
+	  musepackdeck: unsigned can't be less than zero
+	  Less-than-zero comparison of an unsigned value, guint64, is never true
+	  CID 1363334
+
+2016-07-06 13:51:06 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* configure.ac:
+	  Back to development
+
+=== release 1.9.1 ===
+
+2016-07-06 13:07:21 +0300  Sebastian Dröge <sebastian@centricular.com>
+
+	* ChangeLog:
+	* NEWS:
+	* RELEASE:
+	* configure.ac:
+	* docs/plugins/gst-plugins-bad-plugins.args:
+	* docs/plugins/gst-plugins-bad-plugins.hierarchy:
+	* docs/plugins/inspect/plugin-accurip.xml:
+	* docs/plugins/inspect/plugin-adpcmdec.xml:
+	* docs/plugins/inspect/plugin-adpcmenc.xml:
+	* docs/plugins/inspect/plugin-aiff.xml:
+	* docs/plugins/inspect/plugin-asfmux.xml:
+	* docs/plugins/inspect/plugin-assrender.xml:
+	* docs/plugins/inspect/plugin-audiofxbad.xml:
+	* docs/plugins/inspect/plugin-audiomixer.xml:
+	* docs/plugins/inspect/plugin-audiovisualizers.xml:
+	* docs/plugins/inspect/plugin-autoconvert.xml:
+	* docs/plugins/inspect/plugin-bayer.xml:
+	* docs/plugins/inspect/plugin-bluez.xml:
+	* docs/plugins/inspect/plugin-bs2b.xml:
+	* docs/plugins/inspect/plugin-bz2.xml:
+	* docs/plugins/inspect/plugin-camerabin.xml:
+	* docs/plugins/inspect/plugin-chromaprint.xml:
+	* docs/plugins/inspect/plugin-coloreffects.xml:
+	* docs/plugins/inspect/plugin-compositor.xml:
+	* docs/plugins/inspect/plugin-curl.xml:
+	* docs/plugins/inspect/plugin-dashdemux.xml:
+	* docs/plugins/inspect/plugin-dataurisrc.xml:
+	* docs/plugins/inspect/plugin-debugutilsbad.xml:
+	* docs/plugins/inspect/plugin-decklink.xml:
+	* docs/plugins/inspect/plugin-dtls.xml:
+	* docs/plugins/inspect/plugin-dtsdec.xml:
+	* docs/plugins/inspect/plugin-dvb.xml:
+	* docs/plugins/inspect/plugin-dvbsuboverlay.xml:
+	* docs/plugins/inspect/plugin-dvdspu.xml:
+	* docs/plugins/inspect/plugin-faac.xml:
+	* docs/plugins/inspect/plugin-faad.xml:
+	* docs/plugins/inspect/plugin-fbdevsink.xml:
+	* docs/plugins/inspect/plugin-festival.xml:
+	* docs/plugins/inspect/plugin-fieldanalysis.xml:
+	* docs/plugins/inspect/plugin-flite.xml:
+	* docs/plugins/inspect/plugin-fluidsynthmidi.xml:
+	* docs/plugins/inspect/plugin-freeverb.xml:
+	* docs/plugins/inspect/plugin-frei0r.xml:
+	* docs/plugins/inspect/plugin-gaudieffects.xml:
+	* docs/plugins/inspect/plugin-gdp.xml:
+	* docs/plugins/inspect/plugin-geometrictransform.xml:
+	* docs/plugins/inspect/plugin-gmedec.xml:
+	* docs/plugins/inspect/plugin-gsm.xml:
+	* docs/plugins/inspect/plugin-gstgtk.xml:
+	* docs/plugins/inspect/plugin-gstsiren.xml:
+	* docs/plugins/inspect/plugin-hls.xml:
+	* docs/plugins/inspect/plugin-id3tag.xml:
+	* docs/plugins/inspect/plugin-inter.xml:
+	* docs/plugins/inspect/plugin-interlace.xml:
+	* docs/plugins/inspect/plugin-ivfparse.xml:
+	* docs/plugins/inspect/plugin-ivtc.xml:
+	* docs/plugins/inspect/plugin-jp2kdecimator.xml:
+	* docs/plugins/inspect/plugin-jpegformat.xml:
+	* docs/plugins/inspect/plugin-kate.xml:
+	* docs/plugins/inspect/plugin-ladspa.xml:
+	* docs/plugins/inspect/plugin-midi.xml:
+	* docs/plugins/inspect/plugin-mimic.xml:
+	* docs/plugins/inspect/plugin-mms.xml:
+	* docs/plugins/inspect/plugin-modplug.xml:
+	* docs/plugins/inspect/plugin-mpeg2enc.xml:
+	* docs/plugins/inspect/plugin-mpegpsdemux.xml:
+	* docs/plugins/inspect/plugin-mpegpsmux.xml:
+	* docs/plugins/inspect/plugin-mpegtsdemux.xml:
+	* docs/plugins/inspect/plugin-mpegtsmux.xml:
+	* docs/plugins/inspect/plugin-mplex.xml:
+	* docs/plugins/inspect/plugin-mxf.xml:
+	* docs/plugins/inspect/plugin-netsim.xml:
+	* docs/plugins/inspect/plugin-ofa.xml:
+	* docs/plugins/inspect/plugin-openal.xml:
+	* docs/plugins/inspect/plugin-opencv.xml:
+	* docs/plugins/inspect/plugin-openexr.xml:
+	* docs/plugins/inspect/plugin-opengl.xml:
+	* docs/plugins/inspect/plugin-openjpeg.xml:
+	* docs/plugins/inspect/plugin-opusparse.xml:
+	* docs/plugins/inspect/plugin-pcapparse.xml:
+	* docs/plugins/inspect/plugin-pnm.xml:
+	* docs/plugins/inspect/plugin-qt.xml:
+	* docs/plugins/inspect/plugin-rawparse.xml:
+	* docs/plugins/inspect/plugin-removesilence.xml:
+	* docs/plugins/inspect/plugin-resindvd.xml:
+	* docs/plugins/inspect/plugin-rfbsrc.xml:
+	* docs/plugins/inspect/plugin-rsvg.xml:
+	* docs/plugins/inspect/plugin-rtmp.xml:
+	* docs/plugins/inspect/plugin-rtponvif.xml:
+	* docs/plugins/inspect/plugin-schro.xml:
+	* docs/plugins/inspect/plugin-sdp.xml:
+	* docs/plugins/inspect/plugin-segmentclip.xml:
+	* docs/plugins/inspect/plugin-shm.xml:
+	* docs/plugins/inspect/plugin-smooth.xml:
+	* docs/plugins/inspect/plugin-smoothstreaming.xml:
+	* docs/plugins/inspect/plugin-sndfile.xml:
+	* docs/plugins/inspect/plugin-soundtouch.xml:
+	* docs/plugins/inspect/plugin-spandsp.xml:
+	* docs/plugins/inspect/plugin-speed.xml:
+	* docs/plugins/inspect/plugin-srtp.xml:
+	* docs/plugins/inspect/plugin-stereo.xml:
+	* docs/plugins/inspect/plugin-subenc.xml:
+	* docs/plugins/inspect/plugin-teletext.xml:
+	* docs/plugins/inspect/plugin-uvch264.xml:
+	* docs/plugins/inspect/plugin-vcdsrc.xml:
+	* docs/plugins/inspect/plugin-videofiltersbad.xml:
+	* docs/plugins/inspect/plugin-videoframe_audiolevel.xml:
+	* docs/plugins/inspect/plugin-videoparsersbad.xml:
+	* docs/plugins/inspect/plugin-videosignal.xml:
+	* docs/plugins/inspect/plugin-vmnc.xml:
+	* docs/plugins/inspect/plugin-voaacenc.xml:
+	* docs/plugins/inspect/plugin-voamrwbenc.xml:
+	* docs/plugins/inspect/plugin-waylandsink.xml:
+	* docs/plugins/inspect/plugin-webp.xml:
+	* docs/plugins/inspect/plugin-wildmidi.xml:
+	* docs/plugins/inspect/plugin-x265.xml:
+	* docs/plugins/inspect/plugin-y4mdec.xml:
+	* docs/plugins/inspect/plugin-yadif.xml:
+	* docs/plugins/inspect/plugin-zbar.xml:
+	* gst-plugins-bad.doap:
+	* win32/common/config.h:
+	  Release 1.9.1
+
+2016-07-06 11:52:11 +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/ky.po:
+	* po/lt.po:
+	* po/lv.po:
+	* po/mt.po:
+	* po/nb.po:
+	* po/nl.po:
+	* po/or.po:
+	* po/pl.po:
+	* po/pt_BR.po:
+	* po/ro.po:
+	* po/ru.po:
+	* po/sk.po:
+	* po/sl.po:
+	* po/sq.po:
+	* po/sr.po:
+	* po/sv.po:
+	* po/tr.po:
+	* po/uk.po:
+	* po/vi.po:
+	* po/zh_CN.po:
+	  Update .po files
 
 2016-07-06 10:19:24 +0300  Sebastian Dröge <sebastian@centricular.com>
 
@@ -1168,8 +3470,6 @@
 2016-06-07 15:50:50 +0200  Joan Pau Beltran <joanpau.beltran@socib.cat>
 
 	* ext/dc1394/Makefile.am:
-	* ext/dc1394/gstdc1394.c:
-	* ext/dc1394/gstdc1394.h:
 	* ext/dc1394/gstdc1394src.c:
 	* ext/dc1394/gstdc1394src.h:
 	  dc1394src: prefix and file names according to Gstreamer conventions
@@ -8360,8 +10660,6 @@
 	* gst-libs/gst/audio/gstaudioaggregator.c:
 	* gst-libs/gst/audio/gstaudioaggregator.h:
 	* gst/audiomixer/Makefile.am:
-	* gst/audiomixer/gstaudioaggregator.c:
-	* gst/audiomixer/gstaudioaggregator.h:
 	* gst/audiomixer/gstaudiointerleave.h:
 	* gst/audiomixer/gstaudiomixer.h:
 	* pkgconfig/gstreamer-bad-audio-uninstalled.pc.in:
@@ -8443,16 +10741,7 @@
 	* pkgconfig/gstreamer-dvm.pc.in:
 	* sys/androidcamera/Makefile.am:
 	* sys/androidcamera/com/gstreamer/GstAhcCallback.java:
-	* sys/androidcamera/gst-android-graphics-imageformat.c:
-	* sys/androidcamera/gst-android-graphics-imageformat.h:
-	* sys/androidcamera/gst-android-graphics-surfacetexture.c:
-	* sys/androidcamera/gst-android-graphics-surfacetexture.h:
-	* sys/androidcamera/gst-android-hardware-camera.c:
-	* sys/androidcamera/gst-android-hardware-camera.h:
-	* sys/androidcamera/gst-androidcamera.c:
 	* sys/androidcamera/gstahccallback.h:
-	* sys/androidcamera/gstahcsrc.c:
-	* sys/androidcamera/gstahcsrc.h:
 	* sys/androidmedia/gst-android-graphics-imageformat.c:
 	* sys/androidmedia/gst-android-graphics-imageformat.h:
 	* sys/androidmedia/gst-android-graphics-surfacetexture.c:
@@ -8506,8 +10795,6 @@
 2012-12-13 17:56:01 +0000  Sebastian Dröge <sebastian.droege@collabora.co.uk>
 
 	* gst-libs/gst/dvm/Makefile.am:
-	* gst-libs/gst/dvm/gst-dvm.c:
-	* gst-libs/gst/dvm/gst-dvm.h:
 	* gst-libs/gst/dvm/gstdvm.c:
 	* gst-libs/gst/dvm/gstdvm.h:
 	* sys/androidcamera/Makefile.am:
@@ -8590,8 +10877,6 @@
 	* sys/androidcamera/gst-android-graphics-surfacetexture.c:
 	* sys/androidcamera/gst-android-hardware-camera.c:
 	* sys/androidcamera/gst-androidcamera.c:
-	* sys/androidcamera/gst-dvm.c:
-	* sys/androidcamera/gst-dvm.h:
 	* sys/androidcamera/gstahcsrc.c:
 	  gst-dvm: Create a gst-dvm library using part of androidcamera
 
@@ -8868,7 +11153,6 @@
 
 	* sys/androidcamera/Makefile.am:
 	* sys/androidcamera/gst-androidcamera.c:
-	* sys/androidcamera/gst-androidmedia.c:
 	  Remove previous cruft and create androidcamera plugin
 
 2012-10-17 19:42:59 -0400  Youness Alaoui <youness.alaoui@collabora.co.uk>
@@ -11018,8 +13302,6 @@
 
 	* sys/applemedia/Makefile.am:
 	* sys/applemedia/avfvideosrc.m:
-	* sys/applemedia/corevideotexturecache.h:
-	* sys/applemedia/corevideotexturecache.m:
 	* sys/applemedia/videotexturecache.h:
 	* sys/applemedia/videotexturecache.m:
 	* sys/applemedia/vtdec.c:
@@ -11991,11 +14273,9 @@
 2015-11-01 13:21:45 +0000  Tim-Philipp Müller <tim@centricular.com>
 
 	* Makefile.am:
-	* docs/plugins/inspect/plugin-fragmented.xml:
 	* docs/plugins/inspect/plugin-hls.xml:
 	* ext/hls/Makefile.am:
 	* ext/hls/gstfragmented.h:
-	* ext/hls/gstfragmentedplugin.c:
 	* ext/hls/gsthls.h:
 	* ext/hls/gsthlsdemux.h:
 	* ext/hls/gsthlsplugin.c:
@@ -12945,7 +15225,6 @@
 2015-10-13 14:21:47 +0200  Branko Subasic <branko@axis.com>
 
 	* tests/check/Makefile.am:
-	* tests/check/elements/rtponvif.c:
 	* tests/check/elements/rtponvifparse.c:
 	* tests/check/elements/rtponviftimestamp.c:
 	  rtponvif: split unit tests in several files
@@ -14545,11 +16824,8 @@
 2015-10-14 15:30:05 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstopencvutils.c:
 	* ext/opencv/gstopencvutils.cpp:
-	* ext/opencv/gstopencvvideofilter.c:
 	* ext/opencv/gstopencvvideofilter.cpp:
-	* ext/opencv/gsttemplatematch.c:
 	* ext/opencv/gsttemplatematch.cpp:
 	  opencv: switch remaining to C++
 	  Switch remaining C files to C++ for consistency with other OpeCV elements,
@@ -14574,7 +16850,6 @@
 2015-10-14 14:34:32 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstmotioncells.c:
 	* ext/opencv/gstmotioncells.cpp:
 	* ext/opencv/gstmotioncells.h:
 	* ext/opencv/motioncells_wrapper.cpp:
@@ -14689,7 +16964,6 @@
 2015-10-11 23:44:25 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gsttextoverlay.c:
 	* ext/opencv/gsttextoverlay.cpp:
 	  textoverlay: Switch to C++
 	  Switch gsttextoverlay to C++ for consistency with other OpenCV elements,
@@ -14699,7 +16973,6 @@
 2015-10-11 21:54:30 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstpyramidsegment.c:
 	* ext/opencv/gstpyramidsegment.cpp:
 	  opencv: pyramidsegment: Switch to C++
 	  Switch gstpyramidsegment to C++ for consistency with other OpenCV elements,
@@ -14736,7 +17009,6 @@
 2015-10-10 17:52:23 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstcvsobel.c:
 	* ext/opencv/gstcvsobel.cpp:
 	  cvsobel: Switch to C++
 	  Switch gstcvlsobel to C++ for consistency with other OpenCV elements, and
@@ -14746,7 +17018,6 @@
 2015-10-10 17:00:55 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstcvlaplace.c:
 	* ext/opencv/gstcvlaplace.cpp:
 	  cvlaplace: Switch to C++
 	  Switch gstcvlaplace to C++ for consistency with other OpenCV elements, and
@@ -14756,7 +17027,6 @@
 2015-10-10 16:57:36 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstcvequalizehist.c:
 	* ext/opencv/gstcvequalizehist.cpp:
 	  cvequalizehist: Switch to C++
 	  Switch gstcvequalizehist to C++ for consistency with other OpenCV elements,
@@ -14766,9 +17036,7 @@
 2015-10-10 14:10:32 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstcvdilateerode.c:
 	* ext/opencv/gstcvdilateerode.cpp:
-	* ext/opencv/gstcverode.c:
 	* ext/opencv/gstcverode.cpp:
 	  cverode: Switch to C++
 	  Switch gstcverode to C++ for consistency with other OpenCV elements, and
@@ -14837,7 +17105,6 @@
 2015-10-02 19:02:26 +0100  Vanessa Chipirrás Navalón <vchipirras6@gmail.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstcvdilate.c:
 	* ext/opencv/gstcvdilate.cpp:
 	  cvdilate: Change gstcvdilate to C++
 	  Change the gstcvdilate.c file extension to cpp and add it into Makefile for
@@ -14848,7 +17115,6 @@
 2015-10-02 18:50:45 +0100  Vanessa Chipirrás Navalón <vchipirras6@gmail.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstskindetect.c:
 	* ext/opencv/gstskindetect.cpp:
 	  skindetect: Change gstskindetect to C++
 	  Change the file extension to cpp and add it into Makefile for consistency
@@ -14874,7 +17140,6 @@
 2015-10-02 18:10:32 +0100  Vanessa Chipirrás Navalón <vchipirras6@gmail.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstcvsmooth.c:
 	* ext/opencv/gstcvsmooth.cpp:
 	  cvsmooth: port to C++
 	  Change the file extension to cpp and add it into Makefile for consistency
@@ -14885,7 +17150,6 @@
 2015-10-02 17:48:47 +0100  Vanessa Chipirrás Navalón <vchipirras6@gmail.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstretinex.c:
 	* ext/opencv/gstretinex.cpp:
 	  retinex: Change retinex to C++
 	  Change the gstretinex.c file to cpp and add it into Makefile.
@@ -14929,7 +17193,6 @@
 2015-10-02 16:01:29 +0100  Luis de Bethencourt <luisbg@osg.samsung.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gsthanddetect.c:
 	* ext/opencv/gsthanddetect.cpp:
 	  handdetect: Change gsthanddetect to C++
 	  Change the gsthanddetect.c file to cpp and add it into Makefile.
@@ -16778,7 +19041,6 @@
 2015-08-28 13:42:29 +0200  Vanessa Chipirrás Navalón <vchipirras6@gmail.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstedgedetect.c:
 	* ext/opencv/gstedgedetect.cpp:
 	  edgedetect: Rename gstedgedetect.c to gstedgedetect.cpp for consistency.
 	  Change the file extension to cpp and add it into Makefile for consistency
@@ -16844,7 +19106,6 @@
 2015-08-26 11:57:24 +0200  Vanessa Chipirrás Navalón <vchipirras6@gmail.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstfaceblur.c:
 	* ext/opencv/gstfaceblur.cpp:
 	  faceblur: Change gstfaceblur to C++.
 	  Change the gstfaceblur.c file to cpp and add it into Makefile.
@@ -18378,10 +20639,8 @@
 2015-07-31 13:45:43 +0100  Vanessa Chipirrás <vchipirras6@gmail.com>
 
 	* ext/opencv/Makefile.am:
-	* ext/opencv/gstfacedetect.c:
 	* ext/opencv/gstfacedetect.cpp:
 	* ext/opencv/gstfacedetect.h:
-	* ext/opencv/gstopencv.c:
 	* ext/opencv/gstopencv.cpp:
 	  facedetect: need to migrate to C++
 	  The cascade classifier changes its structure on new version of OpenCV.
@@ -20551,7 +22810,6 @@
 	* tests/examples/codecparsers/parse-vp8.c:
 	* tests/icles/.gitignore:
 	* tests/icles/Makefile.am:
-	* tests/icles/vp8parser-test.c:
 	  examples: move vp8 parser test to codecparser example directory
 
 2015-06-21 11:20:57 +0100  Tim-Philipp Müller <tim@centricular.com>
@@ -31769,7 +34027,6 @@
 	* sys/decklink/osx/DeckLinkAPIConfiguration.h:
 	* sys/decklink/osx/DeckLinkAPIDeckControl.h:
 	* sys/decklink/osx/DeckLinkAPIDiscovery.h:
-	* sys/decklink/osx/DeckLinkAPIDispatch-osx.cpp:
 	* sys/decklink/osx/DeckLinkAPIDispatch.cpp:
 	* sys/decklink/osx/DeckLinkAPIModes.h:
 	* sys/decklink/osx/DeckLinkAPIStreaming.h:
@@ -35188,7 +37445,6 @@
 	* tests/examples/gl/qt/qglwtextureshare/qglwtextureshare.pro:
 	* tests/examples/gl/qt/videooverlay/Debug/videooverlay:
 	* tests/examples/gl/qt/videooverlay/videooverlay.pro:
-	* tests/examples/gl/qt/videooverlay/videovideooverlay.pro:
 	  examples: port GL/Qt examples to Qt5
 	  Update the GL Qt integration examples for Qt5 changes and for GstGL
 	  signal signature changes.
@@ -38165,9 +40421,6 @@
 	* ext/gl/gstglvideomixer.h:
 	* gst-libs/gst/gl/Makefile.am:
 	* gst-libs/gst/gl/gl.h:
-	* gst-libs/gst/gl/gstglmixer.c:
-	* gst-libs/gst/gl/gstglmixer.h:
-	* gst-libs/gst/gl/gstglmixerpad.h:
 	  gl: Move GstGLMixer to the plugin for now
 	  It depends on GstAggregator and we don't want to install headers
 	  for that yet.
@@ -39679,7 +41932,6 @@
 	* gst-libs/gst/gl/glprototypes/Makefile.am:
 	* gst-libs/gst/gl/glprototypes/gstgl_gles2compat.h:
 	* gst-libs/gst/gl/gstglapi.h:
-	* gst-libs/gst/gl/gstgles2.h:
 	  gl: move gles2 compat header to glprototypes
 
 2014-06-22 09:36:34 +1000  Matthew Waters <ystreet00@gmail.com>
@@ -43718,7 +45970,6 @@
 	* tests/examples/gl/cocoa/cocoa-videooverlay.m:
 	* tests/examples/gl/cocoa/videooverlay/.gitignore:
 	* tests/examples/gl/cocoa/videooverlay/Makefile.am:
-	* tests/examples/gl/cocoa/videooverlay/main.m:
 	  gl: rename cocoa example and move it to its parent directory
 
 2014-05-02 05:29:41 +0100  Julien Isorce <julien.isorce@gmail.com>
@@ -44062,9 +46313,6 @@
 
 	* configure.ac:
 	* tests/examples/Makefile.am:
-	* tests/examples/clutter/clutteractor.c:
-	* tests/examples/clutter/clutteractortee.c:
-	* tests/examples/clutter/cluttershare.c:
 	* tests/examples/gl/Makefile.am:
 	* tests/examples/gl/clutter/.gitignore:
 	* tests/examples/gl/clutter/Makefile.am:
@@ -44177,10 +46425,6 @@
 	* tests/examples/gl/sdl/sdl.sln:
 	* tests/examples/gl/sdl/sdlshare.c:
 	* tests/examples/gl/sdl/sdlshare.vcproj:
-	* tests/examples/gtk/fxtest/fxtest.c:
-	* tests/examples/gtk/fxtest/pixbufdrop.c:
-	* tests/examples/gtk/gstgtk.c:
-	* tests/examples/sdl/sdlshare.c:
 	  gl/examples: move to -bad
 	  - fix all the compiler errors
 	  - give them their own gl directory
@@ -44460,8 +46704,6 @@
 	* sys/applemedia/Makefile.am:
 	* sys/applemedia/avfassetsrc.h:
 	* sys/applemedia/avfassetsrc.m:
-	* sys/applemedia/iosavassetsrc.h:
-	* sys/applemedia/iosavassetsrc.m:
 	* sys/applemedia/plugin.m:
 	  iosavassetsrc: rename element to avfassetsrc
 	  https://bugzilla.gnome.org/show_bug.cgi?id=728249
@@ -46476,12 +48718,7 @@
 	* gst-libs/gst/gl/glprototypes/gles.h:
 	* gst-libs/gst/gl/glprototypes/gles1.h:
 	* gst-libs/gst/gl/glprototypes/gles1_functions.h:
-	* gst-libs/gst/gl/glprototypes/gles1gles2.h:
-	* gst-libs/gst/gl/glprototypes/gles1gles2opengl.h:
-	* gst-libs/gst/gl/glprototypes/gles1opengl.h:
-	* gst-libs/gst/gl/glprototypes/gles2.h:
 	* gst-libs/gst/gl/glprototypes/gles2_functions.h:
-	* gst-libs/gst/gl/glprototypes/gles2opengl.h:
 	* gst-libs/gst/gl/glprototypes/gles3opengl.h:
 	* gst-libs/gst/gl/glprototypes/opengl.h:
 	* gst-libs/gst/gl/glprototypes/opengl_functions.h:
@@ -46809,65 +49046,6 @@
 	* ext/gl/gstglvideomixer.c:
 	* ext/gl/gstglvideomixer.h:
 	* ext/gl/gstopengl.c:
-	* gst/gl/BUGS:
-	* gst/gl/Makefile.am:
-	* gst/gl/effects/gstgleffectbulge.c:
-	* gst/gl/effects/gstgleffectfisheye.c:
-	* gst/gl/effects/gstgleffectglow.c:
-	* gst/gl/effects/gstgleffectidentity.c:
-	* gst/gl/effects/gstgleffectlumatocurve.c:
-	* gst/gl/effects/gstgleffectlumatocurve.h:
-	* gst/gl/effects/gstgleffectmirror.c:
-	* gst/gl/effects/gstgleffectrgbtocurve.c:
-	* gst/gl/effects/gstgleffectscurves.h:
-	* gst/gl/effects/gstgleffectsin.c:
-	* gst/gl/effects/gstgleffectsquare.c:
-	* gst/gl/effects/gstgleffectsqueeze.c:
-	* gst/gl/effects/gstgleffectssources.c:
-	* gst/gl/effects/gstgleffectssources.h:
-	* gst/gl/effects/gstgleffectstretch.c:
-	* gst/gl/effects/gstgleffecttunnel.c:
-	* gst/gl/effects/gstgleffecttwirl.c:
-	* gst/gl/effects/gstgleffectxray.c:
-	* gst/gl/gltestsrc.c:
-	* gst/gl/gltestsrc.h:
-	* gst/gl/gstglbumper.c:
-	* gst/gl/gstglbumper.h:
-	* gst/gl/gstglcolorscale.c:
-	* gst/gl/gstglcolorscale.h:
-	* gst/gl/gstgldeinterlace.c:
-	* gst/gl/gstgldeinterlace.h:
-	* gst/gl/gstgldifferencematte.c:
-	* gst/gl/gstgldifferencematte.h:
-	* gst/gl/gstgleffects.c:
-	* gst/gl/gstgleffects.h:
-	* gst/gl/gstglfilterapp.c:
-	* gst/gl/gstglfilterapp.h:
-	* gst/gl/gstglfilterblur.c:
-	* gst/gl/gstglfilterblur.h:
-	* gst/gl/gstglfiltercube.c:
-	* gst/gl/gstglfiltercube.h:
-	* gst/gl/gstglfilterglass.c:
-	* gst/gl/gstglfilterglass.h:
-	* gst/gl/gstglfilterlaplacian.c:
-	* gst/gl/gstglfilterlaplacian.h:
-	* gst/gl/gstglfilterreflectedscreen.c:
-	* gst/gl/gstglfilterreflectedscreen.h:
-	* gst/gl/gstglfiltershader.c:
-	* gst/gl/gstglfiltershader.h:
-	* gst/gl/gstglfiltersobel.c:
-	* gst/gl/gstglfiltersobel.h:
-	* gst/gl/gstglimagesink.c:
-	* gst/gl/gstglimagesink.h:
-	* gst/gl/gstglmosaic.c:
-	* gst/gl/gstglmosaic.h:
-	* gst/gl/gstgloverlay.c:
-	* gst/gl/gstgloverlay.h:
-	* gst/gl/gstgltestsrc.c:
-	* gst/gl/gstgltestsrc.h:
-	* gst/gl/gstglvideomixer.c:
-	* gst/gl/gstglvideomixer.h:
-	* gst/gl/gstopengl.c:
 	  move gl elements to ext subdirectory
 
 2014-03-15 15:55:46 +0100  Matthew Waters <ystreet00@gmail.com>
@@ -47793,8 +49971,6 @@
 	* gst-libs/gst/gl/egl/gstglcontext_egl.c:
 	* gst-libs/gst/gl/egl/gstglcontext_egl.h:
 	* gst-libs/gst/gl/gstglcontext.c:
-	* gst-libs/gst/gl/gstglegl.c:
-	* gst-libs/gst/gl/gstglegl.h:
 	* gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h:
 	  [796/906] move egl into its own directory
 
@@ -49368,21 +51544,7 @@
 	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.h:
 	* gst-libs/gst/gl/cocoa/gstglwindow_cocoa.m:
 	* gst-libs/gst/gl/gstglwindow.c:
-	* gst-libs/gst/gl/gstglwindow_cocoa.h:
-	* gst-libs/gst/gl/gstglwindow_cocoa.m:
-	* gst-libs/gst/gl/gstglwindow_win32.c:
-	* gst-libs/gst/gl/gstglwindow_win32.h:
-	* gst-libs/gst/gl/gstglwindow_win32_egl.c:
-	* gst-libs/gst/gl/gstglwindow_win32_egl.h:
-	* gst-libs/gst/gl/gstglwindow_win32_wgl.c:
-	* gst-libs/gst/gl/gstglwindow_win32_wgl.h:
 	* gst-libs/gst/gl/gstglwindow_winCE.c:
-	* gst-libs/gst/gl/gstglwindow_x11.c:
-	* gst-libs/gst/gl/gstglwindow_x11.h:
-	* gst-libs/gst/gl/gstglwindow_x11_egl.c:
-	* gst-libs/gst/gl/gstglwindow_x11_egl.h:
-	* gst-libs/gst/gl/gstglwindow_x11_glx.c:
-	* gst-libs/gst/gl/gstglwindow_x11_glx.h:
 	* gst-libs/gst/gl/win32/Makefile.am:
 	* gst-libs/gst/gl/win32/gstglwindow_win32.c:
 	* gst-libs/gst/gl/win32/gstglwindow_win32.h:
@@ -51957,11 +54119,8 @@
 
 2009-02-26 17:45:21 -0500  Julien Isorce <julien.isorce@gmail.com>
 
-	* gst-libs/gst/gl/GNUmakefile:
 	* gst-libs/gst/gl/GNUmakefile.gnustep:
-	* gst/gl/GNUmakefile:
 	* gst/gl/GNUmakefile.gnustep:
-	* gst/gl/effects/GNUmakefile:
 	* gst/gl/effects/GNUmakefile.gnustep:
 	  [318/906] rename GNUmakefile(s) to GNUmakefile(s).gnustep
 
@@ -52088,7 +54247,6 @@
 	* gst/gl/CMakeLists.txt:
 	* gst/gl/Makefile.am:
 	* gst/gl/gstgloverlay.c:
-	* gst/gl/gstglpixbufoverlay.c:
 	* gst/gl/gstopengl.c:
 	* tests/examples/gtk/fxtest/pixbufdrop.c:
 	  [308/906] Rename glpixbufoverlay to gloverlay
@@ -53137,7 +55295,6 @@
 
 	* gst/gl/Makefile.am:
 	* gst/gl/effects/gstgleffectglow.c:
-	* gst/gl/effects/gstgleffects.h:
 	* gst/gl/effects/gstgleffectssources.c:
 	* gst/gl/effects/gstgleffectssources.h:
 	* gst/gl/gstgleffects.c:
@@ -53589,12 +55746,8 @@
 	* gst/gl/Makefile.am:
 	* gst/gl/gstgldownload.c:
 	* gst/gl/gstgldownload.h:
-	* gst/gl/gstglgraphicmaker.c:
-	* gst/gl/gstglgraphicmaker.h:
 	* gst/gl/gstglupload.c:
 	* gst/gl/gstglupload.h:
-	* gst/gl/gstglvideomaker.c:
-	* gst/gl/gstglvideomaker.h:
 	* gst/gl/gstopengl.c:
 	  [103/906] rename glgraphicmaker -> glupload and glvideomaker -> gldownload
 
@@ -53631,8 +55784,6 @@
 2008-06-11 23:31:53 +0000  Julien Isorce <julien.isorce@gmail.com>
 
 	* gst-libs/gst/gl/Makefile.am:
-	* gst-libs/gst/gl/gltestsrc.c:
-	* gst-libs/gst/gl/gltestsrc.h:
 	* gst/gl/Makefile.am:
 	* gst/gl/gltestsrc.c:
 	* gst/gl/gltestsrc.h:
@@ -53669,8 +55820,6 @@
 	* gst-libs/gst/gl/gstglfilter.c:
 	* gst-libs/gst/gl/gstglfilter.h:
 	* gst/gl/Makefile.am:
-	* gst/gl/gstglfilter.c:
-	* gst/gl/gstglfilter.h:
 	* gst/gl/gstgltestsrc.c:
 	* gst/gl/gstgltestsrc.h:
 	* gst/gl/gstopengl.c:
@@ -53884,7 +56033,6 @@
 2008-05-18 16:04:56 +0000  Julien Isorce <julien.isorce@gmail.com>
 
 	* gst/gl/Makefile.am:
-	* gst/gl/gstgl.c:
 	* gst/gl/gstopengl.c:
 	  [064/906] up
 
@@ -53967,8 +56115,6 @@
 	* gst-libs/gst/gl/gstglfilter.c:
 	* gst-libs/gst/gl/gstglfilter.h:
 	* gst/gl/glimagesink.c:
-	* gst/gl/gstglfilter.c:
-	* gst/gl/gstglfilter.h:
 	* gst/gl/gstopengl.c:
 	  [056/906] * configure.ac: Readd pre-pkgconfig OpenGL detection, since pkgconfig requires Mesa from git master. * gst/gl/glimagesink.c: * gst/gl/gstopengl.c: Move debug category initialization to element. * gst-libs/gst/gl/Makefile.am: * gst-libs/gst/gl/gstglfilter.c: * gst-libs/gst/gl/gstglfilter.h: * gst/gl/gstglfilter.c: * gst/gl/gstglfilter.h: Move glfilter to library. * pkgconfig/gstreamer-plugins-gl.pc.in: Add gstreamer-base-0.10 as a requirement. * po/en.po: Update.
 
@@ -54098,8 +56244,6 @@
 	* gst-libs/gst/gl/gstgldisplay.h:
 	* gst/gl/Makefile.am:
 	* gst/gl/glimagesink.h:
-	* gst/gl/glvideo.c:
-	* gst/gl/glvideo.h:
 	  [043/906] * sys/glsink/Makefile.am: * sys/glsink/glimagesink.h: * sys/glsink/glvideo.c: * sys/glsink/glvideo.h: * sys/glsink/gstglbuffer.c: * sys/glsink/gstglbuffer.h: * sys/glsink/gstgldisplay.c: * sys/glsink/gstgldisplay.h: Rename glvideo.[ch] to gstgldisplay.[ch].
 
 2007-12-24 20:53:55 +0000  David Schleef <ds@schleef.org>
@@ -62521,18 +64665,8 @@
 	* sys/applemedia-nonpublic/mtapi.h:
 	* sys/applemedia-nonpublic/plugin.m:
 	* sys/applemedia/Makefile.am:
-	* sys/applemedia/celapi.c:
-	* sys/applemedia/celapi.h:
-	* sys/applemedia/celvideosrc.c:
-	* sys/applemedia/celvideosrc.h:
 	* sys/applemedia/coremediactx.c:
 	* sys/applemedia/coremediactx.h:
-	* sys/applemedia/mioapi.c:
-	* sys/applemedia/mioapi.h:
-	* sys/applemedia/miovideodevice.c:
-	* sys/applemedia/miovideodevice.h:
-	* sys/applemedia/miovideosrc.c:
-	* sys/applemedia/miovideosrc.h:
 	* sys/applemedia/plugin.m:
 	  applemedia: move plugins using private frameworks to applemedia-nonpublic
 
@@ -62953,10 +65087,6 @@
 	* gst/videosignal/gstsimplevideomark.h:
 	* gst/videosignal/gstsimplevideomarkdetect.c:
 	* gst/videosignal/gstsimplevideomarkdetect.h:
-	* gst/videosignal/gstvideodetect.c:
-	* gst/videosignal/gstvideodetect.h:
-	* gst/videosignal/gstvideomark.c:
-	* gst/videosignal/gstvideomark.h:
 	* gst/videosignal/gstvideosignal.c:
 	  videomark/detect: rename to simplevideomark[detect]
 
@@ -63996,7 +66126,6 @@
 2012-09-28 12:55:27 +0200  David Corvoysier <david.corvoysier@orange.com>
 
 	* ext/dash/COPYING:
-	* ext/dash/LICENSE:
 	* ext/dash/gstdashdemux.c:
 	* ext/dash/gstdashdemux.h:
 	  Renamed LICENSE into COPYING
@@ -65640,18 +67769,9 @@
 	* sys/vdpau/gstvdp/gstvdpbuffer.h:
 	* sys/vdpau/gstvdp/gstvdpbufferpool.c:
 	* sys/vdpau/gstvdp/gstvdpbufferpool.h:
-	* sys/vdpau/gstvdp/gstvdpdecoder.c:
-	* sys/vdpau/gstvdp/gstvdpdecoder.h:
-	* sys/vdpau/gstvdp/gstvdpdevice.c:
-	* sys/vdpau/gstvdp/gstvdpdevice.h:
-	* sys/vdpau/gstvdp/gstvdpoutputbuffer.c:
-	* sys/vdpau/gstvdp/gstvdpoutputbuffer.h:
-	* sys/vdpau/gstvdp/gstvdpoutputbufferpool.c:
-	* sys/vdpau/gstvdp/gstvdpoutputbufferpool.h:
 	* sys/vdpau/gstvdp/gstvdpoutputsrcpad.c:
 	* sys/vdpau/gstvdp/gstvdpoutputsrcpad.h:
 	* sys/vdpau/gstvdp/gstvdputils.c:
-	* sys/vdpau/gstvdp/gstvdputils.h:
 	* sys/vdpau/gstvdp/gstvdpvideobuffer.c:
 	* sys/vdpau/gstvdp/gstvdpvideobuffer.h:
 	* sys/vdpau/gstvdp/gstvdpvideobufferpool.c:
@@ -66497,8 +68617,6 @@
 	* ext/fluidsynth/Makefile.am:
 	* ext/fluidsynth/gstfluiddec.c:
 	* ext/fluidsynth/gstfluiddec.h:
-	* ext/fluidsynth/gstfluidsynth.c:
-	* ext/fluidsynth/gstfluidsynth.h:
 	  fluidsynth: rename to fluiddec
 	  Rename the fluidsynth plugin to fluidsynthmidi and the decoder
 	  to fluiddec to avoid conflicts with buzztard.
@@ -66784,21 +68902,6 @@
 	* ext/hls/gsturidownloader.h:
 	* ext/hls/m3u8.c:
 	* ext/hls/m3u8.h:
-	* gst/hls/Makefile.am:
-	* gst/hls/gstfragment.c:
-	* gst/hls/gstfragment.h:
-	* gst/hls/gstfragmented.h:
-	* gst/hls/gstfragmentedplugin.c:
-	* gst/hls/gsthlsdemux.c:
-	* gst/hls/gsthlsdemux.h:
-	* gst/hls/gsthlssink.c:
-	* gst/hls/gsthlssink.h:
-	* gst/hls/gstm3u8playlist.c:
-	* gst/hls/gstm3u8playlist.h:
-	* gst/hls/gsturidownloader.c:
-	* gst/hls/gsturidownloader.h:
-	* gst/hls/m3u8.c:
-	* gst/hls/m3u8.h:
 	  Make the hls plugin depend on gnutls and move to ext/hls/
 	  gnutls is used to implement AES decryption
 
@@ -68413,8 +70516,6 @@
 	* ext/spandsp/gstspandsp.c:
 	* gst/dtmf/Makefile.am:
 	* gst/dtmf/gstdtmf.c:
-	* gst/dtmf/gstdtmfdetect.c:
-	* gst/dtmf/gstdtmfdetect.h:
 	* gst/dtmf/tone_detect.c:
 	* gst/dtmf/tone_detect.h:
 	  dtmf/spandsp: Move dtmfdetect to use libspandsp
@@ -73081,8 +75182,6 @@
 	* ext/eglgles/Makefile.am:
 	* ext/eglgles/gsteglglessink.c:
 	* ext/eglgles/gsteglglessink.h:
-	* ext/eglgles/gstvidroidsink.c:
-	* ext/eglgles/gstvidroidsink.h:
 	  eglglessink: Move eglgles Sink to ext/ #2
 
 2012-09-10 20:00:57 -0300  Reynaldo H. Verdejo Pinochet <reynaldo@collabora.com>
@@ -75067,7 +77166,6 @@
 	* docs/plugins/inspect/plugin-modplug.xml:
 	* docs/plugins/inspect/plugin-mpeg2enc.xml:
 	* docs/plugins/inspect/plugin-mpeg4videoparse.xml:
-	* docs/plugins/inspect/plugin-mpegdemux2.xml:
 	* docs/plugins/inspect/plugin-mpegpsdemux.xml:
 	* docs/plugins/inspect/plugin-mpegpsmux.xml:
 	* docs/plugins/inspect/plugin-mpegtsdemux.xml:
@@ -79270,7 +81368,6 @@
 	* gst/audiovisualizers/Makefile.am:
 	* gst/audiovisualizers/gstaudiovisualizer.c:
 	* gst/audiovisualizers/gstaudiovisualizer.h:
-	* gst/audiovisualizers/gstbaseaudiovisualizer.c:
 	* gst/audiovisualizers/gstbaseaudiovisualizer.h:
 	* gst/audiovisualizers/gstspacescope.c:
 	* gst/audiovisualizers/gstspacescope.h:
@@ -79866,7 +81963,6 @@
 2012-06-16 16:49:10 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
 
 	* gst/mpegdemux/Makefile.am:
-	* gst/mpegdemux/flumpegdemux.c:
 	* gst/mpegdemux/gstmpegdemux.c:
 	* gst/mpegdemux/gstmpegdemux.h:
 	* gst/mpegdemux/gstpesfilter.c:
@@ -79994,11 +82090,6 @@
 	* ext/jasper/gstjasperenc.c:
 	* ext/jasper/gstjasperenc.h:
 	* ext/jp2k/Makefile.am:
-	* ext/jp2k/gstjasperdec.c:
-	* ext/jp2k/gstjasperdec.h:
-	* ext/jp2k/gstjasperenc.c:
-	* ext/jp2k/gstjasperenc.h:
-	* ext/jp2k/gstjp2k.c:
 	  jasper: Rename from jp2k to jasper
 	  Jasper is not the only JPEG2000 library out there and we
 	  might want to add encoders/decoders based on OpenJPEG for example.
@@ -80970,8 +83061,6 @@
 	* sys/d3dvideosink/Makefile.am:
 	* sys/d3dvideosink/d3dvideosink.c:
 	* sys/d3dvideosink/d3dvideosink.h:
-	* sys/d3dvideosink/directx/d3d.c:
-	* sys/d3dvideosink/directx/d3d.h:
 	* sys/d3dvideosink/directx/directx.h:
 	* sys/d3dvideosink/directx/directx10/dx10_d3d.h:
 	* sys/d3dvideosink/directx/directx11/dx11_d3d.h:
@@ -81454,7 +83543,6 @@
 	* ext/curl/gstcurlbasesink.h:
 	* ext/curl/gstcurlhttpsink.c:
 	* ext/curl/gstcurlhttpsink.h:
-	* ext/curl/gstcurlsink.c:
 	* ext/curl/gstcurlsink.h:
 	* ext/curl/gstcurltlssink.c:
 	* ext/curl/gstcurltlssink.h:
@@ -87908,10 +89996,6 @@
 
 	* configure.ac:
 	* gst/mpeg4videoparse/Makefile.am:
-	* gst/mpeg4videoparse/mpeg4parse.c:
-	* gst/mpeg4videoparse/mpeg4parse.h:
-	* gst/mpeg4videoparse/mpeg4videoparse.c:
-	* gst/mpeg4videoparse/mpeg4videoparse.h:
 	* gst/videoparsers/Makefile.am:
 	* gst/videoparsers/gstmpeg4videoparse.c:
 	* gst/videoparsers/gstmpeg4videoparse.h:
@@ -89870,7 +91954,6 @@
 2011-11-04 11:24:53 +0100  Wim Taymans <wim.taymans@collabora.co.uk>
 
 	* gst-libs/gst/video/Makefile.am:
-	* gst-libs/gst/video/gstsurfacebuffer.c:
 	* gst-libs/gst/video/gstsurfacebuffer.h:
 	* gst-libs/gst/video/gstsurfaceconverter.c:
 	* gst-libs/gst/video/gstsurfaceconverter.h:
@@ -92196,9 +94279,6 @@
 
 2011-07-07 16:44:31 -0400  Joshua M. Doe <oss@nvl.army.mil>
 
-	* sys/decklink/DeckLinkAPI.h:
-	* sys/decklink/DeckLinkAPIDispatch.cpp:
-	* sys/decklink/LinuxCOM.h:
 	* sys/decklink/capture.cpp:
 	* sys/decklink/capture.h:
 	* sys/decklink/gstdecklink.h:
@@ -93851,7 +95931,6 @@
 	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
 	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
 	* docs/plugins/inspect/plugin-rtmp.xml:
-	* docs/plugins/inspect/plugin-rtmpsrc.xml:
 	* ext/rtmp/Makefile.am:
 	* ext/rtmp/gstrtmp.c:
 	* ext/rtmp/gstrtmpsink.c:
@@ -94133,8 +96212,6 @@
 	* gst/audiovisualizers/Makefile.am:
 	* gst/audiovisualizers/gstbaseaudiovisualizer.c:
 	* gst/audiovisualizers/gstbaseaudiovisualizer.h:
-	* gst/audiovisualizers/gstbasescope.c:
-	* gst/audiovisualizers/gstbasescope.h:
 	* gst/audiovisualizers/gstspectrascope.c:
 	* gst/audiovisualizers/gstspectrascope.h:
 	* gst/audiovisualizers/gstsynaescope.c:
@@ -94156,16 +96233,6 @@
 	* gst/audiovisualizers/gstwavescope.c:
 	* gst/audiovisualizers/gstwavescope.h:
 	* gst/audiovisualizers/plugin.c:
-	* gst/scopes/Makefile.am:
-	* gst/scopes/gstbasescope.c:
-	* gst/scopes/gstbasescope.h:
-	* gst/scopes/gstspectrascope.c:
-	* gst/scopes/gstspectrascope.h:
-	* gst/scopes/gstsynaescope.c:
-	* gst/scopes/gstsynaescope.h:
-	* gst/scopes/gstwavescope.c:
-	* gst/scopes/gstwavescope.h:
-	* gst/scopes/plugin.c:
 	  audiovisualizers: rename scopes plugin to audiovisualizers
 
 2011-05-31 14:42:55 +0300  Stefan Kost <ensonic@users.sf.net>
@@ -95823,12 +97890,8 @@
 	* docs/plugins/gst-plugins-bad-plugins-sections.txt:
 	* docs/plugins/inspect/plugin-amrwbenc.xml:
 	* ext/Makefile.am:
-	* ext/amrwbenc/GstAmrwbEnc.prs:
 	* ext/amrwbenc/Makefile.am:
 	* ext/amrwbenc/README:
-	* ext/amrwbenc/gstamrwb.c:
-	* ext/amrwbenc/gstamrwbenc.c:
-	* ext/amrwbenc/gstamrwbenc.h:
 	* ext/voamrwbenc/GstVoAmrwbEnc.prs:
 	* ext/voamrwbenc/Makefile.am:
 	* ext/voamrwbenc/gstvoamrwb.c:
@@ -96983,7 +99046,6 @@
 	* gst/dtmf/Makefile.am:
 	* gst/dtmf/gstdtmfcommon.h:
 	* gst/dtmf/gstdtmfsrc.c:
-	* gst/dtmf/gstrtpdtmfcommon.h:
 	* gst/dtmf/gstrtpdtmfdepay.c:
 	* gst/dtmf/gstrtpdtmfdepay.h:
 	* gst/dtmf/gstrtpdtmfsrc.c:
@@ -97636,8 +99698,6 @@
 	* ext/opencv/gstopencv.c:
 	* ext/opencv/gsttextoverlay.c:
 	* ext/opencv/gsttextoverlay.h:
-	* ext/opencv/gsttextwrite.c:
-	* ext/opencv/gsttextwrite.h:
 	  opencv text overlay: rename and docuemnt
 	  Rename the element textwrite to opencvtextoverlay. Add proper structuring to
 	  opencv textoverlay element.
@@ -99043,8 +101103,6 @@
 	* gst/audioparsers/gstaacparse.h:
 	* gst/audioparsers/gstac3parse.h:
 	* gst/audioparsers/gstamrparse.h:
-	* gst/audioparsers/gstbaseparse.c:
-	* gst/audioparsers/gstbaseparse.h:
 	* gst/audioparsers/gstdcaparse.h:
 	* gst/audioparsers/gstflacparse.h:
 	* gst/audioparsers/gstmpegaudioparse.h:
@@ -99467,13 +101525,6 @@
 2011-01-27 18:16:14 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
 
 	* configure.ac:
-	* gst/h263parse/Makefile.am:
-	* gst/h263parse/gstbaseparse.c:
-	* gst/h263parse/gstbaseparse.h:
-	* gst/h263parse/gsth263parse.c:
-	* gst/h263parse/gsth263parse.h:
-	* gst/h263parse/h263parse.c:
-	* gst/h263parse/h263parse.h:
 	* gst/videoparsers/Makefile.am:
 	* gst/videoparsers/gstbaseparse.c:
 	* gst/videoparsers/gstbaseparse.h:
@@ -101346,8 +103397,6 @@
 	* gst/camerabin2/Makefile.am:
 	* gst/camerabin2/gstcamerabin2.c:
 	* gst/camerabin2/gstplugin.c:
-	* gst/camerabin2/gstv4l2camerasrc.c:
-	* gst/camerabin2/gstv4l2camerasrc.h:
 	* gst/camerabin2/gstwrappercamerabinsrc.c:
 	* gst/camerabin2/gstwrappercamerabinsrc.h:
 	* tests/check/elements/camerabin2.c:
@@ -101408,10 +103457,6 @@
 	* gst-libs/gst/basecamerabinsrc/gstcamerabin-enum.c:
 	* gst-libs/gst/basecamerabinsrc/gstcamerabin-enum.h:
 	* gst/camerabin2/Makefile.am:
-	* gst/camerabin2/gstbasecamerasrc.c:
-	* gst/camerabin2/gstbasecamerasrc.h:
-	* gst/camerabin2/gstcamerabin-enum.c:
-	* gst/camerabin2/gstcamerabin-enum.h:
 	* gst/camerabin2/gstcamerabin2.c:
 	* gst/camerabin2/gstv4l2camerasrc.c:
 	* gst/camerabin2/gstv4l2camerasrc.h:
@@ -101677,7 +103722,6 @@
 	* Makefile.am:
 	* tests/check/Makefile.am:
 	* tests/check/elements/.gitignore:
-	* tests/check/elements/autocolorspace.c:
 	* tests/check/elements/autovideoconvert.c:
 	  autovideoconvert: Rename and adjust unit test too
 
@@ -101730,8 +103774,6 @@
 2010-12-16 09:56:00 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
 
 	* gst/autoconvert/Makefile.am:
-	* gst/autoconvert/gstautocolorspace.c:
-	* gst/autoconvert/gstautocolorspace.h:
 	* gst/autoconvert/gstautovideoconvert.c:
 	* gst/autoconvert/gstautovideoconvert.h:
 	* gst/autoconvert/plugin.c:
@@ -101741,8 +103783,6 @@
 2010-12-15 12:45:38 -0800  David Schleef <ds@schleef.org>
 
 	* tools/Makefile.am:
-	* tools/base.c:
-	* tools/element-maker:
 	* tools/element-templates/audiofilter:
 	* tools/element-templates/audiosink:
 	* tools/element-templates/audiosrc:
@@ -101764,27 +103804,7 @@
 	* tools/element-templates/srcpad-simple:
 	* tools/element-templates/tagdemux:
 	* tools/element-templates/videosink:
-	* tools/gobject.c:
 	* tools/gst-element-maker:
-	* tools/gstaudiofilter.c:
-	* tools/gstaudiosink.c:
-	* tools/gstaudiosrc.c:
-	* tools/gstbaseaudiosink.c:
-	* tools/gstbaseaudiosrc.c:
-	* tools/gstbasertpdepayload.c:
-	* tools/gstbasertppayload.c:
-	* tools/gstbasesink.c:
-	* tools/gstbasesrc.c:
-	* tools/gstbasetransform.c:
-	* tools/gstcddabasesrc.c:
-	* tools/gstelement.c:
-	* tools/gstpushsrc.c:
-	* tools/gsttagdemux.c:
-	* tools/gstvideosink.c:
-	* tools/sinkpad-simple.c:
-	* tools/sinkpad.c:
-	* tools/srcpad-simple.c:
-	* tools/srcpad.c:
 	  element-maker: Clean up directory
 
 2010-12-15 21:28:06 +0100  Benjamin Gaignard <benjamin.gaignard@stericsson.com>
@@ -103863,8 +105883,6 @@
 	* sys/applemedia/Makefile.am:
 	* sys/applemedia/celvideosrc.c:
 	* sys/applemedia/celvideosrc.h:
-	* sys/applemedia/iphonecamerasrc.c:
-	* sys/applemedia/iphonecamerasrc.h:
 	* sys/applemedia/plugin.m:
 	  applemedia: rename iphonecamerasrc to celvideosrc
 	  This is in order to improve consistency with the other three sources.
@@ -106156,29 +108174,9 @@
 
 	* ext/opencv/Makefile.am:
 	* ext/opencv/basicfilters/Makefile.am:
-	* ext/opencv/basicfilters/gstcvdilate.c:
-	* ext/opencv/basicfilters/gstcvdilate.h:
-	* ext/opencv/basicfilters/gstcvdilateerode.c:
-	* ext/opencv/basicfilters/gstcvdilateerode.h:
-	* ext/opencv/basicfilters/gstcvequalizehist.c:
-	* ext/opencv/basicfilters/gstcvequalizehist.h:
-	* ext/opencv/basicfilters/gstcverode.c:
-	* ext/opencv/basicfilters/gstcverode.h:
-	* ext/opencv/basicfilters/gstcvlaplace.c:
-	* ext/opencv/basicfilters/gstcvlaplace.h:
-	* ext/opencv/basicfilters/gstcvsmooth.c:
-	* ext/opencv/basicfilters/gstcvsmooth.h:
-	* ext/opencv/basicfilters/gstcvsobel.c:
-	* ext/opencv/basicfilters/gstcvsobel.h:
 	* ext/opencv/edgedetect/Makefile.am:
-	* ext/opencv/edgedetect/gstedgedetect.c:
-	* ext/opencv/edgedetect/gstedgedetect.h:
 	* ext/opencv/faceblur/Makefile.am:
-	* ext/opencv/faceblur/gstfaceblur.c:
-	* ext/opencv/faceblur/gstfaceblur.h:
 	* ext/opencv/facedetect/Makefile.am:
-	* ext/opencv/facedetect/gstfacedetect.c:
-	* ext/opencv/facedetect/gstfacedetect.h:
 	* ext/opencv/gstcvdilate.c:
 	* ext/opencv/gstcvdilate.h:
 	* ext/opencv/gstcvdilateerode.c:
@@ -106207,14 +108205,8 @@
 	* ext/opencv/gsttextwrite.c:
 	* ext/opencv/gsttextwrite.h:
 	* ext/opencv/pyramidsegment/Makefile.am:
-	* ext/opencv/pyramidsegment/gstpyramidsegment.c:
-	* ext/opencv/pyramidsegment/gstpyramidsegment.h:
 	* ext/opencv/templatematch/Makefile.am:
-	* ext/opencv/templatematch/gsttemplatematch.c:
-	* ext/opencv/templatematch/gsttemplatematch.h:
 	* ext/opencv/textwrite/Makefile.am:
-	* ext/opencv/textwrite/gsttextwrite.c:
-	* ext/opencv/textwrite/gsttextwrite.h:
 	  opencv: Refactor files structure
 	  Remove internal folders and put all code inside the main plugin
 	  folder. Also fixes some building warnings.
@@ -106276,8 +108268,6 @@
 	* ext/opencv/basicfilters/gstcvsmooth.h:
 	* ext/opencv/basicfilters/gstcvsobel.c:
 	* ext/opencv/basicfilters/gstcvsobel.h:
-	* ext/opencv/gstopencvbasetrans.c:
-	* ext/opencv/gstopencvbasetrans.h:
 	* ext/opencv/gstopencvvideofilter.c:
 	* ext/opencv/gstopencvvideofilter.h:
 	  opencvbasetrans: Use GstVideoFilter as the base class
@@ -109049,8 +111039,6 @@
 	* sys/vdpau/h264/gsth264frame.c:
 	* sys/vdpau/h264/gsth264frame.h:
 	* sys/vdpau/h264/gstvdph264dec.c:
-	* sys/vdpau/h264/gstvdph264frame.c:
-	* sys/vdpau/h264/gstvdph264frame.h:
 	  vdpauh264dec: rename GstVdpH264Frame to GstH264Frame
 
 2010-06-27 00:36:25 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
@@ -109244,10 +111232,7 @@
 	* sys/vdpau/basevideodecoder/gstbasevideoutils.h:
 	* sys/vdpau/basevideodecoder/gstvideoframe.c:
 	* sys/vdpau/basevideodecoder/gstvideoframe.h:
-	* sys/vdpau/basevideodecoder/satbasevideodecoder.c:
 	* sys/vdpau/basevideodecoder/satbasevideodecoder.h:
-	* sys/vdpau/basevideodecoder/satbasevideoutils.h:
-	* sys/vdpau/basevideodecoder/satvideoframe.c:
 	* sys/vdpau/basevideodecoder/satvideoframe.h:
 	* sys/vdpau/h264/gsth264dpb.c:
 	* sys/vdpau/h264/gstvdph264dec.c:
@@ -109271,10 +111256,7 @@
 
 	* sys/vdpau/Makefile.am:
 	* sys/vdpau/basevideodecoder/Makefile.am:
-	* sys/vdpau/basevideodecoder/gstbasevideodecoder.c:
 	* sys/vdpau/basevideodecoder/gstbasevideodecoder.h:
-	* sys/vdpau/basevideodecoder/gstbasevideoutils.h:
-	* sys/vdpau/basevideodecoder/gstvideoframe.c:
 	* sys/vdpau/basevideodecoder/gstvideoframe.h:
 	* sys/vdpau/basevideodecoder/satbasevideodecoder.c:
 	* sys/vdpau/basevideodecoder/satbasevideodecoder.h:
@@ -109400,8 +111382,6 @@
 	* sys/vdpau/basevideodecoder/gstbasevideoutils.h:
 	* sys/vdpau/basevideodecoder/gstvideoframe.c:
 	* sys/vdpau/basevideodecoder/gstvideoframe.h:
-	* sys/vdpau/gstvdp.c:
-	* sys/vdpau/gstvdp.h:
 	* sys/vdpau/gstvdp/Makefile.am:
 	* sys/vdpau/gstvdp/gstvdp.c:
 	* sys/vdpau/gstvdp/gstvdp.h:
@@ -109418,32 +111398,17 @@
 	* sys/vdpau/gstvdp/gstvdpvideosrcpad.c:
 	* sys/vdpau/gstvdp/gstvdpvideosrcpad.h:
 	* sys/vdpau/gstvdpau.c:
-	* sys/vdpau/gstvdpdevice.c:
-	* sys/vdpau/gstvdpdevice.h:
 	* sys/vdpau/gstvdpmpegdec.c:
-	* sys/vdpau/gstvdpmpegdec.h:
-	* sys/vdpau/gstvdpoutputbuffer.c:
-	* sys/vdpau/gstvdpoutputbuffer.h:
-	* sys/vdpau/gstvdpoutputsrcpad.c:
-	* sys/vdpau/gstvdpoutputsrcpad.h:
 	* sys/vdpau/gstvdpsink.c:
 	* sys/vdpau/gstvdpsink.h:
-	* sys/vdpau/gstvdputils.c:
-	* sys/vdpau/gstvdputils.h:
-	* sys/vdpau/gstvdpvideobuffer.c:
-	* sys/vdpau/gstvdpvideobuffer.h:
 	* sys/vdpau/gstvdpvideopostprocess.c:
 	* sys/vdpau/gstvdpvideopostprocess.h:
-	* sys/vdpau/gstvdpvideosrcpad.c:
-	* sys/vdpau/gstvdpvideosrcpad.h:
 	* sys/vdpau/mpeg/gstvdpmpegdec.c:
 	* sys/vdpau/mpeg/gstvdpmpegdec.h:
 	* sys/vdpau/mpeg/gstvdpmpegframe.c:
 	* sys/vdpau/mpeg/gstvdpmpegframe.h:
 	* sys/vdpau/mpeg/mpegutil.c:
 	* sys/vdpau/mpeg/mpegutil.h:
-	* sys/vdpau/mpegutil.c:
-	* sys/vdpau/mpegutil.h:
 	  vdpau: base vdpaumpegdec on GstBaseVideoDecoder
 
 2010-06-08 13:36:53 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
@@ -110042,8 +112007,6 @@
 	* gst/rtmp/bytes.h:
 	* gst/rtmp/dh.h:
 	* gst/rtmp/dhgroups.h:
-	* gst/rtmp/gstrtmpsrc.c:
-	* gst/rtmp/gstrtmpsrc.h:
 	* gst/rtmp/handshake.h:
 	* gst/rtmp/hashswf.c:
 	* gst/rtmp/http.h:
@@ -110325,16 +112288,6 @@
 2010-06-03 14:42:06 -0400  Olivier Crête <olivier.crete@collabora.co.uk>
 
 	* configure.ac:
-	* gst/shm/Makefile.am:
-	* gst/shm/gstshm.c:
-	* gst/shm/gstshmsink.c:
-	* gst/shm/gstshmsink.h:
-	* gst/shm/gstshmsrc.c:
-	* gst/shm/gstshmsrc.h:
-	* gst/shm/shmalloc.c:
-	* gst/shm/shmalloc.h:
-	* gst/shm/shmpipe.c:
-	* gst/shm/shmpipe.h:
 	* sys/Makefile.am:
 	* sys/shm/Makefile.am:
 	* sys/shm/gstshm.c:
@@ -110892,7 +112845,6 @@
 
 	* configure.ac:
 	* ext/cog/Makefile.am:
-	* ext/cog/cog.orc:
 	* ext/cog/cogframe.c:
 	* ext/cog/cogvirtframe.c:
 	* ext/cog/gstcogorc-dist.c:
@@ -111308,8 +113260,6 @@
 	* docs/plugins/camerabin.dot:
 	* docs/plugins/camerabin.png:
 	* docs/plugins/figures/Makefile.am:
-	* docs/plugins/figures/camerabin.dot:
-	* docs/plugins/figures/camerabin.png:
 	  docs: fix dist/distcheck issues with camerabin figures
 	  Move figures into docs/plugins as well, to avoid issues with
 	  make dist and make distcheck (make distdir will not first descend
@@ -114063,11 +116013,9 @@
 
 	* docs/plugins/gst-plugins-bad-plugins.args:
 	* docs/plugins/gst-plugins-bad-plugins.prerequisites:
-	* docs/plugins/inspect/plugin-apex.xml:
 	* docs/plugins/inspect/plugin-apexsink.xml:
 	* docs/plugins/inspect/plugin-invtelecine.xml:
 	* docs/plugins/inspect/plugin-nsf.xml:
-	* docs/plugins/inspect/plugin-nsfdec.xml:
 	* docs/plugins/inspect/plugin-nuvdemux.xml:
 	* docs/plugins/inspect/plugin-vmnc.xml:
 	  docs: Update to match recent commits
@@ -115639,11 +117587,9 @@
 	* tests/examples/camerabin/gst-camera-perf.glade:
 	* tests/examples/camerabin/gst-camera-perf.ui:
 	* tests/examples/camerabin/gst-camera.c:
-	* tests/examples/camerabin/gst-camera.glade:
 	* tests/examples/camerabin/gst-camera.ui:
 	* tests/icles/Makefile.am:
 	* tests/icles/metadata_editor.c:
-	* tests/icles/metadata_editor.glade:
 	* tests/icles/metadata_editor.ui:
 	  tests: Port from libglade to GtkBuilder
 	  Fixes bug #601108.
@@ -116059,8 +118005,6 @@
 	* gst/flacparse/gstbaseparse.c:
 	* gst/flacparse/gstbaseparse.h:
 	* gst/flacparse/gstflac.c:
-	* gst/flacparse/gstflacparse.c:
-	* gst/flacparse/gstflacparse.h:
 	  audioparsers: move 'flacparse' into it
 
 2009-12-16 18:38:33 +0100  Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
@@ -116412,8 +118356,6 @@
 	* docs/plugins/Makefile.am:
 	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
 	* gst/amrparse/Makefile.am:
-	* gst/amrparse/gstamrparse.c:
-	* gst/amrparse/gstamrparse.h:
 	* gst/amrparse/gstbaseparse.c:
 	* gst/amrparse/gstbaseparse.h:
 	* gst/audioparsers/Makefile.am:
@@ -116433,11 +118375,6 @@
 	* docs/plugins/Makefile.am:
 	* docs/plugins/gst-plugins-bad-plugins-docs.sgml:
 	* gst/aacparse/Makefile.am:
-	* gst/aacparse/gstaacparse.c:
-	* gst/aacparse/gstaacparse.h:
-	* gst/aacparse/gstbaseparse.c:
-	* gst/aacparse/gstbaseparse.h:
-	* gst/aacparse/plugin.c:
 	* gst/audioparsers/Makefile.am:
 	* gst/audioparsers/gstaacparse.c:
 	* gst/audioparsers/gstaacparse.h:
@@ -118131,14 +120068,11 @@
 
 	* configure.ac:
 	* docs/plugins/inspect/plugin-aiff.xml:
-	* docs/plugins/inspect/plugin-aiffparse.xml:
 	* gst-plugins-bad.spec.in:
 	* gst/aiff/Makefile.am:
 	* gst/aiff/aiffparse.c:
 	* gst/aiff/aiffparse.h:
 	* gst/aiffparse/Makefile.am:
-	* gst/aiffparse/aiffparse.c:
-	* gst/aiffparse/aiffparse.h:
 	* po/POTFILES.in:
 	  aiff: rename 'aiffparse' plugin to 'aiff'
 
@@ -118168,7 +120102,6 @@
 
 	* sys/osxvideo/Makefile.am:
 	* sys/osxvideo/osxvideoplugin.c:
-	* sys/osxvideo/osxvideoplugin.m:
 	  osxvideosrc: change a .m file containing only C code to a .c file. Makes building this easier.
 
 2009-10-27 22:08:42 +0000  Jan Schmidt <thaytan@noraisin.net>
@@ -119627,8 +121560,6 @@
 
 	* ext/resindvd/Makefile.am:
 	* ext/resindvd/resindvdbin.c:
-	* ext/resindvd/rsnaudiodec.c:
-	* ext/resindvd/rsnaudiodec.h:
 	* ext/resindvd/rsndec.c:
 	* ext/resindvd/rsndec.h:
 	  resindvdbin: Rename files
@@ -120775,7 +122706,6 @@
 2009-09-07 15:44:16 +0200  Julien Isorce <julien.isorce@gmail.com>
 
 	* win32/vs8/gst-plugins-bad.sln:
-	* win32/vs8/libdshowsrcwrapper.vcproj:
 	* win32/vs9/gst-plugins-bad.sln:
 	* win32/vs9/libgstdshowsrcwrapper.vcproj:
 	  dshowsrcwrapper: upgrade frozen build to vs9
@@ -122414,12 +124344,8 @@
 	* docs/plugins/inspect/plugin-amrwbenc.xml:
 	* ext/Makefile.am:
 	* ext/amrwb/Makefile.am:
-	* ext/amrwb/README:
-	* ext/amrwb/gstamrwb.c:
 	* ext/amrwb/gstamrwbdec.c:
 	* ext/amrwb/gstamrwbdec.h:
-	* ext/amrwb/gstamrwbenc.c:
-	* ext/amrwb/gstamrwbenc.h:
 	* ext/amrwb/gstamrwbparse.c:
 	* ext/amrwb/gstamrwbparse.h:
 	* ext/amrwbenc/GstAmrwbEnc.prs:
@@ -122744,14 +124670,12 @@
 
 2009-07-22 12:24:46 +0200  Julien Isorce <julien.isorce@gmail.com>
 
-	* sys/dshowsrcwrapper/gstdshowaudiosrc.c:
 	* sys/dshowsrcwrapper/gstdshowaudiosrc.cpp:
 	* win32/vs8/libdshowsrcwrapper.vcproj:
 	  dshowaudiosrc: converts code to C++
 
 2009-07-22 11:01:49 +0200  Julien Isorce <julien.isorce@gmail.com>
 
-	* sys/dshowsrcwrapper/gstdshowvideosrc.c:
 	* sys/dshowsrcwrapper/gstdshowvideosrc.cpp:
 	* win32/vs8/libdshowsrcwrapper.vcproj:
 	  dshowvideosrc: converts code to C++
@@ -122822,14 +124746,9 @@
 	* configure.ac:
 	* gst-libs/gst/Makefile.am:
 	* gst-libs/gst/dshow/Makefile.am:
-	* gst-libs/gst/dshow/gstdshow.cpp:
-	* gst-libs/gst/dshow/gstdshow.h:
-	* gst-libs/gst/dshow/gstdshowfakesink.cpp:
-	* gst-libs/gst/dshow/gstdshowfakesink.h:
 	* gst-libs/gst/dshow/gstdshowfakesrc.cpp:
 	* gst-libs/gst/dshow/gstdshowfakesrc.h:
 	* gst-libs/gst/dshow/gstdshowinterface.cpp:
-	* gst-libs/gst/dshow/gstdshowinterface.h:
 	* sys/dshowsrcwrapper/Makefile.am:
 	* sys/dshowsrcwrapper/gstdshow.cpp:
 	* sys/dshowsrcwrapper/gstdshow.h:
@@ -122838,7 +124757,6 @@
 	* sys/dshowsrcwrapper/gstdshowfakesink.cpp:
 	* sys/dshowsrcwrapper/gstdshowfakesink.h:
 	* sys/dshowsrcwrapper/gstdshowinterface.h:
-	* sys/dshowsrcwrapper/gstdshowsrcwrapper.c:
 	* sys/dshowsrcwrapper/gstdshowsrcwrapper.cpp:
 	* sys/dshowsrcwrapper/gstdshowsrcwrapper.h:
 	* sys/dshowsrcwrapper/gstdshowvideosrc.c:
@@ -123673,8 +125591,6 @@
 	* ext/Makefile.am:
 	* ext/ladspa/Makefile.am:
 	* ext/ladspa/gstladspa.h:
-	* ext/ladspa/gstsignalprocessor.c:
-	* ext/ladspa/gstsignalprocessor.h:
 	* ext/lv2/Makefile.am:
 	* ext/lv2/gstlv2.c:
 	* ext/lv2/gstlv2.h:
@@ -123861,8 +125777,6 @@
 	* sys/vdpau/gstvdp.c:
 	* sys/vdpau/gstvdpmpegdec.c:
 	* sys/vdpau/gstvdpmpegdec.h:
-	* sys/vdpau/gstvdpmpegdecoder.c:
-	* sys/vdpau/gstvdpmpegdecoder.h:
 	  vdpaumpegdec: rename gstvdpmpegdecoder.[ch] to gstvdpmpegdec.[ch]
 
 2009-06-05 21:46:08 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
@@ -124271,19 +126185,6 @@
 
 	* sys/vdpau/Makefile.am:
 	* sys/vdpau/gstvdp.c:
-	* sys/vdpau/gstvdpau.c:
-	* sys/vdpau/gstvdpaudecoder.c:
-	* sys/vdpau/gstvdpaudecoder.h:
-	* sys/vdpau/gstvdpaudevice.c:
-	* sys/vdpau/gstvdpaudevice.h:
-	* sys/vdpau/gstvdpaumpegdecoder.c:
-	* sys/vdpau/gstvdpaumpegdecoder.h:
-	* sys/vdpau/gstvdpauvideobuffer.c:
-	* sys/vdpau/gstvdpauvideobuffer.h:
-	* sys/vdpau/gstvdpauvideoyuv.c:
-	* sys/vdpau/gstvdpauvideoyuv.h:
-	* sys/vdpau/gstvdpauyuvvideo.c:
-	* sys/vdpau/gstvdpauyuvvideo.h:
 	* sys/vdpau/gstvdpdecoder.c:
 	* sys/vdpau/gstvdpdecoder.h:
 	* sys/vdpau/gstvdpdevice.c:
@@ -124403,7 +126304,6 @@
 
 2009-04-03 17:53:21 +0200  Carl-Anton Ingmarsson <ca.ingmarsson@gmail.com>
 
-	* sys/vdpau/gst-vdpau-device.h:
 	* sys/vdpau/gstvdpaudevice.h:
 	  vdpau: commit rename of gst-vdpau-device.h to gstvdpaudevice.h
 
@@ -125071,8 +126971,6 @@
 	* gst/id3tag/Makefile.am:
 	* gst/id3tag/gstid3mux.c:
 	* gst/id3tag/gstid3mux.h:
-	* gst/id3tag/gstid3tag.c:
-	* gst/id3tag/gstid3tag.h:
 	* gst/id3tag/gsttagmux.c:
 	* gst/id3tag/id3tag.c:
 	* gst/id3tag/id3tag.h:
@@ -127709,7 +129607,6 @@
 2009-05-01 01:59:56 +0100  Tim-Philipp Müller <tim.muller@collabora.co.uk>
 
 	* docs/plugins/inspect/plugin-debugutilsbad.xml:
-	* docs/plugins/inspect/plugin-fpsdisplaysink.xml:
 	* gst/debugutils/Makefile.am:
 	* gst/debugutils/debugutilsbad.c:
 	* gst/debugutils/fpsdisplaysink.c:
@@ -128785,7 +130682,6 @@
 	* gst/mxf/mxfmpeg.c:
 	* gst/mxf/mxfmpeg.h:
 	* gst/mxf/mxfmux.h:
-	* gst/mxf/mxfparse.c:
 	* gst/mxf/mxfparse.h:
 	* gst/mxf/mxftypes.c:
 	* gst/mxf/mxftypes.h:
@@ -128796,7 +130692,6 @@
 	* gst/mxf/mxfvc3.c:
 	* gst/mxf/mxfvc3.h:
 	* gst/mxf/mxfwrite.c:
-	* gst/mxf/mxfwrite.h:
 	  mxf: Source files and #include cleanup
 
 2009-03-26 12:10:05 +0100  Sebastian Dröge <sebastian.droege@collabora.co.uk>
@@ -130410,46 +132305,6 @@
 
 	* Makefile.am:
 	* configure.ac:
-	* examples/Makefile.am:
-	* examples/app/.gitignore:
-	* examples/app/Makefile.am:
-	* examples/app/appsink-src.c:
-	* examples/app/appsrc-ra.c:
-	* examples/app/appsrc-seekable.c:
-	* examples/app/appsrc-stream.c:
-	* examples/app/appsrc-stream2.c:
-	* examples/app/appsrc_ex.c:
-	* examples/capsfilter/Makefile.am:
-	* examples/capsfilter/capsfilter1.c:
-	* examples/directfb/.gitignore:
-	* examples/directfb/Makefile.am:
-	* examples/directfb/decker.ttf:
-	* examples/directfb/dfblogo.png:
-	* examples/directfb/gstdfb.c:
-	* examples/gob/Makefile.am:
-	* examples/gob/gst-identity2.gob:
-	* examples/gstplay/.gitignore:
-	* examples/gstplay/Makefile.am:
-	* examples/gstplay/player.c:
-	* examples/indexing/.gitignore:
-	* examples/indexing/Makefile.am:
-	* examples/indexing/indexmpeg.c:
-	* examples/level/Makefile.am:
-	* examples/level/README:
-	* examples/level/demo.c:
-	* examples/level/plot.c:
-	* examples/scaletempo/.gitignore:
-	* examples/scaletempo/Makefile.am:
-	* examples/scaletempo/demo-gui.c:
-	* examples/scaletempo/demo-gui.h:
-	* examples/scaletempo/demo-main.c:
-	* examples/scaletempo/demo-player.c:
-	* examples/scaletempo/demo-player.h:
-	* examples/stats/Makefile.am:
-	* examples/stats/mp2ogg.c:
-	* examples/switch/.gitignore:
-	* examples/switch/Makefile.am:
-	* examples/switch/switcher.c:
 	* tests/Makefile.am:
 	* tests/examples/Makefile.am:
 	* tests/examples/app/.gitignore:
@@ -131449,9 +133304,6 @@
 	* gst/dtmf/Makefile.am:
 	* gst/dtmf/gstrtpdtmfsrc.c:
 	* gst/dtmf/gstrtpdtmfsrc.h:
-	* gst/rtpdtmf/Makefile.am:
-	* gst/rtpdtmf/gstrtpdtmfsrc.c:
-	* gst/rtpdtmf/gstrtpdtmfsrc.h:
 	  [MOVED FROM GST-P-FARSIGHT] Moved rtpdtmf to dtmf directory
 	  20070820184800-4f0f6-fa33ea974510161de8c9951c39087af3613b65a4.gz
 
@@ -132471,8 +134323,6 @@
 
 2009-02-11 01:02:42 +0200  René Stadler <mail@renestadler.de>
 
-	* gst-libs/gst/interfaces/photography-enumtypes.c:
-	* gst-libs/gst/interfaces/photography-enumtypes.h:
 	* win32/common/photography-enumtypes.c:
 	* win32/common/photography-enumtypes.h:
 	  photography interface: Move generated files to win32/common.
@@ -133240,9 +135090,6 @@
 	* ext/modplug/Makefile.am:
 	* ext/modplug/gstmodplug.cc:
 	* ext/modplug/gstmodplug.h:
-	* gst/modplug/Makefile.am:
-	* gst/modplug/gstmodplug.cc:
-	* gst/modplug/gstmodplug.h:
 	* gst/modplug/libmodplug/Makefile.am:
 	* gst/modplug/libmodplug/README:
 	* gst/modplug/libmodplug/changes.txt:
@@ -133406,20 +135253,6 @@
 	* docs/plugins/inspect/plugin-x264.xml:
 	* docs/plugins/inspect/plugin-xvid.xml:
 	* docs/plugins/inspect/plugin-y4menc.xml:
-	* gst/audioresample/Makefile.am:
-	* gst/audioresample/buffer.c:
-	* gst/audioresample/buffer.h:
-	* gst/audioresample/debug.c:
-	* gst/audioresample/debug.h:
-	* gst/audioresample/functable.c:
-	* gst/audioresample/functable.h:
-	* gst/audioresample/gstaudioresample.c:
-	* gst/audioresample/gstaudioresample.h:
-	* gst/audioresample/resample.c:
-	* gst/audioresample/resample.h:
-	* gst/audioresample/resample_chunk.c:
-	* gst/audioresample/resample_functable.c:
-	* gst/audioresample/resample_ref.c:
 	* gst/legacyresample/Makefile.am:
 	* gst/legacyresample/buffer.c:
 	* gst/legacyresample/buffer.h:
@@ -133435,7 +135268,6 @@
 	* gst/legacyresample/resample_functable.c:
 	* gst/legacyresample/resample_ref.c:
 	* tests/check/Makefile.am:
-	* tests/check/elements/audioresample.c:
 	* tests/check/elements/legacyresample.c:
 	  Rename audioresample files and types to legacyresample
 	  Finish the move/rename of audioresample to legacyresample
@@ -145481,8 +147313,6 @@
 	* ext/metadata/metadataxmp.c:
 	* ext/metadata/metadataxmp.h:
 	* ext/metadata/test/Makefile:
-	* ext/metadata/test/MetadataEditorMain.glade:
-	* ext/metadata/test/metadata_editor.c:
 	* tests/icles/Makefile.am:
 	* tests/icles/metadata_editor.c:
 	* tests/icles/metadata_editor.glade:
@@ -147036,8 +148866,6 @@
 	* ext/metadata/gstmetadatademux.h:
 	* ext/metadata/gstmetadatamux.c:
 	* ext/metadata/gstmetadatamux.h:
-	* ext/metadata/gstmetadataparse.c:
-	* ext/metadata/gstmetadataparse.h:
 	* ext/metadata/metadataexif.c:
 	* ext/metadata/metadatatags.c:
 	* ext/metadata/test/metadata_editor.c:
@@ -147641,14 +149469,6 @@
 	* ext/metadata/metadataexif.h:
 	* ext/metadata/metadataiptc.c:
 	* ext/metadata/metadataiptc.h:
-	* ext/metadata/metadataparse.c:
-	* ext/metadata/metadataparse.h:
-	* ext/metadata/metadataparseexif.c:
-	* ext/metadata/metadataparseexif.h:
-	* ext/metadata/metadataparseiptc.c:
-	* ext/metadata/metadataparseiptc.h:
-	* ext/metadata/metadataparsexmp.c:
-	* ext/metadata/metadataparsexmp.h:
 	* ext/metadata/metadatatags.c:
 	* ext/metadata/metadatatags.h:
 	* ext/metadata/metadataxmp.c:
@@ -147805,7 +149625,6 @@
 	* ext/metadata/metadataparsejpeg.h:
 	* ext/metadata/metadataparsepng.c:
 	* ext/metadata/metadataparsepng.h:
-	* ext/metadata/metadataparsetypes.h:
 	* ext/metadata/metadatatypes.c:
 	* ext/metadata/metadatatypes.h:
 	  Now parser is generic (just add/remove a list of chunks). And a template of muxer has been created.
@@ -162166,9 +163985,7 @@
 2005-12-01 19:13:20 +0000  Thomas Vander Stichele <thomas@apestaart.org>
 
 	* ChangeLog:
-	* LICENSE:
 	* NEWS:
-	* PORTED_09:
 	* RELEASE:
 	* common:
 	* configure.ac:
diff --git a/Makefile.in b/Makefile.in
index 36aa059..dc9538f 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -337,6 +337,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -386,6 +388,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -1447,8 +1451,11 @@
 
 update-exports:
 	make check-exports 2>&1 | patch -p1
-	git add win32/common/libgst*.def
-	git diff --cached -- win32/common/
+	if test -f "$(top_srcdir)/win32/common/libgstgl.def"; then \
+	  git checkout "$(top_srcdir)/win32/common/libgstgl.def";  \
+	fi
+	git add $(top_srcdir)/win32/common/libgst*.def
+	git diff --cached -- $(top_srcdir)/win32/common/
 	echo '^^^--- updated and staged changes above'
 
 # complain about nonportable printf format strings (%lld, %llu, %zu etc.)
diff --git a/NEWS b/NEWS
index 4c3baab..027c018 100644
--- a/NEWS
+++ b/NEWS
@@ -1 +1 @@
-This is GStreamer 1.9.1
+This is GStreamer 1.9.2
diff --git a/RELEASE b/RELEASE
index 7085e2c..d502188 100644
--- a/RELEASE
+++ b/RELEASE
@@ -1,12 +1,13 @@
 
-Release notes for GStreamer Bad Plugins 1.9.1
+Release notes for GStreamer Bad Plugins 1.9.2
 
-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.
+The GStreamer team is pleased to announce the second release of the unstable
+1.9 release series, which marks the feature freeze for 1.10. 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.
 
 
 Binaries for Android, iOS, Mac OS X and Windows will be provided in the next days.
@@ -60,97 +61,45 @@
 
 Bugs fixed in this release
      
-      * 765266 : gl: More GLES/GL 3 compatibility fixes
-      * 767087 : ahcsrc: improve error message when camera open fails
-      * 623860 : mpegpsdemux: sends segment and gap events with invalid time after seek
-      * 678207 : lv2: port to GStreamer 1.0 and SLV2 to Lilv
-      * 704222 : gldownload: Support for multi-planar format for GLES
-      * 733233 : chromaprint: notify fingerprint also via property notify
-      * 733872 : codecparsers: mpegvideo: Add more fields to the headers.
-      * 739598 : rfbsrc: incorrectly calculates caps
-      * 746933 : gldisplay: EAGL " Could not create display " 
-      * 748651 : DTLS: Use unique names for internal elements to ease debugging
-      * 751540 : gltestsrc: implement missing patterns, port to GL3 / ES3, load shaders with GIO
-      * 751792 : dashdemux: incorrect segment duration for a segment list
-      * 753265 : osxaudio: Add device provider support
-      * 754495 : videoaggregator: No protection from receiving interlaced and non-interlaced content
-      * 756931 : gstglbasemixer: negotiated logic is partly broken
-      * 757022 : pnm: Implementation of GRAY16 handling
-      * 758064 : dashdemux: leading whitespaces in content protection element are not ignored
-      * 759801 : gltestsrc outputs only black frames for pattern 0 and 11
-      * 760916 : gl: implement GstGLMemoryEGL
-      * 761260 : qml: add Windows support
-      * 762142 : dashdemux: tests: use g_object_unref for test data
-      * 762144 : dashdemux: tests: add new dashdemux tests
-      * 762147 : adaptivedemux: use GstSystemClock to all real-time calculations
-      * 763026 : dc1394: port to 1.X
-      * 763044 : Enable  qmlglsink on Rasperry PI
-      * 763065 : androidmedia: assorted refactoring
-      * 763081 : bad plugins: use new gst_element_class_add_static_pad_template()
-      * 763099 : ahcsrc: replace with new surfacetexture
-      * 763100 : ahcsrc: remove unused variable
-      * 763126 : player: Add is_live flag to the GstPlayerMediaInfo
-      * 763309 : ahcsrc: add finalize function
-      * 763441 : rfbsrc: leads to - > invalid video buffer received
-      * 763647 : mpegtsmux doesn't keep language code from the incoming audio stream
-      * 763998 : ahc: use g_slice_new instead of g_slice_new0
-      * 764018 : glcontext: try wglCreateContextAttribsARB first even not using GL3 core profile
-      * 764036 : interlace: Allow interlaced sink caps, do passthrough
-      * 764251 : rtmpsrc: Add timeout property
-      * 764361 : gdpdepay: query for buffer allocator
-      * 764370 : codecparser: vp9: Wrong default values in non-intraonly/non-keyframe header fields
-      * 764549 : aggregator: remove duplicated test of flow_return in pad_chain_internal
-      * 764684 : adaptivedemux: Forward upstream buffer offsets
-      * 764873 : gldeinterlace: enable this plugin on OpenGL ES using a simple deinterlace fragment shader
-      * 764957 : dvbsrc: support dvbv5 channels format
-      * 764972 : dvbsrc: needlessly perform delivery system autodetection twice
-      * 765250 : d3dvideosink includes deprecated and unused d3dx9tex.h header
-      * 765292 : gl:cocoa:Fix incompatible type warning
-      * 765315 : player: Add A/V offset property
-      * 765425 : dshowsrcwrapper: Fix include path in CMakeLists.txt
-      * 765426 : dshowsrcwrapper: Fix link error (SAFESEH)
-      * 765427 : dshowsrcwrapper: add support for RGB32, RGB555, RGB565 and RGB8 formats
-      * 765428 : dshowsrcwrapper: Work around bugs in IDS Imaging camera drivers
-      * 765431 : aggregator: Check all pads for data when live
-      * 765581 : pvrbufferpool: gst_meta_register() parameter wrong
-      * 765728 : adaptivedemux: Segfault since " use realtime_clock for waiting for a condition " commit
-      * 765795 : glimagesink: support video frame rotation
-      * 765804 : GstPlayer build error due to not finding GstVideo-1.0.gir
-      * 765989 : videodiff element has useless " FIXME " description
-      * 766053 : uridownloader: should take ownership of its source element
-      * 766062 : player: Provide signalling for when a new URI is started
-      * 766163 : Some header files missing in sys/applemedia/ in gst-plugins-bad-1.8.1.tar.xz
-      * 766343 : mpegtsbase: remove unused variables 'upstream_live' and 'queried_latency'
-      * 766597 : kmssink: doesn't chain up finalize
-      * 766607 : player: problems with unit tests
-      * 766639 : examples: opencv: typo fix
-      * 766650 : adaptivedemux: Set DISCONT on startup and after seeks
-      * 766661 : gltestsrc,glmosaic: fix shader leaks
-      * 766662 : adaptivedemux: fix tag list leak
-      * 766663 : bad: fix leaks in tests
-      * 766679 : ahc: fix typo
-      * 766703 : glvideomixer: Using an invalid, already destroyed context
-      * 766794 : eglimage: Fails to compile because of compiler warning caused by unused function
-      * 766803 : h264parse: add support for config-interval=-1 to re-send SPS/PPS on I/IDR frames
-      * 766818 : [gl] gltransformation's pivot-z property not writable
-      * 766867 : gl: win32: no debug category set in gstglcontext_wgl.c
-      * 766891 : h265parse: codec_data cap field could be mis-populated when vps/sps/pps id's are not used contiguously from zero.
-      * 766973 : Various warningfixes for OSX (10.9.5) compiling with Apple LLVM version 6.0
-      * 766993 : Android decodebin: zero copy between hardware decoder and glimagesink doesn't work (regression in 1.9)
-      * 767104 : applemedia: vtenc: Register a hardware-only vtenc_h264_hw element on OSX
-      * 767159 : templatematch: fix leak in test
-      * 767161 : a2dpsink: unref avdtpsink if state transition failed
-      * 767162 : bad: use MAY_BE_LEAKED flag
-      * 767365 : adaptivedemux: Add custom flow return for allowing subclasses to specify when a fragment is finished
-      * 767402 : OpenJPEG decoder: use new sampling field to determine channel order for j2c and jpc streams
-      * 767501 : curlsmtpsink: Lock and don't send final boundary upon error
-      * 767512 : jpeg2000parse: support j2c and jp2 file formats
-      * 767553 : qmlglsink: Add Wayland support
-      * 767800 : Introduce a WebRTC Audio Processing based echo canceller for GStreamer
-      * 767908 : jpeg2000parse: use enums for colorspace and sampling, rather than strings
-      * 768217 : gl: Raw uploader is broken
-      * 768365 : shmsrc: gst_poll_remove_fd: assertion 'fd- > fd > = 0' failed
-      * 733265 : srtpenc: remove get-rollover-counter signal and add stats property
+      * 737173 : h264parse wrongly insert DISCONT flags when converting into AVC
+      * 741104 : dashdemux: add support for I frame based trick play
+      * 753751 : Dashdemux: returned seekable range for live streams is not usable
+      * 765314 : player: Add way to override HTTP (+RTSP, etc) user agent
+      * 767011 : rawparse: new rawaudioparse and rawvideoparse element which deprecate audioparse, unalignedaudioparse, and videoparse
+      * 767169 : adaptivedemux: avoid possible deadlock while destroying old  sources
+      * 767879 : Deadlock in WebKit when deleting the media player while HLS media was loaded
+      * 768160 : qtplugins: How to implement qmlglsrc.
+      * 768553 : Configure check for OpenGL is wrong on OS X.
+      * 768595 : lv2: Does not build with lilv 0.20
+      * 768602 : EGL_DMA_Buf: Wrong attribute list type for EGL 1.5
+      * 768696 : Mac OS X build warnings: -Werror gstjpeg2000parse.c
+      * 768771 : openh264: Fail to build with openh264 1.6.0
+      * 768838 : camerabinpreview: fix bus leak
+      * 768843 : bad: fix leaks in tests
+      * 769144 : player: move 'position-update-interval' setting to the config struct
+      * 769197 : fix simple-launch-lines test with no jpeg lib
+      * 769210 : GLMemory created by avfvideosrc and vtdec on iOS (EAGL/gles3) can't be mapped
+      * 769295 : Broken compilation on RPi  with latest rawaudioparse changes
+      * 769371 : glimagesink: Horizontal/vertical flip matrizes are swapped
+      * 769389 : aiffparse: Add bitrate and container format tags
+      * 769462 : glcolorconvert: _get_n_textures: code should not be reached
+      * 769553 : dashdemux: Fix sidx snap/keyframe seeks
+      * 769587 : hls, timecode: can't build debian package from git master, need to fix linking
+      * 769637 : rawparse: Unit test fixes and additions
+      * 769716 : x265enc enable aspect ratio
+      * 769797 : videoparse: format i420, invalid buffer size (regression)
+      * 769939 : gl: hang on joining thread
+      * 770030 : avfvideosrc: account for retina displays when capturing screens
+      * 770049 : vtdec: missing systemstream=false in mpeg decoder caps
+      * 770075 : adaptivedemux: fix stream exposure condition
+      * 770102 : daala: typo related compilation error
+      * 770282 : decklinkvideosink: " Failed to schedule frame " and Decklink Duo 2
+      * 770326 : gst-plugins-bad tarball lacks opensles.h
+      * 770408 : dashdemux: Add properties to select maximum allowed width/height and framerate
+      * 770523 : Build failure: fatal error: gst/gl/gstglconfig.h: No such file or directory
+      * 770587 : qtkitvideosrc: 'QTKit/QTKit.h' file not found (macOS Sierra)
+      * 769116 : Build failure with -O3 in Ubuntu 16.04
+      * 769580 : Fail to decode media on OSX because it's not supported by vtdec_hw but vtdec can play it
 
 ==== Download ====
 
@@ -187,70 +136,37 @@
         
 Contributors to this release
     
-      * Aaron Boxer
-      * Aleix Conchillo Flaqué
       * Alessandro Decina
       * Alex Ashley
-      * Alex-P. Natsios
-      * Arjen Veenhuizen
-      * Arun Raghavan
-      * Aurélien Zanelli
-      * Barun Kumar Singh
-      * Carlos Garcia Campos
+      * Arnaud Vrac
+      * Bernhard Miller
       * Carlos Rafael Giani
-      * Christoffer Stengren
-      * Damian Ziobro
-      * Dimitrios Katsaros
       * Edward Hervey
-      * Florin Apostol
+      * Florian Zwoch
+      * Fredrik Fornwall
       * Guillaume Desmottes
-      * Gwang Yoon Hwang
       * Haihua Hu
-      * Havard Graff
-      * Heinrich Fink
       * Hyunjun Ko
-      * Jan Alexander Steffens (heftig)
       * Jan Schmidt
-      * Javier Martinez Canillas
-      * Jerome Laheurte
-      * Joan Pau Beltran
-      * Jonathan Roy
-      * Julien Isorce
-      * Justin Kim
-      * Kouhei Sutou
+      * Josep Torra
       * Luis de Bethencourt
-      * Marcin Kolny
-      * Marcin Lewandowski
       * Martin Kelly
-      * Mats Lindestam
+      * Matej Knopp
       * Matthew Waters
       * Michael Olbrich
       * Nicolas Dufresne
       * Nirbheek Chauhan
-      * Olivier Crête
-      * Patricia Muscalu
-      * Philipp Zabel
-      * Philippe Normand
-      * Raffaele Rossi
+      * Philippe Renon
       * Reynaldo H. Verdejo Pinochet
-      * Santiago Carot-Nemesio
-      * Scott D Phillips
       * Sebastian Dröge
-      * Sebastian Rasmussen
-      * Sergey Borovkov
+      * Sergei Saveliev
       * Song Bing
       * Sreerenj Balachandran
       * Stefan Sauer
-      * Thiago Santos
       * Thibault Saunier
       * Tim-Philipp Müller
-      * Vanessa Chipirras Navalon
       * Vincent Penquerc'h
-      * Vineeth TM
       * Vivia Nikolaidou
-      * Víctor Manuel Jáquez Leal
-      * Wang Xin-yu (王昕宇)
-      * Wim Taymans
-      * Xavier Claessens
-      * Yann Jouanin
+      * Xabier Rodriguez Calvar
+      * xlazom00
  
\ No newline at end of file
diff --git a/common/Makefile.in b/common/Makefile.in
index 05d631e..4b37a35 100644
--- a/common/Makefile.in
+++ b/common/Makefile.in
@@ -299,6 +299,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -348,6 +350,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/common/gtk-doc.mak b/common/gtk-doc.mak
index 4beebcf..3f83491 100644
--- a/common/gtk-doc.mak
+++ b/common/gtk-doc.mak
@@ -125,7 +125,7 @@
 	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)
+	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/Makefile.in b/common/m4/Makefile.in
index b381e6e..157bdf9 100644
--- a/common/m4/Makefile.in
+++ b/common/m4/Makefile.in
@@ -239,6 +239,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -288,6 +290,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/common/win32.mak b/common/win32.mak
index 87cd346..6060532 100644
--- a/common/win32.mak
+++ b/common/win32.mak
@@ -61,8 +61,11 @@
 
 update-exports:
 	make check-exports 2>&1 | patch -p1
-	git add win32/common/libgst*.def
-	git diff --cached -- win32/common/
+	if test -f "$(top_srcdir)/win32/common/libgstgl.def"; then \
+	  git checkout "$(top_srcdir)/win32/common/libgstgl.def";  \
+	fi
+	git add $(top_srcdir)/win32/common/libgst*.def
+	git diff --cached -- $(top_srcdir)/win32/common/
 	echo '^^^--- updated and staged changes above'
 
 # complain about nonportable printf format strings (%lld, %llu, %zu etc.)
diff --git a/config.h.in b/config.h.in
index aa6e37e..429459d 100644
--- a/config.h.in
+++ b/config.h.in
@@ -223,6 +223,9 @@
 /* Define to enable DVB Source (used by dvb). */
 #undef HAVE_DVB
 
+/* Define to 1 if the system has the type `EGLAttrib'. */
+#undef HAVE_EGLATTRIB
+
 /* Define to enable building of experimental plug-ins. */
 #undef HAVE_EXPERIMENTAL
 
@@ -241,6 +244,9 @@
 /* Define to 1 if you have the <fcntl.h> header file. */
 #undef HAVE_FCNTL_H
 
+/* Define to enable fdkaac plugin (used by fdkaac). */
+#undef HAVE_FDK_AAC
+
 /* FIONREAD ioctl found in sys/filio.h */
 #undef HAVE_FIONREAD_IN_SYS_FILIO
 
@@ -352,6 +358,9 @@
 /* Define to enable libvisual visualization library (used by libvisual). */
 #undef HAVE_LIBVISUAL
 
+/* Define if we have liblilv >= 0.22 */
+#undef HAVE_LILV_0_22
+
 /* Define to enable Linear Systems SDI plugin (used by linsys). */
 #undef HAVE_LINSYS
 
@@ -492,6 +501,9 @@
 /* Define to enable Qt elements (used by qt). */
 #undef HAVE_QT
 
+/* Define if building with QTKit */
+#undef HAVE_QTKIT
+
 /* Define if Qt eglfs integration is installed */
 #undef HAVE_QT_EGLFS
 
diff --git a/configure b/configure
index 77656ab..41f4662 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 Bad Plug-ins 1.9.1.
+# Generated by GNU Autoconf 2.69 for GStreamer Bad Plug-ins 1.9.2.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer>.
 #
@@ -591,8 +591,8 @@
 # Identity of this package.
 PACKAGE_NAME='GStreamer Bad Plug-ins'
 PACKAGE_TARNAME='gst-plugins-bad'
-PACKAGE_VERSION='1.9.1'
-PACKAGE_STRING='GStreamer Bad Plug-ins 1.9.1'
+PACKAGE_VERSION='1.9.2'
+PACKAGE_STRING='GStreamer Bad Plug-ins 1.9.2'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer'
 PACKAGE_URL=''
 
@@ -902,6 +902,10 @@
 FLITE_LIBS
 FLITE_CFLAGS
 HAVE_FLITE
+USE_FDK_AAC_FALSE
+USE_FDK_AAC_TRUE
+FDK_AAC_LIBS
+FDK_AAC_CFLAGS
 USE_FBDEV_FALSE
 USE_FBDEV_TRUE
 USE_FAAD_FALSE
@@ -992,10 +996,6 @@
 NVENCODE_CFLAGS
 CUDA_LIBS
 CUDA_CFLAGS
-GST_PBUTILS_LIBS
-GST_PBUTILS_CFLAGS
-GST_VIDEO_LIBS
-GST_VIDEO_CFLAGS
 LIBUDEV_LIBS
 LIBUDEV_CFLAGS
 USE_UVCH264_FALSE
@@ -1117,6 +1117,8 @@
 X_CFLAGS
 DCCP_LIBS
 WINSOCK2_LIBS
+HAVE_QTKIT_FALSE
+HAVE_QTKIT_TRUE
 HAVE_VIDEOTOOLBOX_FALSE
 HAVE_VIDEOTOOLBOX_TRUE
 HAVE_IOS_FALSE
@@ -1139,6 +1141,8 @@
 USE_PLUGIN_VIDEOFILTERS_TRUE
 USE_PLUGIN_TTA_FALSE
 USE_PLUGIN_TTA_TRUE
+USE_PLUGIN_TIMECODE_FALSE
+USE_PLUGIN_TIMECODE_TRUE
 USE_PLUGIN_STEREO_FALSE
 USE_PLUGIN_STEREO_TRUE
 USE_PLUGIN_SUBENC_FALSE
@@ -1360,6 +1364,12 @@
 GST_PLUGINS_BASE_CFLAGS
 HAVE_GST_CHECK_FALSE
 HAVE_GST_CHECK_TRUE
+GST_PBUTILS_LIBS
+GST_PBUTILS_CFLAGS
+GST_AUDIO_LIBS
+GST_AUDIO_CFLAGS
+GST_VIDEO_LIBS
+GST_VIDEO_CFLAGS
 GST_NET_LIBS
 GST_NET_CFLAGS
 GST_CONTROLLER_LIBS
@@ -1764,6 +1774,7 @@
 enable_speed
 enable_subenc
 enable_stereo
+enable_timecode
 enable_tta
 enable_videofilters
 enable_videomeasure
@@ -1820,6 +1831,7 @@
 enable_faac
 enable_faad
 enable_fbdev
+enable_fdk_aac
 enable_flite
 enable_gsm
 enable_fluidsynth
@@ -1920,6 +1932,12 @@
 GST_CONTROLLER_LIBS
 GST_NET_CFLAGS
 GST_NET_LIBS
+GST_VIDEO_CFLAGS
+GST_VIDEO_LIBS
+GST_AUDIO_CFLAGS
+GST_AUDIO_LIBS
+GST_PBUTILS_CFLAGS
+GST_PBUTILS_LIBS
 GST_PLUGINS_BASE_CFLAGS
 GST_PLUGINS_BASE_LIBS
 GST_PLUGINS_GOOD_CFLAGS
@@ -1980,10 +1998,6 @@
 G_UDEV_LIBS
 LIBUSB_CFLAGS
 LIBUSB_LIBS
-GST_VIDEO_CFLAGS
-GST_VIDEO_LIBS
-GST_PBUTILS_CFLAGS
-GST_PBUTILS_LIBS
 CUDA_CFLAGS
 CUDA_LIBS
 NVENCODE_CFLAGS
@@ -2016,6 +2030,8 @@
 DAALA_LIBS
 DVDNAV_CFLAGS
 DVDNAV_LIBS
+FDK_AAC_CFLAGS
+FDK_AAC_LIBS
 FLUIDSYNTH_CFLAGS
 FLUIDSYNTH_LIBS
 KATE_CFLAGS
@@ -2668,7 +2684,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 Bad Plug-ins 1.9.1 to adapt to many kinds of systems.
+\`configure' configures GStreamer Bad Plug-ins 1.9.2 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -2740,7 +2756,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.9.1:";;
+     short | recursive ) echo "Configuration of GStreamer Bad Plug-ins 1.9.2:";;
    esac
   cat <<\_ACEOF
 
@@ -2850,6 +2866,7 @@
   --disable-speed         disable dependency-less speed plugin
   --disable-subenc        disable dependency-less subenc plugin
   --disable-stereo        disable dependency-less stereo plugin
+  --disable-timecode      disable dependency-less timecode plugin
   --disable-tta           disable dependency-less tta plugin
   --disable-videofilters  disable dependency-less videofilters plugin
   --disable-videomeasure  disable dependency-less videomeasure plugin
@@ -2902,6 +2919,7 @@
   --disable-faac               disable AAC encoder plug-in: faac
   --disable-faad               disable FAAD2 AAC decoder plug-in: faad
   --disable-fbdev              disable linux framebuffer: fbdevsink
+  --disable-fdk_aac            disable fdkaac plugin: fdkaac
   --disable-flite              disable Flite plugin: flite
   --disable-gsm                disable GSM library: gsmenc gsmdec
   --disable-fluidsynth         disable fluidsynth: fluidsynth
@@ -3069,6 +3087,18 @@
               C compiler flags for GST_NET, overriding pkg-config
   GST_NET_LIBS
               linker flags for GST_NET, overriding pkg-config
+  GST_VIDEO_CFLAGS
+              C compiler flags for GST_VIDEO, overriding pkg-config
+  GST_VIDEO_LIBS
+              linker flags for GST_VIDEO, overriding pkg-config
+  GST_AUDIO_CFLAGS
+              C compiler flags for GST_AUDIO, overriding pkg-config
+  GST_AUDIO_LIBS
+              linker flags for GST_AUDIO, overriding pkg-config
+  GST_PBUTILS_CFLAGS
+              C compiler flags for GST_PBUTILS, overriding pkg-config
+  GST_PBUTILS_LIBS
+              linker flags for GST_PBUTILS, overriding pkg-config
   GST_PLUGINS_BASE_CFLAGS
               C compiler flags for GST_PLUGINS_BASE, overriding pkg-config
   GST_PLUGINS_BASE_LIBS
@@ -3164,14 +3194,6 @@
   LIBUSB_CFLAGS
               C compiler flags for LIBUSB, overriding pkg-config
   LIBUSB_LIBS linker flags for LIBUSB, overriding pkg-config
-  GST_VIDEO_CFLAGS
-              C compiler flags for GST_VIDEO, overriding pkg-config
-  GST_VIDEO_LIBS
-              linker flags for GST_VIDEO, overriding pkg-config
-  GST_PBUTILS_CFLAGS
-              C compiler flags for GST_PBUTILS, overriding pkg-config
-  GST_PBUTILS_LIBS
-              linker flags for GST_PBUTILS, overriding pkg-config
   CUDA_CFLAGS C compiler flags for CUDA, overriding pkg-config
   CUDA_LIBS   linker flags for CUDA, overriding pkg-config
   NVENCODE_CFLAGS
@@ -3224,6 +3246,10 @@
   DVDNAV_CFLAGS
               C compiler flags for DVDNAV, overriding pkg-config
   DVDNAV_LIBS linker flags for DVDNAV, overriding pkg-config
+  FDK_AAC_CFLAGS
+              C compiler flags for FDK_AAC, overriding pkg-config
+  FDK_AAC_LIBS
+              linker flags for FDK_AAC, overriding pkg-config
   FLUIDSYNTH_CFLAGS
               C compiler flags for FLUIDSYNTH, overriding pkg-config
   FLUIDSYNTH_LIBS
@@ -3450,7 +3476,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-GStreamer Bad Plug-ins configure 1.9.1
+GStreamer Bad Plug-ins configure 1.9.2
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -4423,7 +4449,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 Bad Plug-ins $as_me 1.9.1, which was
+It was created by GStreamer Bad Plug-ins $as_me 1.9.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -5405,7 +5431,7 @@
 
 # Define the identity of the package.
  PACKAGE='gst-plugins-bad'
- VERSION='1.9.1'
+ VERSION='1.9.2'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -5616,9 +5642,9 @@
 
 
 
-  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)
+  PACKAGE_VERSION_MAJOR=$(echo 1.9.2 | cut -d'.' -f1)
+  PACKAGE_VERSION_MINOR=$(echo 1.9.2 | cut -d'.' -f2)
+  PACKAGE_VERSION_MICRO=$(echo 1.9.2 | cut -d'.' -f3)
 
 
 
@@ -5629,7 +5655,7 @@
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking nano version" >&5
 $as_echo_n "checking nano version... " >&6; }
 
-  NANO=$(echo 1.9.1 | cut -d'.' -f4)
+  NANO=$(echo 1.9.2 | cut -d'.' -f4)
 
   if test x"$NANO" = x || test "x$NANO" = "x0" ; then
     { $as_echo "$as_me:${as_lineno-$LINENO}: result: 0 (release)" >&5
@@ -10473,10 +10499,10 @@
 done
 
 
-  GST_CURRENT=901
+  GST_CURRENT=902
   GST_REVISION=0
-  GST_AGE=901
-  GST_LIBVERSION=901:0:901
+  GST_AGE=902
+  GST_LIBVERSION=902:0:902
 
 
 
@@ -15104,8 +15130,8 @@
 
 
 
-GST_REQ=1.9.1
-GSTPB_REQ=1.9.1
+GST_REQ=1.9.2
+GSTPB_REQ=1.9.2
 
 
 
@@ -27257,6 +27283,292 @@
 
 
 
+
+  which="gstreamer-video-$GST_API_VERSION"
+    required=$GST_REQ
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GST_VIDEO" >&5
+$as_echo_n "checking for GST_VIDEO... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GST_VIDEO_CFLAGS"; then
+        pkg_cv_GST_VIDEO_CFLAGS="$GST_VIDEO_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GST_VIDEO_CFLAGS=`$PKG_CONFIG --cflags "$which" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GST_VIDEO_LIBS"; then
+        pkg_cv_GST_VIDEO_LIBS="$GST_VIDEO_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GST_VIDEO_LIBS=`$PKG_CONFIG --libs "$which" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        GST_VIDEO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
+        else
+	        GST_VIDEO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GST_VIDEO_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+      HAVE_GST_VIDEO="no"
+      if test "x$required" = "xyes"; then
+        as_fn_error $? "$GST_VIDEO_PKG_ERRORS" "$LINENO" 5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_VIDEO_PKG_ERRORS" >&5
+$as_echo "$as_me: $GST_VIDEO_PKG_ERRORS" >&6;}
+      fi
+
+elif test $pkg_failed = untried; then
+
+      HAVE_GST_VIDEO="no"
+      if test "x$required" = "xyes"; then
+        as_fn_error $? "$GST_VIDEO_PKG_ERRORS" "$LINENO" 5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_VIDEO_PKG_ERRORS" >&5
+$as_echo "$as_me: $GST_VIDEO_PKG_ERRORS" >&6;}
+      fi
+
+else
+	GST_VIDEO_CFLAGS=$pkg_cv_GST_VIDEO_CFLAGS
+	GST_VIDEO_LIBS=$pkg_cv_GST_VIDEO_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+      HAVE_GST_VIDEO="yes"
+
+fi
+
+
+
+  which="gstreamer-audio-$GST_API_VERSION"
+    required=$GST_REQ
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GST_AUDIO" >&5
+$as_echo_n "checking for GST_AUDIO... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GST_AUDIO_CFLAGS"; then
+        pkg_cv_GST_AUDIO_CFLAGS="$GST_AUDIO_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GST_AUDIO_CFLAGS=`$PKG_CONFIG --cflags "$which" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GST_AUDIO_LIBS"; then
+        pkg_cv_GST_AUDIO_LIBS="$GST_AUDIO_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GST_AUDIO_LIBS=`$PKG_CONFIG --libs "$which" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        GST_AUDIO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
+        else
+	        GST_AUDIO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GST_AUDIO_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+      HAVE_GST_AUDIO="no"
+      if test "x$required" = "xyes"; then
+        as_fn_error $? "$GST_AUDIO_PKG_ERRORS" "$LINENO" 5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_AUDIO_PKG_ERRORS" >&5
+$as_echo "$as_me: $GST_AUDIO_PKG_ERRORS" >&6;}
+      fi
+
+elif test $pkg_failed = untried; then
+
+      HAVE_GST_AUDIO="no"
+      if test "x$required" = "xyes"; then
+        as_fn_error $? "$GST_AUDIO_PKG_ERRORS" "$LINENO" 5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_AUDIO_PKG_ERRORS" >&5
+$as_echo "$as_me: $GST_AUDIO_PKG_ERRORS" >&6;}
+      fi
+
+else
+	GST_AUDIO_CFLAGS=$pkg_cv_GST_AUDIO_CFLAGS
+	GST_AUDIO_LIBS=$pkg_cv_GST_AUDIO_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+      HAVE_GST_AUDIO="yes"
+
+fi
+
+
+
+  which="gstreamer-pbutils-$GST_API_VERSION"
+    required=$GST_REQ
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GST_PBUTILS" >&5
+$as_echo_n "checking for GST_PBUTILS... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GST_PBUTILS_CFLAGS"; then
+        pkg_cv_GST_PBUTILS_CFLAGS="$GST_PBUTILS_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GST_PBUTILS_CFLAGS=`$PKG_CONFIG --cflags "$which" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GST_PBUTILS_LIBS"; then
+        pkg_cv_GST_PBUTILS_LIBS="$GST_PBUTILS_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GST_PBUTILS_LIBS=`$PKG_CONFIG --libs "$which" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        GST_PBUTILS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
+        else
+	        GST_PBUTILS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GST_PBUTILS_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+      HAVE_GST_PBUTILS="no"
+      if test "x$required" = "xyes"; then
+        as_fn_error $? "$GST_PBUTILS_PKG_ERRORS" "$LINENO" 5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_PBUTILS_PKG_ERRORS" >&5
+$as_echo "$as_me: $GST_PBUTILS_PKG_ERRORS" >&6;}
+      fi
+
+elif test $pkg_failed = untried; then
+
+      HAVE_GST_PBUTILS="no"
+      if test "x$required" = "xyes"; then
+        as_fn_error $? "$GST_PBUTILS_PKG_ERRORS" "$LINENO" 5
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_PBUTILS_PKG_ERRORS" >&5
+$as_echo "$as_me: $GST_PBUTILS_PKG_ERRORS" >&6;}
+      fi
+
+else
+	GST_PBUTILS_CFLAGS=$pkg_cv_GST_PBUTILS_CFLAGS
+	GST_PBUTILS_LIBS=$pkg_cv_GST_PBUTILS_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+      HAVE_GST_PBUTILS="yes"
+
+fi
+
+
+
  if test "x$HAVE_GST_CHECK" = "xyes"; then
   HAVE_GST_CHECK_TRUE=
   HAVE_GST_CHECK_FALSE='#'
@@ -28348,12 +28660,12 @@
         pkg_cv_GRAPHENE_CFLAGS="$GRAPHENE_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"graphene-1.0 >= 1.0.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "graphene-1.0 >= 1.0.0") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"graphene-1.0 >= 1.4.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "graphene-1.0 >= 1.4.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GRAPHENE_CFLAGS=`$PKG_CONFIG --cflags "graphene-1.0 >= 1.0.0" 2>/dev/null`
+  pkg_cv_GRAPHENE_CFLAGS=`$PKG_CONFIG --cflags "graphene-1.0 >= 1.4.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -28366,12 +28678,12 @@
         pkg_cv_GRAPHENE_LIBS="$GRAPHENE_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"graphene-1.0 >= 1.0.0\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "graphene-1.0 >= 1.0.0") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"graphene-1.0 >= 1.4.0\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "graphene-1.0 >= 1.4.0") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_GRAPHENE_LIBS=`$PKG_CONFIG --libs "graphene-1.0 >= 1.0.0" 2>/dev/null`
+  pkg_cv_GRAPHENE_LIBS=`$PKG_CONFIG --libs "graphene-1.0 >= 1.4.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -28390,9 +28702,9 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        GRAPHENE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "graphene-1.0 >= 1.0.0"`
+	        GRAPHENE_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "graphene-1.0 >= 1.4.0"`
         else
-	        GRAPHENE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "graphene-1.0 >= 1.0.0"`
+	        GRAPHENE_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "graphene-1.0 >= 1.4.0"`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$GRAPHENE_PKG_ERRORS" >&5
@@ -33023,6 +33335,49 @@
 
 
 
+  GST_PLUGINS_ALL="$GST_PLUGINS_ALL timecode"
+
+
+
+  # Check whether --enable-timecode was given.
+if test "${enable_timecode+set}" = set; then :
+  enableval=$enable_timecode;
+      case "${enableval}" in
+        yes) gst_use_timecode=yes ;;
+        no) gst_use_timecode=no ;;
+        *) as_fn_error $? "bad value ${enableval} for --enable-timecode" "$LINENO" 5 ;;
+       esac
+
+else
+  gst_use_timecode=yes
+fi
+
+  if test x$gst_use_timecode = xno; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: disabling dependency-less plugin timecode" >&5
+$as_echo "$as_me: disabling dependency-less plugin timecode" >&6;}
+    WITHOUT_PLUGINS="$WITHOUT_PLUGINS timecode"
+  fi
+
+
+    if [ -z "$WITH_PLUGINS" ] || echo " $WITH_PLUGINS " | tr , ' ' | grep -i " timecode " > /dev/null; then
+    GST_PLUGINS_SELECTED="$GST_PLUGINS_SELECTED timecode"
+  fi
+    if echo " $WITHOUT_PLUGINS " | tr , ' ' | grep -i " timecode " > /dev/null; then
+    GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ timecode / /'`
+  fi
+    if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " timecode " > /dev/null; then
+    GST_PLUGINS_SELECTED=`echo " $GST_PLUGINS_SELECTED " | $SED -e 's/ timecode / /'`
+  fi
+   if echo " $GST_PLUGINS_SELECTED " | grep -i " timecode " > /dev/null; then
+  USE_PLUGIN_TIMECODE_TRUE=
+  USE_PLUGIN_TIMECODE_FALSE='#'
+else
+  USE_PLUGIN_TIMECODE_TRUE='#'
+  USE_PLUGIN_TIMECODE_FALSE=
+fi
+
+
+
   GST_PLUGINS_ALL="$GST_PLUGINS_ALL tta"
 
 
@@ -33392,6 +33747,14 @@
 fi
 
 
+ac_fn_c_check_header_preproc "$LINENO" "QTKit/QTKit.h" "ac_cv_header_QTKit_QTKit_h"
+if test "x$ac_cv_header_QTKit_QTKit_h" = xyes; then :
+  HAVE_QTKIT="yes"
+else
+  HAVE_QTKIT="no"
+fi
+
+
 
 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
   old_LIBS=$LIBS
@@ -33450,6 +33813,19 @@
 
 fi
 
+ if test "x$HAVE_QTKIT" = "xyes"; then
+  HAVE_QTKIT_TRUE=
+  HAVE_QTKIT_FALSE='#'
+else
+  HAVE_QTKIT_TRUE='#'
+  HAVE_QTKIT_FALSE=
+fi
+
+if test "x$HAVE_QTKIT" = "xyes"; then
+
+$as_echo "#define HAVE_QTKIT 1" >>confdefs.h
+
+fi
 for ac_header in sys/socket.h
 do :
   ac_fn_c_check_header_mongrel "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default"
@@ -34723,6 +35099,17 @@
 $as_echo "yes" >&6; }
 	HAVE_WAYLAND_EGL=yes
 fi
+
+    # OS X and iOS always have GL available
+    case $host in
+      *-darwin*)
+        if test "x$HAVE_IOS" = "xyes"; then
+          HAVE_GLES2=yes
+        else
+          HAVE_GL=yes
+        fi
+      ;;
+    esac
   ;;
 esac
 
@@ -35517,6 +35904,7 @@
 GST_GL_HAVE_GLSYNC=0
 GST_GL_HAVE_GLUINT64=0
 GST_GL_HAVE_GLINT64=0
+GST_GL_HAVE_EGLATTRIB=0
 
 old_CFLAGS=$CFLAGS
 CFLAGS="$GL_CFLAGS $CFLAGS"
@@ -35626,6 +36014,27 @@
   GST_GL_HAVE_GLINT64=1
 fi
 
+if test "x$USE_EGL" = "xyes"; then
+  EGL_INCLUDES="$GL_INCLUDES
+  #include <EGL/egl.h>
+  #include <EGL/eglext.h>
+  "
+  ac_fn_c_check_type "$LINENO" "EGLAttrib" "ac_cv_type_EGLAttrib" "$EGL_INCLUDES
+"
+if test "x$ac_cv_type_EGLAttrib" = xyes; then :
+
+cat >>confdefs.h <<_ACEOF
+#define HAVE_EGLATTRIB 1
+_ACEOF
+
+
+fi
+
+  if test "x$ac_cv_type_EGLAttrib" = "xyes"; then
+    GST_GL_HAVE_EGLATTRIB=1
+  fi
+fi
+
 CFLAGS=$old_CFLAGS
 
 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
@@ -35636,6 +36045,7 @@
 #define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
 #define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
 #define GST_GL_HAVE_GLINT64 $GST_GL_HAVE_GLINT64
+#define GST_GL_HAVE_EGLATTRIB $GST_GL_HAVE_EGLATTRIB
 "
 
 ac_config_commands="$ac_config_commands gst-libs/gst/gl/gstglconfig.h"
@@ -37991,196 +38401,6 @@
   HAVE_NVENC=no
 
 
-  which="gstreamer-video-1.0"
-    required="no"
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GST_VIDEO" >&5
-$as_echo_n "checking for GST_VIDEO... " >&6; }
-
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GST_VIDEO_CFLAGS"; then
-        pkg_cv_GST_VIDEO_CFLAGS="$GST_VIDEO_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GST_VIDEO_CFLAGS=`$PKG_CONFIG --cflags "$which" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GST_VIDEO_LIBS"; then
-        pkg_cv_GST_VIDEO_LIBS="$GST_VIDEO_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GST_VIDEO_LIBS=`$PKG_CONFIG --libs "$which" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        GST_VIDEO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
-        else
-	        GST_VIDEO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$GST_VIDEO_PKG_ERRORS" >&5
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-      HAVE_GST_VIDEO="no"
-      if test "x$required" = "xyes"; then
-        as_fn_error $? "$GST_VIDEO_PKG_ERRORS" "$LINENO" 5
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_VIDEO_PKG_ERRORS" >&5
-$as_echo "$as_me: $GST_VIDEO_PKG_ERRORS" >&6;}
-      fi
-
-elif test $pkg_failed = untried; then
-
-      HAVE_GST_VIDEO="no"
-      if test "x$required" = "xyes"; then
-        as_fn_error $? "$GST_VIDEO_PKG_ERRORS" "$LINENO" 5
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_VIDEO_PKG_ERRORS" >&5
-$as_echo "$as_me: $GST_VIDEO_PKG_ERRORS" >&6;}
-      fi
-
-else
-	GST_VIDEO_CFLAGS=$pkg_cv_GST_VIDEO_CFLAGS
-	GST_VIDEO_LIBS=$pkg_cv_GST_VIDEO_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-      HAVE_GST_VIDEO="yes"
-
-fi
-
-
-
-  which="gstreamer-pbutils-1.0"
-    required="no"
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GST_PBUTILS" >&5
-$as_echo_n "checking for GST_PBUTILS... " >&6; }
-
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GST_PBUTILS_CFLAGS"; then
-        pkg_cv_GST_PBUTILS_CFLAGS="$GST_PBUTILS_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GST_PBUTILS_CFLAGS=`$PKG_CONFIG --cflags "$which" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GST_PBUTILS_LIBS"; then
-        pkg_cv_GST_PBUTILS_LIBS="$GST_PBUTILS_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GST_PBUTILS_LIBS=`$PKG_CONFIG --libs "$which" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        GST_PBUTILS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
-        else
-	        GST_PBUTILS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$GST_PBUTILS_PKG_ERRORS" >&5
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-      HAVE_GST_PBUTILS="no"
-      if test "x$required" = "xyes"; then
-        as_fn_error $? "$GST_PBUTILS_PKG_ERRORS" "$LINENO" 5
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_PBUTILS_PKG_ERRORS" >&5
-$as_echo "$as_me: $GST_PBUTILS_PKG_ERRORS" >&6;}
-      fi
-
-elif test $pkg_failed = untried; then
-
-      HAVE_GST_PBUTILS="no"
-      if test "x$required" = "xyes"; then
-        as_fn_error $? "$GST_PBUTILS_PKG_ERRORS" "$LINENO" 5
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_PBUTILS_PKG_ERRORS" >&5
-$as_echo "$as_me: $GST_PBUTILS_PKG_ERRORS" >&6;}
-      fi
-
-else
-	GST_PBUTILS_CFLAGS=$pkg_cv_GST_PBUTILS_CFLAGS
-	GST_PBUTILS_LIBS=$pkg_cv_GST_PBUTILS_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-      HAVE_GST_PBUTILS="yes"
-
-fi
-
-
-
 # Check whether --with-cuda-prefix was given.
 if test "${with_cuda_prefix+set}" = set; then :
   withval=$with_cuda_prefix; if test "x$with_cuda_prefix" != "x"; then :
@@ -42762,6 +42982,169 @@
 
 
 echo
+{ $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: fdkaac plugin ***" >&5
+$as_echo "$as_me: *** checking feature: fdkaac plugin ***" >&6;}
+if test "xfdkaac" != "x"
+then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: *** for plug-ins: fdkaac ***" >&5
+$as_echo "$as_me: *** for plug-ins: fdkaac ***" >&6;}
+fi
+NOUSE=
+if test "x$USE_FDK_AAC" = "xno"; then
+  NOUSE="yes"
+fi
+# Check whether --enable-fdk_aac was given.
+if test "${enable_fdk_aac+set}" = set; then :
+  enableval=$enable_fdk_aac;  case "${enableval}" in
+      yes) USE_FDK_AAC=yes;;
+      no) USE_FDK_AAC=no;;
+      *) as_fn_error $? "bad value ${enableval} for --enable-fdk_aac" "$LINENO" 5 ;;
+    esac
+else
+   USE_FDK_AAC=yes
+fi
+
+if test "x$NOUSE" = "xyes"; then
+  USE_FDK_AAC="no"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** fdkaac pre-configured not to be built" >&5
+$as_echo "$as_me: WARNING: *** fdkaac pre-configured not to be built" >&2;}
+fi
+NOUSE=
+
+if echo " $GST_PLUGINS_NONPORTED " | tr , ' ' | grep -i " FDK_AAC " > /dev/null; then
+  USE_FDK_AAC="no"
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** fdkaac not ported" >&5
+$as_echo "$as_me: WARNING: *** fdkaac not ported" >&2;}
+fi
+
+
+if test x$USE_FDK_AAC = xyes; then
+
+  gst_check_save_LIBS=$LIBS
+  gst_check_save_LDFLAGS=$LDFLAGS
+  gst_check_save_CFLAGS=$CFLAGS
+  gst_check_save_CPPFLAGS=$CPPFLAGS
+  gst_check_save_CXXFLAGS=$CXXFLAGS
+
+  HAVE_FDK_AAC=no
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for FDK_AAC" >&5
+$as_echo_n "checking for FDK_AAC... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$FDK_AAC_CFLAGS"; then
+        pkg_cv_FDK_AAC_CFLAGS="$FDK_AAC_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fdk-aac\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "fdk-aac") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_FDK_AAC_CFLAGS=`$PKG_CONFIG --cflags "fdk-aac" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$FDK_AAC_LIBS"; then
+        pkg_cv_FDK_AAC_LIBS="$FDK_AAC_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"fdk-aac\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "fdk-aac") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_FDK_AAC_LIBS=`$PKG_CONFIG --libs "fdk-aac" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        FDK_AAC_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "fdk-aac"`
+        else
+	        FDK_AAC_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "fdk-aac"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$FDK_AAC_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+    HAVE_FDK_AAC="no"
+
+elif test $pkg_failed = untried; then
+
+    HAVE_FDK_AAC="no"
+
+else
+	FDK_AAC_CFLAGS=$pkg_cv_FDK_AAC_CFLAGS
+	FDK_AAC_LIBS=$pkg_cv_FDK_AAC_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	HAVE_FDK_AAC="yes"
+fi
+
+
+  LIBS=$gst_check_save_LIBS
+  LDFLAGS=$gst_check_save_LDFLAGS
+  CFLAGS=$gst_check_save_CFLAGS
+  CPPFLAGS=$gst_check_save_CPPFLAGS
+  CXXFLAGS=$gst_check_save_CXXFLAGS
+
+    if test x$HAVE_FDK_AAC = xno; then
+    USE_FDK_AAC=no
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will be built: fdkaac" >&5
+$as_echo "$as_me: *** These plugins will be built: fdkaac" >&6;}
+  fi
+fi
+if test x$USE_FDK_AAC = xyes; then
+  :
+  if test "xfdkaac" != "x"; then
+    GST_PLUGINS_YES="\tfdkaac\n$GST_PLUGINS_YES"
+  fi
+
+$as_echo "#define HAVE_FDK_AAC /**/" >>confdefs.h
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: *** These plugins will not be built: fdkaac" >&5
+$as_echo "$as_me: *** These plugins will not be built: fdkaac" >&6;}
+  if test "xfdkaac" != "x"; then
+    GST_PLUGINS_NO="\tfdkaac\n$GST_PLUGINS_NO"
+  fi
+  :
+fi
+ if test x$USE_FDK_AAC = xyes; then
+  USE_FDK_AAC_TRUE=
+  USE_FDK_AAC_FALSE='#'
+else
+  USE_FDK_AAC_TRUE='#'
+  USE_FDK_AAC_FALSE=
+fi
+
+
+
+echo
 { $as_echo "$as_me:${as_lineno-$LINENO}: *** checking feature: Flite plugin ***" >&5
 $as_echo "$as_me: *** checking feature: Flite plugin ***" >&6;}
 if test "xflite" != "x"
@@ -43612,101 +43995,6 @@
   HAVE_KMS=no
 
 
-  which="gstreamer-video-1.0"
-    required="no"
-
-
-pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GST_VIDEO" >&5
-$as_echo_n "checking for GST_VIDEO... " >&6; }
-
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GST_VIDEO_CFLAGS"; then
-        pkg_cv_GST_VIDEO_CFLAGS="$GST_VIDEO_CFLAGS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GST_VIDEO_CFLAGS=`$PKG_CONFIG --cflags "$which" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-if test -n "$PKG_CONFIG"; then
-    if test -n "$GST_VIDEO_LIBS"; then
-        pkg_cv_GST_VIDEO_LIBS="$GST_VIDEO_LIBS"
-    else
-        if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$which\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "$which") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_GST_VIDEO_LIBS=`$PKG_CONFIG --libs "$which" 2>/dev/null`
-else
-  pkg_failed=yes
-fi
-    fi
-else
-	pkg_failed=untried
-fi
-
-
-
-if test $pkg_failed = yes; then
-
-if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
-        _pkg_short_errors_supported=yes
-else
-        _pkg_short_errors_supported=no
-fi
-        if test $_pkg_short_errors_supported = yes; then
-	        GST_VIDEO_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$which"`
-        else
-	        GST_VIDEO_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$which"`
-        fi
-	# Put the nasty error message in config.log where it belongs
-	echo "$GST_VIDEO_PKG_ERRORS" >&5
-
-	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-
-      HAVE_GST_VIDEO="no"
-      if test "x$required" = "xyes"; then
-        as_fn_error $? "$GST_VIDEO_PKG_ERRORS" "$LINENO" 5
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_VIDEO_PKG_ERRORS" >&5
-$as_echo "$as_me: $GST_VIDEO_PKG_ERRORS" >&6;}
-      fi
-
-elif test $pkg_failed = untried; then
-
-      HAVE_GST_VIDEO="no"
-      if test "x$required" = "xyes"; then
-        as_fn_error $? "$GST_VIDEO_PKG_ERRORS" "$LINENO" 5
-      else
-        { $as_echo "$as_me:${as_lineno-$LINENO}: $GST_VIDEO_PKG_ERRORS" >&5
-$as_echo "$as_me: $GST_VIDEO_PKG_ERRORS" >&6;}
-      fi
-
-else
-	GST_VIDEO_CFLAGS=$pkg_cv_GST_VIDEO_CFLAGS
-	GST_VIDEO_LIBS=$pkg_cv_GST_VIDEO_LIBS
-        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-      HAVE_GST_VIDEO="yes"
-
-fi
-
-
-
   which="gstreamer-allocators-1.0"
     required="no"
 
@@ -44145,12 +44433,12 @@
         pkg_cv_LILV_CFLAGS="$LILV_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lilv-0 >= 0.6.6\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "lilv-0 >= 0.6.6") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lilv-0 >= 0.22\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "lilv-0 >= 0.22") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_LILV_CFLAGS=`$PKG_CONFIG --cflags "lilv-0 >= 0.6.6" 2>/dev/null`
+  pkg_cv_LILV_CFLAGS=`$PKG_CONFIG --cflags "lilv-0 >= 0.22" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -44163,12 +44451,12 @@
         pkg_cv_LILV_LIBS="$LILV_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lilv-0 >= 0.6.6\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "lilv-0 >= 0.6.6") 2>&5
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lilv-0 >= 0.22\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "lilv-0 >= 0.22") 2>&5
   ac_status=$?
   $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
   test $ac_status = 0; }; then
-  pkg_cv_LILV_LIBS=`$PKG_CONFIG --libs "lilv-0 >= 0.6.6" 2>/dev/null`
+  pkg_cv_LILV_LIBS=`$PKG_CONFIG --libs "lilv-0 >= 0.22" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -44187,9 +44475,71 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        LILV_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lilv-0 >= 0.6.6"`
+	        LILV_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lilv-0 >= 0.22"`
         else
-	        LILV_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lilv-0 >= 0.6.6"`
+	        LILV_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lilv-0 >= 0.22"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$LILV_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LILV" >&5
+$as_echo_n "checking for LILV... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$LILV_CFLAGS"; then
+        pkg_cv_LILV_CFLAGS="$LILV_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lilv-0 >= 0.16\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "lilv-0 >= 0.16") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LILV_CFLAGS=`$PKG_CONFIG --cflags "lilv-0 >= 0.16" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$LILV_LIBS"; then
+        pkg_cv_LILV_LIBS="$LILV_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lilv-0 >= 0.16\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "lilv-0 >= 0.16") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LILV_LIBS=`$PKG_CONFIG --libs "lilv-0 >= 0.16" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        LILV_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lilv-0 >= 0.16"`
+        else
+	        LILV_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lilv-0 >= 0.16"`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$LILV_PKG_ERRORS" >&5
@@ -44207,6 +44557,94 @@
 	HAVE_LV2="yes"
 fi
 
+elif test $pkg_failed = untried; then
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LILV" >&5
+$as_echo_n "checking for LILV... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$LILV_CFLAGS"; then
+        pkg_cv_LILV_CFLAGS="$LILV_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lilv-0 >= 0.16\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "lilv-0 >= 0.16") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LILV_CFLAGS=`$PKG_CONFIG --cflags "lilv-0 >= 0.16" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$LILV_LIBS"; then
+        pkg_cv_LILV_LIBS="$LILV_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lilv-0 >= 0.16\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "lilv-0 >= 0.16") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LILV_LIBS=`$PKG_CONFIG --libs "lilv-0 >= 0.16" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        LILV_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "lilv-0 >= 0.16"`
+        else
+	        LILV_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "lilv-0 >= 0.16"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$LILV_PKG_ERRORS" >&5
+
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+                HAVE_LV2="no"
+elif test $pkg_failed = untried; then
+	HAVE_LV2="no"
+else
+	LILV_CFLAGS=$pkg_cv_LILV_CFLAGS
+	LILV_LIBS=$pkg_cv_LILV_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	HAVE_LV2="yes"
+fi
+
+else
+	LILV_CFLAGS=$pkg_cv_LILV_CFLAGS
+	LILV_LIBS=$pkg_cv_LILV_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+    HAVE_LV2="yes",
+    HAVE_LILV_0_22="yes"
+
+$as_echo "#define HAVE_LILV_0_22 1" >>confdefs.h
+
+
+fi
+
 
 
 
@@ -57907,16 +58345,9 @@
 
   HAVE_WEBRTCDSP=no
 
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
-  old_CPPFLAGS=$CPPFLAGS
-  CPPFLAGS="-std=c++11 $CPPFLAGS"
 
-  which="webrtc-audio-processing = 0.2"
+  which="webrtc-audio-processing >= 0.2 webrtc-audio-processing < 0.4"
     required="no"
 
 
@@ -58010,8 +58441,120 @@
 fi
 
 
-  ac_fn_cxx_check_header_mongrel "$LINENO" "typeindex" "ac_cv_header_typeindex" "$ac_includes_default"
-if test "x$ac_cv_header_typeindex" = xyes; then :
+
+  # On Android, C++ headers comes with the STL implementation
+  case "${host}" in #(
+  *android*) :
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNUSTL" >&5
+$as_echo_n "checking for GNUSTL... " >&6; }
+
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GNUSTL_CFLAGS"; then
+        pkg_cv_GNUSTL_CFLAGS="$GNUSTL_CFLAGS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnustl\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gnustl") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GNUSTL_CFLAGS=`$PKG_CONFIG --cflags "gnustl" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+if test -n "$PKG_CONFIG"; then
+    if test -n "$GNUSTL_LIBS"; then
+        pkg_cv_GNUSTL_LIBS="$GNUSTL_LIBS"
+    else
+        if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnustl\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "gnustl") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_GNUSTL_LIBS=`$PKG_CONFIG --libs "gnustl" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+    fi
+else
+	pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        GNUSTL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gnustl"`
+        else
+	        GNUSTL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gnustl"`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$GNUSTL_PKG_ERRORS" >&5
+
+	as_fn_error $? "Package requirements (gnustl) were not met:
+
+$GNUSTL_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables GNUSTL_CFLAGS
+and GNUSTL_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+" "$LINENO" 5
+elif test $pkg_failed = untried; then
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables GNUSTL_CFLAGS
+and GNUSTL_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+	GNUSTL_CFLAGS=$pkg_cv_GNUSTL_CFLAGS
+	GNUSTL_LIBS=$pkg_cv_GNUSTL_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+          WEBRTCDSP_CFLAGS="$WEBRTCDSP_CFLAGS $GNUSTL_CFLAGS"
+          WEBRTCDSP_LIBS="$WEBRTCDSP_LIBS $GNUSTL_LIBS"
+fi
+       ;; #(
+  *) :
+     ;;
+esac
+
+
+
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+  old_CPPFLAGS=$CPPFLAGS
+  CPPFLAGS="-std=c++11 $CPPFLAGS $GNUSTL_CFLAGS"
+  ac_fn_cxx_check_header_mongrel "$LINENO" "vector" "ac_cv_header_vector" "$ac_includes_default"
+if test "x$ac_cv_header_vector" = xyes; then :
 
 else
   HAVE_WEBRTCDSP=no
@@ -58246,6 +58789,14 @@
 fi
 
  if false; then
+  USE_FDK_AAC_TRUE=
+  USE_FDK_AAC_FALSE='#'
+else
+  USE_FDK_AAC_TRUE='#'
+  USE_FDK_AAC_FALSE=
+fi
+
+ if false; then
   USE_FLITE_TRUE=
   USE_FLITE_FALSE='#'
 else
@@ -58694,6 +59245,14 @@
 fi
 
  if false; then
+  USE_WEBRTCDSP_TRUE=
+  USE_WEBRTCDSP_FALSE='#'
+else
+  USE_WEBRTCDSP_TRUE='#'
+  USE_WEBRTCDSP_FALSE=
+fi
+
+ if false; then
   USE_OPENH264_TRUE=
   USE_OPENH264_FALSE='#'
 else
@@ -58771,7 +59330,7 @@
 $MKDIR_P tests/check/orc
 
 
-ac_config_files="$ac_config_files Makefile common/Makefile common/m4/Makefile gst-plugins-bad.spec gst/Makefile gst/accurip/Makefile gst/adpcmdec/Makefile gst/adpcmenc/Makefile gst/aiff/Makefile gst/videoframe_audiolevel/Makefile gst/asfmux/Makefile gst/audiofxbad/Makefile gst/audiomixer/Makefile gst/audiovisualizers/Makefile gst/autoconvert/Makefile gst/bayer/Makefile gst/camerabin2/Makefile gst/cdxaparse/Makefile gst/coloreffects/Makefile gst/dataurisrc/Makefile gst/dccp/Makefile gst/debugutils/Makefile gst/dvbsuboverlay/Makefile gst/dvdspu/Makefile gst/faceoverlay/Makefile gst/festival/Makefile gst/fieldanalysis/Makefile gst/freeverb/Makefile gst/frei0r/Makefile gst/gaudieffects/Makefile gst/geometrictransform/Makefile gst/gdp/Makefile gst/hdvparse/Makefile gst/id3tag/Makefile gst/inter/Makefile gst/interlace/Makefile gst/ivfparse/Makefile gst/ivtc/Makefile gst/jp2kdecimator/Makefile gst/jpegformat/Makefile gst/librfb/Makefile gst/midi/Makefile gst/mpegdemux/Makefile gst/mpegtsdemux/Makefile gst/mpegtsmux/Makefile gst/mpegtsmux/tsmux/Makefile gst/mpegpsmux/Makefile gst/mve/Makefile gst/mxf/Makefile gst/netsim/Makefile gst/nuvdemux/Makefile gst/onvif/Makefile gst/patchdetect/Makefile gst/pcapparse/Makefile gst/pnm/Makefile gst/rawparse/Makefile gst/removesilence/Makefile gst/sdi/Makefile gst/sdp/Makefile gst/segmentclip/Makefile gst/siren/Makefile gst/smooth/Makefile gst/speed/Makefile gst/subenc/Makefile gst/stereo/Makefile gst/tta/Makefile gst/videofilters/Makefile gst/videomeasure/Makefile gst/videoparsers/Makefile gst/videosignal/Makefile gst/vmnc/Makefile gst/y4m/Makefile gst/yadif/Makefile gst/compositor/Makefile gst-libs/Makefile gst-libs/gst/Makefile gst-libs/gst/adaptivedemux/Makefile gst-libs/gst/basecamerabinsrc/Makefile gst-libs/gst/gl/Makefile gst-libs/gst/gl/android/Makefile gst-libs/gst/gl/cocoa/Makefile gst-libs/gst/gl/dispmanx/Makefile gst-libs/gst/gl/glprototypes/Makefile gst-libs/gst/gl/eagl/Makefile gst-libs/gst/gl/egl/Makefile gst-libs/gst/gl/wayland/Makefile gst-libs/gst/gl/win32/Makefile gst-libs/gst/gl/x11/Makefile gst-libs/gst/insertbin/Makefile gst-libs/gst/interfaces/Makefile gst-libs/gst/codecparsers/Makefile gst-libs/gst/mpegts/Makefile gst-libs/gst/uridownloader/Makefile gst-libs/gst/wayland/Makefile gst-libs/gst/base/Makefile gst-libs/gst/player/Makefile gst-libs/gst/video/Makefile gst-libs/gst/audio/Makefile sys/Makefile sys/dshowdecwrapper/Makefile sys/acmenc/Makefile sys/acmmp3dec/Makefile sys/androidmedia/Makefile sys/applemedia/Makefile sys/applemedia-nonpublic/Makefile sys/avc/Makefile sys/bluez/Makefile sys/d3dvideosink/Makefile sys/decklink/Makefile sys/directsound/Makefile sys/dshowsrcwrapper/Makefile sys/dshowvideosink/Makefile sys/dvb/Makefile sys/fbdev/Makefile sys/kms/Makefile sys/linsys/Makefile sys/nvenc/Makefile sys/opensles/Makefile sys/shm/Makefile sys/tinyalsa/Makefile sys/uvch264/Makefile sys/vcd/Makefile sys/vdpau/Makefile sys/pvr2d/Makefile sys/wasapi/Makefile sys/wininet/Makefile sys/winks/Makefile sys/winscreencap/Makefile tests/Makefile tests/check/Makefile tests/files/Makefile tests/examples/Makefile tests/examples/avsamplesink/Makefile tests/examples/camerabin2/Makefile tests/examples/codecparsers/Makefile tests/examples/directfb/Makefile tests/examples/gl/Makefile tests/examples/gl/cocoa/Makefile tests/examples/gl/clutter/Makefile tests/examples/gl/generic/Makefile tests/examples/gl/generic/cube/Makefile tests/examples/gl/generic/cubeyuv/Makefile tests/examples/gl/generic/doublecube/Makefile tests/examples/gl/generic/recordgraphic/Makefile tests/examples/gl/gtk/Makefile tests/examples/gl/gtk/3dvideo/Makefile tests/examples/gl/gtk/filternovideooverlay/Makefile tests/examples/gl/gtk/filtervideooverlay/Makefile tests/examples/gl/gtk/fxtest/Makefile tests/examples/gl/gtk/switchvideooverlay/Makefile tests/examples/gl/qt/Makefile tests/examples/gl/sdl/Makefile tests/examples/gtk/Makefile tests/examples/mpegts/Makefile tests/examples/mxf/Makefile tests/examples/opencv/Makefile tests/examples/uvch264/Makefile tests/examples/waylandsink/Makefile tests/icles/Makefile ext/voamrwbenc/Makefile ext/voaacenc/Makefile ext/assrender/Makefile ext/apexsink/Makefile ext/bs2b/Makefile ext/bz2/Makefile ext/chromaprint/Makefile ext/curl/Makefile ext/dash/Makefile ext/dc1394/Makefile ext/directfb/Makefile ext/wayland/Makefile ext/daala/Makefile ext/dts/Makefile ext/gl/Makefile ext/gtk/Makefile ext/faac/Makefile ext/faad/Makefile ext/flite/Makefile ext/fluidsynth/Makefile ext/gsm/Makefile ext/hls/Makefile ext/kate/Makefile ext/ladspa/Makefile ext/lv2/Makefile ext/libde265/Makefile ext/libmms/Makefile ext/libvisual/Makefile ext/Makefile ext/modplug/Makefile ext/mpeg2enc/Makefile ext/mimic/Makefile ext/mplex/Makefile ext/musepack/Makefile ext/nas/Makefile ext/neon/Makefile ext/ofa/Makefile ext/openal/Makefile ext/opencv/Makefile ext/openexr/Makefile ext/openh264/Makefile ext/openjpeg/Makefile ext/openni2/Makefile ext/opus/Makefile ext/qt/Makefile ext/rsvg/Makefile ext/resindvd/Makefile ext/rtmp/Makefile ext/sbc/Makefile ext/schroedinger/Makefile ext/sdl/Makefile ext/smoothstreaming/Makefile ext/sndfile/Makefile ext/soundtouch/Makefile ext/spandsp/Makefile ext/sndio/Makefile ext/srtp/Makefile ext/teletextdec/Makefile ext/gme/Makefile ext/spc/Makefile ext/timidity/Makefile ext/vulkan/Makefile ext/vulkan/xcb/Makefile ext/vulkan/wayland/Makefile ext/webp/Makefile ext/x265/Makefile ext/xvid/Makefile ext/zbar/Makefile ext/dtls/Makefile ext/webrtcdsp/Makefile po/Makefile.in docs/Makefile docs/plugins/Makefile docs/libs/Makefile docs/version.entities pkgconfig/Makefile pkgconfig/gstreamer-plugins-bad.pc pkgconfig/gstreamer-plugins-bad-uninstalled.pc pkgconfig/gstreamer-codecparsers.pc pkgconfig/gstreamer-codecparsers-uninstalled.pc pkgconfig/gstreamer-insertbin.pc pkgconfig/gstreamer-insertbin-uninstalled.pc pkgconfig/gstreamer-gl.pc pkgconfig/gstreamer-gl-uninstalled.pc pkgconfig/gstreamer-mpegts.pc pkgconfig/gstreamer-mpegts-uninstalled.pc pkgconfig/gstreamer-player.pc pkgconfig/gstreamer-player-uninstalled.pc pkgconfig/gstreamer-wayland.pc pkgconfig/gstreamer-wayland-uninstalled.pc pkgconfig/gstreamer-bad-base.pc pkgconfig/gstreamer-bad-base-uninstalled.pc pkgconfig/gstreamer-bad-video.pc pkgconfig/gstreamer-bad-video-uninstalled.pc pkgconfig/gstreamer-bad-audio.pc pkgconfig/gstreamer-bad-audio-uninstalled.pc tools/Makefile m4/Makefile"
+ac_config_files="$ac_config_files Makefile common/Makefile common/m4/Makefile gst-plugins-bad.spec gst/Makefile gst/accurip/Makefile gst/adpcmdec/Makefile gst/adpcmenc/Makefile gst/aiff/Makefile gst/videoframe_audiolevel/Makefile gst/asfmux/Makefile gst/audiofxbad/Makefile gst/audiomixer/Makefile gst/audiovisualizers/Makefile gst/autoconvert/Makefile gst/bayer/Makefile gst/camerabin2/Makefile gst/cdxaparse/Makefile gst/coloreffects/Makefile gst/dataurisrc/Makefile gst/dccp/Makefile gst/debugutils/Makefile gst/dvbsuboverlay/Makefile gst/dvdspu/Makefile gst/faceoverlay/Makefile gst/festival/Makefile gst/fieldanalysis/Makefile gst/freeverb/Makefile gst/frei0r/Makefile gst/gaudieffects/Makefile gst/geometrictransform/Makefile gst/gdp/Makefile gst/hdvparse/Makefile gst/id3tag/Makefile gst/inter/Makefile gst/interlace/Makefile gst/ivfparse/Makefile gst/ivtc/Makefile gst/jp2kdecimator/Makefile gst/jpegformat/Makefile gst/librfb/Makefile gst/midi/Makefile gst/mpegdemux/Makefile gst/mpegtsdemux/Makefile gst/mpegtsmux/Makefile gst/mpegtsmux/tsmux/Makefile gst/mpegpsmux/Makefile gst/mve/Makefile gst/mxf/Makefile gst/netsim/Makefile gst/nuvdemux/Makefile gst/onvif/Makefile gst/patchdetect/Makefile gst/pcapparse/Makefile gst/pnm/Makefile gst/rawparse/Makefile gst/removesilence/Makefile gst/sdi/Makefile gst/sdp/Makefile gst/segmentclip/Makefile gst/siren/Makefile gst/smooth/Makefile gst/speed/Makefile gst/subenc/Makefile gst/stereo/Makefile gst/tta/Makefile gst/timecode/Makefile gst/videofilters/Makefile gst/videomeasure/Makefile gst/videoparsers/Makefile gst/videosignal/Makefile gst/vmnc/Makefile gst/y4m/Makefile gst/yadif/Makefile gst/compositor/Makefile gst-libs/Makefile gst-libs/gst/Makefile gst-libs/gst/adaptivedemux/Makefile gst-libs/gst/basecamerabinsrc/Makefile gst-libs/gst/gl/Makefile gst-libs/gst/gl/android/Makefile gst-libs/gst/gl/cocoa/Makefile gst-libs/gst/gl/dispmanx/Makefile gst-libs/gst/gl/glprototypes/Makefile gst-libs/gst/gl/eagl/Makefile gst-libs/gst/gl/egl/Makefile gst-libs/gst/gl/wayland/Makefile gst-libs/gst/gl/win32/Makefile gst-libs/gst/gl/x11/Makefile gst-libs/gst/insertbin/Makefile gst-libs/gst/interfaces/Makefile gst-libs/gst/codecparsers/Makefile gst-libs/gst/mpegts/Makefile gst-libs/gst/uridownloader/Makefile gst-libs/gst/wayland/Makefile gst-libs/gst/base/Makefile gst-libs/gst/player/Makefile gst-libs/gst/video/Makefile gst-libs/gst/audio/Makefile sys/Makefile sys/dshowdecwrapper/Makefile sys/acmenc/Makefile sys/acmmp3dec/Makefile sys/androidmedia/Makefile sys/applemedia/Makefile sys/avc/Makefile sys/bluez/Makefile sys/d3dvideosink/Makefile sys/decklink/Makefile sys/directsound/Makefile sys/dshowsrcwrapper/Makefile sys/dshowvideosink/Makefile sys/dvb/Makefile sys/fbdev/Makefile sys/kms/Makefile sys/linsys/Makefile sys/nvenc/Makefile sys/opensles/Makefile sys/shm/Makefile sys/tinyalsa/Makefile sys/uvch264/Makefile sys/vcd/Makefile sys/vdpau/Makefile sys/pvr2d/Makefile sys/wasapi/Makefile sys/wininet/Makefile sys/winks/Makefile sys/winscreencap/Makefile tests/Makefile tests/check/Makefile tests/files/Makefile tests/examples/Makefile tests/examples/avsamplesink/Makefile tests/examples/camerabin2/Makefile tests/examples/codecparsers/Makefile tests/examples/directfb/Makefile tests/examples/gl/Makefile tests/examples/gl/cocoa/Makefile tests/examples/gl/clutter/Makefile tests/examples/gl/generic/Makefile tests/examples/gl/generic/cube/Makefile tests/examples/gl/generic/cubeyuv/Makefile tests/examples/gl/generic/doublecube/Makefile tests/examples/gl/generic/recordgraphic/Makefile tests/examples/gl/gtk/Makefile tests/examples/gl/gtk/3dvideo/Makefile tests/examples/gl/gtk/filternovideooverlay/Makefile tests/examples/gl/gtk/filtervideooverlay/Makefile tests/examples/gl/gtk/fxtest/Makefile tests/examples/gl/gtk/switchvideooverlay/Makefile tests/examples/gl/qt/Makefile tests/examples/gl/sdl/Makefile tests/examples/gtk/Makefile tests/examples/mpegts/Makefile tests/examples/mxf/Makefile tests/examples/opencv/Makefile tests/examples/uvch264/Makefile tests/examples/waylandsink/Makefile tests/icles/Makefile ext/voamrwbenc/Makefile ext/voaacenc/Makefile ext/assrender/Makefile ext/apexsink/Makefile ext/bs2b/Makefile ext/bz2/Makefile ext/chromaprint/Makefile ext/curl/Makefile ext/dash/Makefile ext/dc1394/Makefile ext/directfb/Makefile ext/wayland/Makefile ext/daala/Makefile ext/dts/Makefile ext/gl/Makefile ext/gtk/Makefile ext/faac/Makefile ext/faad/Makefile ext/fdkaac/Makefile ext/flite/Makefile ext/fluidsynth/Makefile ext/gsm/Makefile ext/hls/Makefile ext/kate/Makefile ext/ladspa/Makefile ext/lv2/Makefile ext/libde265/Makefile ext/libmms/Makefile ext/libvisual/Makefile ext/Makefile ext/modplug/Makefile ext/mpeg2enc/Makefile ext/mimic/Makefile ext/mplex/Makefile ext/musepack/Makefile ext/nas/Makefile ext/neon/Makefile ext/ofa/Makefile ext/openal/Makefile ext/opencv/Makefile ext/openexr/Makefile ext/openh264/Makefile ext/openjpeg/Makefile ext/openni2/Makefile ext/opus/Makefile ext/qt/Makefile ext/rsvg/Makefile ext/resindvd/Makefile ext/rtmp/Makefile ext/sbc/Makefile ext/schroedinger/Makefile ext/sdl/Makefile ext/smoothstreaming/Makefile ext/sndfile/Makefile ext/soundtouch/Makefile ext/spandsp/Makefile ext/sndio/Makefile ext/srtp/Makefile ext/teletextdec/Makefile ext/gme/Makefile ext/spc/Makefile ext/timidity/Makefile ext/vulkan/Makefile ext/vulkan/xcb/Makefile ext/vulkan/wayland/Makefile ext/webp/Makefile ext/x265/Makefile ext/xvid/Makefile ext/zbar/Makefile ext/dtls/Makefile ext/webrtcdsp/Makefile po/Makefile.in docs/Makefile docs/plugins/Makefile docs/libs/Makefile docs/version.entities pkgconfig/Makefile pkgconfig/gstreamer-plugins-bad.pc pkgconfig/gstreamer-plugins-bad-uninstalled.pc pkgconfig/gstreamer-codecparsers.pc pkgconfig/gstreamer-codecparsers-uninstalled.pc pkgconfig/gstreamer-insertbin.pc pkgconfig/gstreamer-insertbin-uninstalled.pc pkgconfig/gstreamer-gl.pc pkgconfig/gstreamer-gl-uninstalled.pc pkgconfig/gstreamer-mpegts.pc pkgconfig/gstreamer-mpegts-uninstalled.pc pkgconfig/gstreamer-player.pc pkgconfig/gstreamer-player-uninstalled.pc pkgconfig/gstreamer-wayland.pc pkgconfig/gstreamer-wayland-uninstalled.pc pkgconfig/gstreamer-bad-base.pc pkgconfig/gstreamer-bad-base-uninstalled.pc pkgconfig/gstreamer-bad-video.pc pkgconfig/gstreamer-bad-video-uninstalled.pc pkgconfig/gstreamer-bad-audio.pc pkgconfig/gstreamer-bad-audio-uninstalled.pc tools/Makefile m4/Makefile"
 
 
 sed \
@@ -59382,6 +59941,10 @@
   as_fn_error $? "conditional \"USE_PLUGIN_STEREO\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${USE_PLUGIN_TIMECODE_TRUE}" && test -z "${USE_PLUGIN_TIMECODE_FALSE}"; then
+  as_fn_error $? "conditional \"USE_PLUGIN_TIMECODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${USE_PLUGIN_TTA_TRUE}" && test -z "${USE_PLUGIN_TTA_FALSE}"; then
   as_fn_error $? "conditional \"USE_PLUGIN_TTA\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -59426,6 +59989,10 @@
   as_fn_error $? "conditional \"HAVE_VIDEOTOOLBOX\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${HAVE_QTKIT_TRUE}" && test -z "${HAVE_QTKIT_FALSE}"; then
+  as_fn_error $? "conditional \"HAVE_QTKIT\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${USE_PLUGIN_DCCP_TRUE}" && test -z "${USE_PLUGIN_DCCP_FALSE}"; then
   as_fn_error $? "conditional \"USE_PLUGIN_DCCP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -59670,6 +60237,10 @@
   as_fn_error $? "conditional \"USE_FBDEV\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${USE_FDK_AAC_TRUE}" && test -z "${USE_FDK_AAC_FALSE}"; then
+  as_fn_error $? "conditional \"USE_FDK_AAC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${USE_FLITE_TRUE}" && test -z "${USE_FLITE_FALSE}"; then
   as_fn_error $? "conditional \"USE_FLITE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -60002,6 +60573,10 @@
   as_fn_error $? "conditional \"USE_FBDEV\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${USE_FDK_AAC_TRUE}" && test -z "${USE_FDK_AAC_FALSE}"; then
+  as_fn_error $? "conditional \"USE_FDK_AAC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${USE_FLITE_TRUE}" && test -z "${USE_FLITE_FALSE}"; then
   as_fn_error $? "conditional \"USE_FLITE\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -60226,6 +60801,10 @@
   as_fn_error $? "conditional \"USE_WEBP\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${USE_WEBRTCDSP_TRUE}" && test -z "${USE_WEBRTCDSP_FALSE}"; then
+  as_fn_error $? "conditional \"USE_WEBRTCDSP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${USE_OPENH264_TRUE}" && test -z "${USE_OPENH264_FALSE}"; then
   as_fn_error $? "conditional \"USE_OPENH264\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@ -60635,7 +61214,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by GStreamer Bad Plug-ins $as_me 1.9.1, which was
+This file was extended by GStreamer Bad Plug-ins $as_me 1.9.2, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -60701,7 +61280,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 Bad Plug-ins config.status 1.9.1
+GStreamer Bad Plug-ins config.status 1.9.2
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -61317,6 +61896,7 @@
     "gst/subenc/Makefile") CONFIG_FILES="$CONFIG_FILES gst/subenc/Makefile" ;;
     "gst/stereo/Makefile") CONFIG_FILES="$CONFIG_FILES gst/stereo/Makefile" ;;
     "gst/tta/Makefile") CONFIG_FILES="$CONFIG_FILES gst/tta/Makefile" ;;
+    "gst/timecode/Makefile") CONFIG_FILES="$CONFIG_FILES gst/timecode/Makefile" ;;
     "gst/videofilters/Makefile") CONFIG_FILES="$CONFIG_FILES gst/videofilters/Makefile" ;;
     "gst/videomeasure/Makefile") CONFIG_FILES="$CONFIG_FILES gst/videomeasure/Makefile" ;;
     "gst/videoparsers/Makefile") CONFIG_FILES="$CONFIG_FILES gst/videoparsers/Makefile" ;;
@@ -61355,7 +61935,6 @@
     "sys/acmmp3dec/Makefile") CONFIG_FILES="$CONFIG_FILES sys/acmmp3dec/Makefile" ;;
     "sys/androidmedia/Makefile") CONFIG_FILES="$CONFIG_FILES sys/androidmedia/Makefile" ;;
     "sys/applemedia/Makefile") CONFIG_FILES="$CONFIG_FILES sys/applemedia/Makefile" ;;
-    "sys/applemedia-nonpublic/Makefile") CONFIG_FILES="$CONFIG_FILES sys/applemedia-nonpublic/Makefile" ;;
     "sys/avc/Makefile") CONFIG_FILES="$CONFIG_FILES sys/avc/Makefile" ;;
     "sys/bluez/Makefile") CONFIG_FILES="$CONFIG_FILES sys/bluez/Makefile" ;;
     "sys/d3dvideosink/Makefile") CONFIG_FILES="$CONFIG_FILES sys/d3dvideosink/Makefile" ;;
@@ -61428,6 +62007,7 @@
     "ext/gtk/Makefile") CONFIG_FILES="$CONFIG_FILES ext/gtk/Makefile" ;;
     "ext/faac/Makefile") CONFIG_FILES="$CONFIG_FILES ext/faac/Makefile" ;;
     "ext/faad/Makefile") CONFIG_FILES="$CONFIG_FILES ext/faad/Makefile" ;;
+    "ext/fdkaac/Makefile") CONFIG_FILES="$CONFIG_FILES ext/fdkaac/Makefile" ;;
     "ext/flite/Makefile") CONFIG_FILES="$CONFIG_FILES ext/flite/Makefile" ;;
     "ext/fluidsynth/Makefile") CONFIG_FILES="$CONFIG_FILES ext/fluidsynth/Makefile" ;;
     "ext/gsm/Makefile") CONFIG_FILES="$CONFIG_FILES ext/gsm/Makefile" ;;
@@ -62211,7 +62791,6 @@
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
 # Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 
 # Provide generalized library-building support services.
diff --git a/configure.ac b/configure.ac
index cac9954..5fcf370 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,7 +3,7 @@
 dnl initialize autoconf
 dnl when going to/from release please set the nano (fourth number) right !
 dnl releases only do Wall, git and prerelease does Werror too
-AC_INIT([GStreamer Bad Plug-ins],[1.9.1],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
+AC_INIT([GStreamer Bad Plug-ins],[1.9.2],[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],[gst-plugins-bad])
 
 AG_GST_INIT
 
@@ -51,11 +51,11 @@
 dnl - interfaces added -> increment AGE
 dnl - interfaces removed -> AGE = 0
 dnl sets GST_LT_LDFLAGS
-AS_LIBTOOL(GST, 901, 0, 901)
+AS_LIBTOOL(GST, 902, 0, 902)
 
 dnl *** required versions of GStreamer stuff ***
-GST_REQ=1.9.1
-GSTPB_REQ=1.9.1
+GST_REQ=1.9.2
+GSTPB_REQ=1.9.2
 
 dnl *** autotools stuff ****
 
@@ -201,6 +201,10 @@
 AG_GST_CHECK_GST_CHECK($GST_API_VERSION, [$GST_REQ], no)
 AG_GST_CHECK_GST_CONTROLLER($GST_API_VERSION, [$GST_REQ], yes)
 AG_GST_CHECK_GST_NET($GST_API_VERSION, [$GST_REQ], yes)
+AG_GST_PKG_CHECK_MODULES(GST_VIDEO, gstreamer-video-[$GST_API_VERSION], [$GST_REQ], yes)
+AG_GST_PKG_CHECK_MODULES(GST_AUDIO, gstreamer-audio-[$GST_API_VERSION], [$GST_REQ], yes)
+AG_GST_PKG_CHECK_MODULES(GST_PBUTILS, gstreamer-pbutils-[$GST_API_VERSION], [$GST_REQ], yes)
+
 AM_CONDITIONAL(HAVE_GST_CHECK, test "x$HAVE_GST_CHECK" = "xyes")
 
 AG_GST_CHECK_GST_PLUGINS_BASE($GST_API_VERSION, [$GSTPB_REQ], yes)
@@ -310,7 +314,7 @@
 
 dnl graphene-1.0 is optional and used in gltransformation
 HAVE_GRAPHENE=NO
-PKG_CHECK_MODULES(GRAPHENE, graphene-1.0 >= 1.0.0, HAVE_GRAPHENE=yes, HAVE_GRAPHENE=no)
+PKG_CHECK_MODULES(GRAPHENE, graphene-1.0 >= 1.4.0, HAVE_GRAPHENE=yes, HAVE_GRAPHENE=no)
 if test "x$HAVE_GRAPHENE" = "xyes"; then
   AC_DEFINE(HAVE_GRAPHENE, [1] , [Use graphene])
 fi
@@ -524,6 +528,7 @@
 AG_GST_CHECK_PLUGIN(speed)
 AG_GST_CHECK_PLUGIN(subenc)
 AG_GST_CHECK_PLUGIN(stereo)
+AG_GST_CHECK_PLUGIN(timecode)
 AG_GST_CHECK_PLUGIN(tta)
 AG_GST_CHECK_PLUGIN(videofilters)
 AG_GST_CHECK_PLUGIN(videomeasure)
@@ -538,6 +543,7 @@
 AC_CHECK_HEADER(AVFoundation/AVFoundation.h, HAVE_AVFOUNDATION="yes", HAVE_AVFOUNDATION="no", [-])
 AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-])
 AC_CHECK_HEADER(VideoToolbox/VideoToolbox.h, HAVE_VIDEOTOOLBOX="yes", HAVE_VIDEOTOOLBOX="no", [-])
+AC_CHECK_HEADER(QTKit/QTKit.h, HAVE_QTKIT="yes", HAVE_QTKIT="no", [-])
 
 if test "x$HAVE_VIDEOTOOLBOX" = "xyes"; then
   old_LIBS=$LIBS
@@ -564,6 +570,10 @@
   AC_DEFINE(HAVE_VIDEOTOOLBOX, 1, [Define if building with VideoToolbox])
 fi
 
+AM_CONDITIONAL(HAVE_QTKIT, test "x$HAVE_QTKIT" = "xyes")
+if test "x$HAVE_QTKIT" = "xyes"; then
+  AC_DEFINE(HAVE_QTKIT, 1, [Define if building with QTKit])
+fi
 dnl disable gst plugins we might not be able to build on this
 dnl platform: (ugly but minimally invasive)
 dnl FIXME: maybe move to sys, or make work with winsock2
@@ -789,6 +799,17 @@
     CFLAGS=$old_CFLAGS
 
     PKG_CHECK_MODULES(WAYLAND_EGL, wayland-client >= 1.0 wayland-cursor >= 1.0 wayland-egl >= 9.0, HAVE_WAYLAND_EGL=yes, HAVE_WAYLAND_EGL=no)
+
+    # OS X and iOS always have GL available
+    case $host in
+      *-darwin*)
+        if test "x$HAVE_IOS" = "xyes"; then
+          HAVE_GLES2=yes
+        else
+          HAVE_GL=yes
+        fi
+      ;;
+    esac
   ;;
 esac
 
@@ -1372,6 +1393,7 @@
 GST_GL_HAVE_GLSYNC=0
 GST_GL_HAVE_GLUINT64=0
 GST_GL_HAVE_GLINT64=0
+GST_GL_HAVE_EGLATTRIB=0
 
 old_CFLAGS=$CFLAGS
 CFLAGS="$GL_CFLAGS $CFLAGS"
@@ -1411,6 +1433,17 @@
   GST_GL_HAVE_GLINT64=1
 fi
 
+if test "x$USE_EGL" = "xyes"; then
+  EGL_INCLUDES="$GL_INCLUDES
+  #include <EGL/egl.h>
+  #include <EGL/eglext.h>
+  "
+  AC_CHECK_TYPES(EGLAttrib, [], [], [[$EGL_INCLUDES]])
+  if test "x$ac_cv_type_EGLAttrib" = "xyes"; then
+    GST_GL_HAVE_EGLATTRIB=1
+  fi
+fi
+
 CFLAGS=$old_CFLAGS
 
 GL_CONFIG_DEFINES="$GL_CONFIG_DEFINES
@@ -1421,6 +1454,7 @@
 #define GST_GL_HAVE_GLSYNC $GST_GL_HAVE_GLSYNC
 #define GST_GL_HAVE_GLUINT64 $GST_GL_HAVE_GLUINT64
 #define GST_GL_HAVE_GLINT64 $GST_GL_HAVE_GLINT64
+#define GST_GL_HAVE_EGLATTRIB $GST_GL_HAVE_EGLATTRIB
 "
 
 AC_CONFIG_COMMANDS([gst-libs/gst/gl/gstglconfig.h], [
@@ -1876,8 +1910,6 @@
 dnl *** NVENC ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_NVENC, true)
 AG_GST_CHECK_FEATURE(NVENC, [NVIDIA Encode API], nvenc, [
-  AG_GST_PKG_CHECK_MODULES(GST_VIDEO, gstreamer-video-1.0)
-  AG_GST_PKG_CHECK_MODULES(GST_PBUTILS, gstreamer-pbutils-1.0)
   AC_ARG_WITH([cuda-prefix],
           AS_HELP_STRING([--with-cuda-prefix],
           [Use the provided prefix for detecting the cuda installation]),
@@ -2284,6 +2316,14 @@
   fi
 ])
 
+dnl *** fdkaac ***
+translit(dnm, m, l) AM_CONDITIONAL(USE_FDK_AAC, true)
+AG_GST_CHECK_FEATURE(FDK_AAC, [fdkaac plugin], fdkaac, [
+  PKG_CHECK_MODULES(FDK_AAC, fdk-aac, HAVE_FDK_AAC="yes", [
+    HAVE_FDK_AAC="no"
+  ])
+])
+
 dnl *** flite ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_FLITE, true)
 AG_GST_CHECK_FEATURE(FLITE, [Flite plugin], flite, [
@@ -2340,7 +2380,6 @@
 dnl *** kms ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_KMS, true)
 AG_GST_CHECK_FEATURE(KMS, [drm/kms libraries], kms, [
-  AG_GST_PKG_CHECK_MODULES(GST_VIDEO, gstreamer-video-1.0)
   AG_GST_PKG_CHECK_MODULES(GST_ALLOCATORS, gstreamer-allocators-1.0)
   PKG_CHECK_MODULES([DRM], [libdrm libkms], HAVE_KMS=yes, HAVE_KMS=no)
 ])
@@ -2361,7 +2400,13 @@
 dnl *** LV2 ***
 translit(dnm, m, l) AM_CONDITIONAL(USE_LV2, true)
 AG_GST_CHECK_FEATURE(LV2, [lv2], lv2, [
-  PKG_CHECK_MODULES(LILV, lilv-0 >= 0.6.6, HAVE_LV2="yes", HAVE_LV2="no")
+  PKG_CHECK_MODULES(LILV, lilv-0 >= 0.22, [
+    HAVE_LV2="yes",
+    HAVE_LILV_0_22="yes"
+    AC_DEFINE(HAVE_LILV_0_22, 1, [Define if we have liblilv >= 0.22])
+  ],[
+    PKG_CHECK_MODULES(LILV, lilv-0 >= 0.16, HAVE_LV2="yes", HAVE_LV2="no")
+  ])
   AC_SUBST(LILV_CFLAGS)
   AC_SUBST(LILV_LIBS)
 ])
@@ -3368,11 +3413,24 @@
 dnl Note: We test for a specific version as there is no API stability
 translit(dnm, m, l) AM_CONDITIONAL(USE_WEBRTCDSP, true)
 AG_GST_CHECK_FEATURE(WEBRTCDSP, [WebRTC Audio Processing], webrtcdsp, [
+
+  AG_GST_PKG_CHECK_MODULES(WEBRTCDSP, webrtc-audio-processing >= 0.2 webrtc-audio-processing < 0.4)
+
+  # On Android, C++ headers comes with the STL implementation
+  AS_CASE(["${host}"],
+    [*android*],
+      [
+        PKG_CHECK_MODULES(GNUSTL, gnustl, [
+          WEBRTCDSP_CFLAGS="$WEBRTCDSP_CFLAGS $GNUSTL_CFLAGS"
+          WEBRTCDSP_LIBS="$WEBRTCDSP_LIBS $GNUSTL_LIBS"])
+      ])
+  AC_SUBST([WEBRTCDSP_CFLAGS])
+  AC_SUBST([WEBRTCDSP_LIBS])
+
   AC_LANG_PUSH([C++])
   old_CPPFLAGS=$CPPFLAGS
-  CPPFLAGS="-std=c++11 $CPPFLAGS"
-  AG_GST_PKG_CHECK_MODULES(WEBRTCDSP, webrtc-audio-processing = 0.2)
-  AC_CHECK_HEADER([typeindex],[],[HAVE_WEBRTCDSP=no])
+  CPPFLAGS="-std=c++11 $CPPFLAGS $GNUSTL_CFLAGS"
+  AC_CHECK_HEADER([vector],[],[HAVE_WEBRTCDSP=no])
   CPPFLAGS=$old_CPPFLAGS
   AC_LANG_POP([C++])
 ])
@@ -3404,6 +3462,7 @@
 AM_CONDITIONAL(USE_FAAC, false)
 AM_CONDITIONAL(USE_FAAD, false)
 AM_CONDITIONAL(USE_FBDEV, false)
+AM_CONDITIONAL(USE_FDK_AAC, false)
 AM_CONDITIONAL(USE_FLITE, false)
 AM_CONDITIONAL(USE_FLUIDSYNTH, false)
 AM_CONDITIONAL(USE_GL, false)
@@ -3460,6 +3519,7 @@
 AM_CONDITIONAL(USE_SNDIO, false)
 AM_CONDITIONAL(USE_UVCH264, false)
 AM_CONDITIONAL(USE_WEBP, false)
+AM_CONDITIONAL(USE_WEBRTCDSP, false)
 AM_CONDITIONAL(USE_OPENH264, false)
 AM_CONDITIONAL(USE_X265, false)
 AM_CONDITIONAL(USE_DTLS, false)
@@ -3611,6 +3671,7 @@
 gst/subenc/Makefile
 gst/stereo/Makefile
 gst/tta/Makefile
+gst/timecode/Makefile
 gst/videofilters/Makefile
 gst/videomeasure/Makefile
 gst/videoparsers/Makefile
@@ -3649,7 +3710,6 @@
 sys/acmmp3dec/Makefile
 sys/androidmedia/Makefile
 sys/applemedia/Makefile
-sys/applemedia-nonpublic/Makefile
 sys/avc/Makefile
 sys/bluez/Makefile
 sys/d3dvideosink/Makefile
@@ -3722,6 +3782,7 @@
 ext/gtk/Makefile
 ext/faac/Makefile
 ext/faad/Makefile
+ext/fdkaac/Makefile
 ext/flite/Makefile
 ext/fluidsynth/Makefile
 ext/gsm/Makefile
diff --git a/docs/Makefile.in b/docs/Makefile.in
index df8e4f1..428a033 100644
--- a/docs/Makefile.in
+++ b/docs/Makefile.in
@@ -298,6 +298,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -347,6 +349,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/docs/libs/Makefile.in b/docs/libs/Makefile.in
index d97c7d2..1f05209 100644
--- a/docs/libs/Makefile.in
+++ b/docs/libs/Makefile.in
@@ -260,6 +260,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -309,6 +311,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -1151,7 +1155,7 @@
 @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@	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-bad-libs-sections.txt b/docs/libs/gst-plugins-bad-libs-sections.txt
index fdcdf2e..a14bfc2 100644
--- a/docs/libs/gst-plugins-bad-libs-sections.txt
+++ b/docs/libs/gst-plugins-bad-libs-sections.txt
@@ -1705,8 +1705,8 @@
 
 gst_player_get_pipeline
 
-gst_player_set_position_update_interval
-gst_player_get_position_update_interval
+gst_player_set_config
+gst_player_get_config
 
 GstPlayerState
 gst_player_state_get_name
@@ -1763,6 +1763,13 @@
 GstPlayerVideoRenderer
 GstPlayerVideoRendererInterface
 
+<SUBSECTION config>
+gst_player_config_set_position_update_interval
+gst_player_config_get_position_update_interval
+
+gst_player_config_set_user_agent
+gst_player_config_get_user_agent
+
 <SUBSECTION Standard>
 GST_IS_PLAYER
 GST_IS_PLAYER_CLASS
diff --git a/docs/libs/html/GstGLBaseFilter.html b/docs/libs/html/GstGLBaseFilter.html
index c5f480e..ad644db 100644
--- a/docs/libs/html/GstGLBaseFilter.html
+++ b/docs/libs/html/GstGLBaseFilter.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="GstGLBaseFilter.top_of_page"></a>GstGLBaseFilter</span></h2>
-<p>GstGLBaseFilter</p>
+<p>GstGLBaseFilter — <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct"><span class="type">GstBaseTransform</span></a> subclass for transformin OpenGL resources</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -81,6 +81,10 @@
 </div>
 <div class="refsect1">
 <a name="GstGLBaseFilter.description"></a><h2>Description</h2>
+<p><a class="link" href="GstGLBaseFilter.html" title="GstGLBaseFilter"><span class="type">GstGLBaseFilter</span></a> handles the nitty gritty details of retrieving an OpenGL
+context.  It also provided some wrappers around <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct"><span class="type">GstBaseTransform</span></a>'s
+<code class="function">start()</code>, <code class="function">stop()</code> and <code class="function">set_caps()</code> virtual methods that ensure an OpenGL context
+is available and current in the calling thread.</p>
 </div>
 <div class="refsect1">
 <a name="GstGLBaseFilter.functions_details"></a><h2>Functions</h2>
@@ -91,6 +95,17 @@
 <div class="refsect2">
 <a name="GstGLBaseFilter-struct"></a><h3>GstGLBaseFilter</h3>
 <pre class="programlisting">typedef struct _GstGLBaseFilter GstGLBaseFilter;</pre>
+<div class="refsect3">
+<a name="GstGLBaseFilter.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>
 <hr>
 <div class="refsect2">
@@ -104,6 +119,39 @@
   gboolean (*gl_set_caps)       (GstGLBaseFilter *filter, GstCaps * incaps, GstCaps * outcaps);
 } GstGLBaseFilterClass;
 </pre>
+<div class="refsect3">
+<a name="GstGLBaseFilterClass.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-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> <em class="structfield"><code><a name="GstGLBaseFilterClass.supported-gl-api"></a>supported_gl_api</code></em>;</p></td>
+<td class="struct_member_description"><p>the logical-OR of <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a>'s supported by this element</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLBaseFilterClass.gl-start"></a>gl_start</code></em> ()</p></td>
+<td class="struct_member_description"><p>called in the GL thread to setup the element GL state.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLBaseFilterClass.gl-stop"></a>gl_stop</code></em> ()</p></td>
+<td class="struct_member_description"><p>called in the GL thread to setup the element GL state.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLBaseFilterClass.gl-set-caps"></a>gl_set_caps</code></em> ()</p></td>
+<td class="struct_member_description"><p>called in the GL thread when caps are set on <em class="parameter"><code>filter</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -115,6 +163,10 @@
 <p>Flags: Read</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="GstGLBaseFilter.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/GstGLBufferPool.html b/docs/libs/html/GstGLBufferPool.html
index 9142729..7ada86d 100644
--- a/docs/libs/html/GstGLBufferPool.html
+++ b/docs/libs/html/GstGLBufferPool.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="GstGLBufferPool.top_of_page"></a>GstGLBufferPool</span></h2>
-<p>GstGLBufferPool</p>
+<p>GstGLBufferPool — buffer pool for <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> objects</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -97,6 +97,10 @@
 </div>
 <div class="refsect1">
 <a name="GstGLBufferPool.description"></a><h2>Description</h2>
+<p>a <a class="link" href="GstGLBufferPool.html" title="GstGLBufferPool"><span class="type">GstGLBufferPool</span></a> is an object that allocates buffers with <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
+<p>A <a class="link" href="GstGLBufferPool.html" title="GstGLBufferPool"><span class="type">GstGLBufferPool</span></a> is created with <a class="link" href="GstGLBufferPool.html#gst-gl-buffer-pool-new" title="gst_gl_buffer_pool_new ()"><code class="function">gst_gl_buffer_pool_new()</code></a></p>
+<p><a class="link" href="GstGLBufferPool.html" title="GstGLBufferPool"><span class="type">GstGLBufferPool</span></a> implements the VideoMeta buffer pool option 
+<a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-GstVideoPool.html#GST-BUFFER-POOL-OPTION-VIDEO-META:CAPS"><span class="type">GST_BUFFER_POOL_OPTION_VIDEO_META</span></a></p>
 </div>
 <div class="refsect1">
 <a name="GstGLBufferPool.functions_details"></a><h2>Functions</h2>
@@ -104,6 +108,25 @@
 <a name="gst-gl-buffer-pool-new"></a><h3>gst_gl_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_gl_buffer_pool_new (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-buffer-pool-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>context</p></td>
+<td class="parameter_description"><p>the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> to use</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-buffer-pool-new.returns"></a><h4>Returns</h4>
+<p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferPool.html#GstBufferPool-struct"><span class="type">GstBufferPool</span></a> that allocates buffers with <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -111,6 +134,26 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="returnvalue">GstGLAllocationParams</span></a> *
 gst_buffer_pool_config_get_gl_allocation_params
                                (<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>
+<div class="refsect3">
+<a name="gst-buffer-pool-config-get-gl-allocation-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>config</p></td>
+<td class="parameter_description"><p>a buffer pool config</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-buffer-pool-config-get-gl-allocation-params.returns"></a><h4>Returns</h4>
+<p> the currently set <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</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">
@@ -119,6 +162,31 @@
 gst_buffer_pool_config_set_gl_allocation_params
                                (<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-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *params</code></em>);</pre>
+<p>Sets <em class="parameter"><code>params</code></em>
+ on <em class="parameter"><code>config</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-buffer-pool-config-set-gl-allocation-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>config</p></td>
+<td class="parameter_description"><p>a buffer pool config</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>params</p></td>
+<td class="parameter_description"><p> a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</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>
 </div>
 <div class="refsect1">
@@ -126,6 +194,7 @@
 <div class="refsect2">
 <a name="GstGLBufferPool-struct"></a><h3>GstGLBufferPool</h3>
 <pre class="programlisting">typedef struct _GstGLBufferPool GstGLBufferPool;</pre>
+<p>Opaque GstGLBufferPool struct</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -134,8 +203,13 @@
   GstBufferPoolClass parent_class;
 } GstGLBufferPoolClass;
 </pre>
+<p>The <a class="link" href="GstGLBufferPool.html#GstGLBufferPoolClass" title="GstGLBufferPoolClass"><span class="type">GstGLBufferPoolClass</span></a> structure contains only private data</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="GstGLBufferPool.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>, <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/GstGLColorConvert.html b/docs/libs/html/GstGLColorConvert.html
index 03f84cf..6f32eab 100644
--- a/docs/libs/html/GstGLColorConvert.html
+++ b/docs/libs/html/GstGLColorConvert.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="GstGLColorConvert.top_of_page"></a>GstGLColorConvert</span></h2>
-<p>GstGLColorConvert</p>
+<p>GstGLColorConvert — an object that converts between color spaces/formats</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -128,6 +128,9 @@
 </div>
 <div class="refsect1">
 <a name="GstGLColorConvert.description"></a><h2>Description</h2>
+<p><a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert"><span class="type">GstGLColorConvert</span></a> is an object that converts between color spaces and/or
+formats using OpenGL Shaders.</p>
+<p>A <a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert"><span class="type">GstGLColorConvert</span></a> can be created with <a class="link" href="GstGLColorConvert.html#gst-gl-color-convert-new" title="gst_gl_color_convert_new ()"><code class="function">gst_gl_color_convert_new()</code></a>.</p>
 </div>
 <div class="refsect1">
 <a name="GstGLColorConvert.functions_details"></a><h2>Functions</h2>
@@ -135,6 +138,25 @@
 <a name="gst-gl-color-convert-new"></a><h3>gst_gl_color_convert_new ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert"><span class="returnvalue">GstGLColorConvert</span></a> *
 gst_gl_color_convert_new (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-color-convert-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-color-convert-new.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert"><span class="type">GstGLColorConvert</span></a> object</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -143,6 +165,35 @@
 gst_gl_color_convert_set_caps (<em class="parameter"><code><a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert"><span class="type">GstGLColorConvert</span></a> *convert</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> *in_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> *out_caps</code></em>);</pre>
+<p>Initializes <em class="parameter"><code>convert</code></em>
+ with the information required for conversion.</p>
+<div class="refsect3">
+<a name="gst-gl-color-convert-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>convert</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert"><span class="type">GstGLColorConvert</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>in_caps</p></td>
+<td class="parameter_description"><p>input <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>out_caps</p></td>
+<td class="parameter_description"><p>output <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>
 <hr>
 <div class="refsect2">
@@ -176,6 +227,35 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="returnvalue">GstBuffer</span></a> *
 gst_gl_color_convert_perform (<em class="parameter"><code><a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert"><span class="type">GstGLColorConvert</span></a> *convert</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> *inbuf</code></em>);</pre>
+<p>Converts the data contained by <em class="parameter"><code>inbuf</code></em>
+ using the formats specified by the
+<a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a>s passed to <a class="link" href="GstGLColorConvert.html#gst-gl-color-convert-set-caps" title="gst_gl_color_convert_set_caps ()"><code class="function">gst_gl_color_convert_set_caps()</code></a></p>
+<div class="refsect3">
+<a name="gst-gl-color-convert-perform.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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="GstGLColorConvert.html" title="GstGLColorConvert"><span class="type">GstGLColorConvert</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>inbuf</p></td>
+<td class="parameter_description"><p>the texture ids for input formatted according to in_info</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-color-convert-perform.returns"></a><h4>Returns</h4>
+<p> a converted <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>%</p>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -183,16 +263,19 @@
 <div class="refsect2">
 <a name="GST-GL-COLOR-CONVERT-FORMATS:CAPS"></a><h3>GST_GL_COLOR_CONVERT_FORMATS</h3>
 <pre class="programlisting">#define             GST_GL_COLOR_CONVERT_FORMATS</pre>
+<p>The currently supported formats that can be converted</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-GL-COLOR-CONVERT-VIDEO-CAPS"></a><h3>GST_GL_COLOR_CONVERT_VIDEO_CAPS</h3>
 <pre class="programlisting">#define             GST_GL_COLOR_CONVERT_VIDEO_CAPS</pre>
+<p>The currently supported <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> that can be converted</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstGLColorConvert-struct"></a><h3>GstGLColorConvert</h3>
 <pre class="programlisting">typedef struct _GstGLColorConvert GstGLColorConvert;</pre>
+<p>Opaque <a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert"><span class="type">GstGLColorConvert</span></a> object</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -201,8 +284,13 @@
   GstObjectClass object_class;
 } GstGLColorConvertClass;
 </pre>
+<p>The <a class="link" href="GstGLColorConvert.html#GstGLColorConvertClass" title="GstGLColorConvertClass"><span class="type">GstGLColorConvertClass</span></a> struct only contains private data</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="GstGLColorConvert.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a>, <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a>, <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/GstGLContext.html b/docs/libs/html/GstGLContext.html
index 3b4c25a..4bf6a87 100644
--- a/docs/libs/html/GstGLContext.html
+++ b/docs/libs/html/GstGLContext.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="GstGLContext.top_of_page"></a>GstGLContext</span></h2>
-<p>GstGLContext</p>
+<p>GstGLContext — OpenGL context abstraction</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -300,6 +300,9 @@
 </div>
 <div class="refsect1">
 <a name="GstGLContext.description"></a><h2>Description</h2>
+<p><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> wraps an OpenGL context object in a uniform API.  As a result
+of the limitation on OpenGL context, this object is not thread safe unless
+specified and must only be activated in a single thread.</p>
 </div>
 <div class="refsect1">
 <a name="GstGLContext.functions_details"></a><h2>Functions</h2>
@@ -314,12 +317,59 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 <span class="c_punctuation">(</span>*GstGLContextThreadFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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>);</pre>
+<p>Represents a function to run in the GL thread with <em class="parameter"><code>context</code></em>
+ and <em class="parameter"><code>data</code></em>
+</p>
+<div class="refsect3">
+<a name="GstGLContextThreadFunc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>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">
 <a name="gst-gl-context-new"></a><h3>gst_gl_context_new ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="returnvalue">GstGLContext</span></a> *
 gst_gl_context_new (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>);</pre>
+<p>Create a new <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> with the specified <em class="parameter"><code>display</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-gl-context-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>display</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-new.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -329,6 +379,47 @@
                             <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>,
                             <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> context_type</code></em>,
                             <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> available_apis</code></em>);</pre>
+<p>Wraps an existing OpenGL context into a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>.</p>
+<div class="refsect3">
+<a name="gst-gl-context-new-wrapped.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>display</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>handle</p></td>
+<td class="parameter_description"><p>the OpenGL context to wrap</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>context_type</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> specifying the type of context in <em class="parameter"><code>handle</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>available_apis</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> containing the available OpenGL apis in <em class="parameter"><code>handle</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-new-wrapped.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> wrapping <em class="parameter"><code>handle</code></em>
+</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -337,12 +428,71 @@
 gst_gl_context_create (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
                        <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *other_context</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>Creates an OpenGL context in the current thread with the specified
+<em class="parameter"><code>other_context</code></em>
+ as a context to share shareable OpenGL objects with.  See the
+OpenGL specification for what is shared between contexts.</p>
+<p>If an error occurs, and <em class="parameter"><code>error</code></em>
+ is not <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, then error will contain details
+of the error and <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> will be returned.</p>
+<p>Should only be called once.</p>
+<div class="refsect3">
+<a name="gst-gl-context-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>:</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>other_context</p></td>
+<td class="parameter_description"><p> a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> to share OpenGL objects with. </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> 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"><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-gl-context-create.returns"></a><h4>Returns</h4>
+<p> whether the context could successfully be created</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-context-destroy"></a><h3>gst_gl_context_destroy ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_context_destroy (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<p>Destroys an OpenGL context.</p>
+<p>Should only be called after <a class="link" href="GstGLContext.html#gst-gl-context-create" title="gst_gl_context_create ()"><code class="function">gst_gl_context_create()</code></a> has been successfully
+called for this context.</p>
+<div class="refsect3">
+<a name="gst-gl-context-destroy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</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">
@@ -350,6 +500,37 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_context_activate (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
                          <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> activate</code></em>);</pre>
+<p>(De)activate the OpenGL context represented by this <em class="parameter"><code>context</code></em>
+.</p>
+<p>In OpenGL terms, calls eglMakeCurrent or similar with this context and the
+currently set window.  See <a class="link" href="GstGLContext.html#gst-gl-context-set-window" title="gst_gl_context_set_window ()"><code class="function">gst_gl_context_set_window()</code></a> for details.</p>
+<div class="refsect3">
+<a name="gst-gl-context-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>activate</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 activate, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to deactivate</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-activate.returns"></a><h4>Returns</h4>
+<p> Whether the activation succeeded</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -365,6 +546,38 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>
 gst_gl_context_get_proc_address (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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>Get a function pointer to a specified opengl function, <em class="parameter"><code>name</code></em>
+.  If the the
+specific function does not exist, NULL is returned instead.</p>
+<p>Platform specfic functions (names starting 'egl', 'glX', 'wgl', etc) can also
+be retrieved using this method.</p>
+<div class="refsect3">
+<a name="gst-gl-context-get-proc-address.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>an opengl function name</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-get-proc-address.returns"></a><h4>Returns</h4>
+<p> a function pointer or NULL</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -380,6 +593,26 @@
 <a name="gst-gl-context-get-window"></a><h3>gst_gl_context_get_window ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="returnvalue">GstGLWindow</span></a> *
 gst_gl_context_get_window (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-context-get-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-get-window.returns"></a><h4>Returns</h4>
+<p> the currently set window</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -387,6 +620,39 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_context_set_window (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
                            <em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
+<p>Set's the current window on <em class="parameter"><code>context</code></em>
+ to <em class="parameter"><code>window</code></em>
+.  The window can only be
+changed before <a class="link" href="GstGLContext.html#gst-gl-context-create" title="gst_gl_context_create ()"><code class="function">gst_gl_context_create()</code></a> has been called and the <em class="parameter"><code>window</code></em>
+ is not
+already running.</p>
+<div class="refsect3">
+<a name="gst-gl-context-set-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>window</p></td>
+<td class="parameter_description"><p> a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</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-gl-context-set-window.returns"></a><h4>Returns</h4>
+<p> Whether the window was successfully updated</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -395,36 +661,178 @@
 gst_gl_context_thread_add (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
                            <em class="parameter"><code><a class="link" href="GstGLContext.html#GstGLContextThreadFunc" title="GstGLContextThreadFunc ()"><span class="type">GstGLContextThreadFunc</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> data</code></em>);</pre>
+<p>Execute <em class="parameter"><code>func</code></em>
+ in the OpenGL thread of <em class="parameter"><code>context</code></em>
+ with <em class="parameter"><code>data</code></em>
+</p>
+<p>MT-safe</p>
+<div class="refsect3">
+<a name="gst-gl-context-thread-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>func</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html#GstGLContextThreadFunc" title="GstGLContextThreadFunc ()"><span class="type">GstGLContextThreadFunc</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p> user data to call <em class="parameter"><code>func</code></em>
+with. </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>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-context-get-display"></a><h3>gst_gl_context_get_display ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="returnvalue">GstGLDisplay</span></a> *
 gst_gl_context_get_display (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-context-get-display.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>:</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-get-display.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> associated with this <em class="parameter"><code>context</code></em>
+</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-context-get-gl-api"></a><h3>gst_gl_context_get_gl_api ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="returnvalue">GstGLAPI</span></a>
 gst_gl_context_get_gl_api (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<p>Get the currently enabled OpenGL api.</p>
+<p>The currently available API may be limited by the <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> in use and/or
+the <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> chosen.</p>
+<div class="refsect3">
+<a name="gst-gl-context-get-gl-api.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-get-gl-api.returns"></a><h4>Returns</h4>
+<p> the available OpenGL api</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-context-get-gl-context"></a><h3>gst_gl_context_get_gl_context ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guintptr"><span class="returnvalue">guintptr</span></a>
 gst_gl_context_get_gl_context (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<p>Gets the backing OpenGL context used by <em class="parameter"><code>context</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-gl-context-get-gl-context.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>:</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-get-gl-context.returns"></a><h4>Returns</h4>
+<p> The platform specific backing OpenGL context</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-context-get-gl-platform"></a><h3>gst_gl_context_get_gl_platform ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="returnvalue">GstGLPlatform</span></a>
 gst_gl_context_get_gl_platform (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<p>Gets the OpenGL platform that used by <em class="parameter"><code>context</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-gl-context-get-gl-platform.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>:</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-get-gl-platform.returns"></a><h4>Returns</h4>
+<p> The platform specific backing OpenGL context</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-context-get-current-gl-context"></a><h3>gst_gl_context_get_current_gl_context ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guintptr"><span class="returnvalue">guintptr</span></a>
 gst_gl_context_get_current_gl_context (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> context_type</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-context-get-current-gl-context.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>context_type</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> specifying the type of context to retrieve</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-get-current-gl-context.returns"></a><h4>Returns</h4>
+<p> The OpenGL context handle current in the calling thread or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -433,12 +841,71 @@
 gst_gl_context_get_current_gl_api (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> platform</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *major</code></em>,
                                    <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>);</pre>
+<p>If an error occurs, <em class="parameter"><code>major</code></em>
+ and <em class="parameter"><code>minor</code></em>
+ aren't modified and <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-NONE:CAPS"><code class="literal">GST_GL_API_NONE</code></a> is
+returned.</p>
+<div class="refsect3">
+<a name="gst-gl-context-get-current-gl-api.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>platform</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> to retrieve the API for</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>major</p></td>
+<td class="parameter_description"><p> (allow-none): the major 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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>minor</p></td>
+<td class="parameter_description"><p> (allow-none): the minor 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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-get-current-gl-api.returns"></a><h4>Returns</h4>
+<p> The version supported by the OpenGL context current in the calling
+thread or <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-NONE:CAPS"><code class="literal">GST_GL_API_NONE</code></a></p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-context-get-thread"></a><h3>gst_gl_context_get_thread ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Threads.html#GThread"><span class="returnvalue">GThread</span></a> *
 gst_gl_context_get_thread (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-context-get-thread.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-get-thread.returns"></a><h4>Returns</h4>
+<p> The <a href="/usr/share/gtk-doc/html/glibglib-Threads.html#GThread"><span class="type">GThread</span></a>, <em class="parameter"><code>context</code></em>
+is current in or NULL. </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">
@@ -446,12 +913,63 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_context_can_share (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
                           <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *other_context</code></em>);</pre>
+<p>Note: This will always fail for two wrapped <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>'s</p>
+<div class="refsect3">
+<a name="gst-gl-context-can-share.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>other_context</p></td>
+<td class="parameter_description"><p>another <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-can-share.returns"></a><h4>Returns</h4>
+<p> whether <em class="parameter"><code>context</code></em>
+and <em class="parameter"><code>other_context</code></em>
+are able to share OpenGL
+resources.</p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-context-is-shared"></a><h3>gst_gl_context_is_shared ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_context_is_shared (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-context-is-shared.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-is-shared.returns"></a><h4>Returns</h4>
+<p> Whether the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> has been shared with another <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -459,6 +977,32 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_context_set_shared_with (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
                                 <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *share</code></em>);</pre>
+<p>Will internally set <em class="parameter"><code>context</code></em>
+ as shared with <em class="parameter"><code>share</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-gl-context-set-shared-with.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a wrapped <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>share</p></td>
+<td class="parameter_description"><p>another <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -466,6 +1010,37 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_context_check_feature (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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> *feature</code></em>);</pre>
+<p>Some features require that the context be created before it is possible to
+determine their existence and so will fail if that is not the case.</p>
+<div class="refsect3">
+<a name="gst-gl-context-check-feature.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>feature</p></td>
+<td class="parameter_description"><p>a platform specific feature</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-check-feature.returns"></a><h4>Returns</h4>
+<p> Whether <em class="parameter"><code>feature</code></em>
+is supported by <em class="parameter"><code>context</code></em>
+</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -475,6 +1050,44 @@
                                  <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> api</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> maj</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> min</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-context-check-gl-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>api</p></td>
+<td class="parameter_description"><p>api type required</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maj</p></td>
+<td class="parameter_description"><p>major version required</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>min</p></td>
+<td class="parameter_description"><p>minor version required</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-context-check-gl-version.returns"></a><h4>Returns</h4>
+<p> whether OpenGL context implements the required api and specified
+version.</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -483,6 +1096,39 @@
 gst_gl_context_get_gl_version (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *maj</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *min</code></em>);</pre>
+<p>Returns the OpenGL version implemented by <em class="parameter"><code>context</code></em>
+.  See
+<a class="link" href="GstGLContext.html#gst-gl-context-get-gl-api" title="gst_gl_context_get_gl_api ()"><code class="function">gst_gl_context_get_gl_api()</code></a> for retreiving the OpenGL api implemented by
+<em class="parameter"><code>context</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-gl-context-get-gl-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maj</p></td>
+<td class="parameter_description"><p> resulting major 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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>min</p></td>
+<td class="parameter_description"><p> resulting minor 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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -490,12 +1136,38 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_context_fill_info (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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>Fills <em class="parameter"><code>context</code></em>
+'s info (version, extensions, vtable, etc) from the GL
+context in the current thread.  Typically used with wrapped contexts to
+allow wrapped contexts to be used as regular <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>'s.</p>
+<div class="refsect3">
+<a name="gst-gl-context-fill-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</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-gl-context-get-current"></a><h3>gst_gl_context_get_current ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="returnvalue">GstGLContext</span></a> *
 gst_gl_context_get_current (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>See also <a class="link" href="GstGLContext.html#gst-gl-context-activate" title="gst_gl_context_activate ()"><code class="function">gst_gl_context_activate()</code></a>.</p>
+<div class="refsect3">
+<a name="gst-gl-context-get-current.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> active in the current thread or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -555,8 +1227,13 @@
 <div class="refsect2">
 <a name="GstGLContext-struct"></a><h3>GstGLContext</h3>
 <pre class="programlisting">typedef struct _GstGLContext GstGLContext;</pre>
+<p>Opaque <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> object</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="GstGLContext.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a>, <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/GstGLDisplay.html b/docs/libs/html/GstGLDisplay.html
index c567285..77eb76b 100644
--- a/docs/libs/html/GstGLDisplay.html
+++ b/docs/libs/html/GstGLDisplay.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="GstGLDisplay.top_of_page"></a>GstGLDisplay</span></h2>
-<p>GstGLDisplay</p>
+<p>GstGLDisplay — window system display connection abstraction</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -173,6 +173,26 @@
 </div>
 <div class="refsect1">
 <a name="GstGLDisplay.description"></a><h2>Description</h2>
+<p><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> represents a connection to the underlying windowing system. 
+Elements are required to make use of <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstContext.html#GstContext-struct"><span class="type">GstContext</span></a> to share and propogate
+a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a>.</p>
+<p>There are a number of environment variables that influence the choice of
+platform and window system specific functionality.</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>GST_GL_WINDOW influences the window system to use.  Common values are
+'x11', 'wayland', 'win32' or 'cocoa'.</p></li>
+<li class="listitem"><p>GST_GL_PLATFORM influences the OpenGL platform to use.  Common values are
+'egl', 'glx', 'wgl' or 'cgl'.</p></li>
+<li class="listitem"><p>GST_GL_API influences the OpenGL API requested by the OpenGL platform.
+Common values are 'opengl' and 'gles2'.</p></li>
+</ul></div>
+<div class="note">Certain window systems require a special function to be called to
+initialize threading support.  As this GStreamer GL library does not preclude
+concurrent access to the windowing system, it is strongly advised that
+applications ensure that threading support has been initialized before any
+other toolkit/library functionality is accessed.  Failure to do so could
+result in sudden application abortion during execution.  The most notably
+example of such a function is X11's <code class="function">XInitThreads()</code>.</div>
 </div>
 <div class="refsect1">
 <a name="GstGLDisplay.functions_details"></a><h2>Functions</h2>
@@ -180,12 +200,39 @@
 <a name="gst-gl-display-new"></a><h3>gst_gl_display_new ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="returnvalue">GstGLDisplay</span></a> *
 gst_gl_display_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-display-new.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</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.4</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-display-get-handle-type"></a><h3>gst_gl_display_get_handle_type ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLDisplay.html#GstGLDisplayType" title="enum GstGLDisplayType"><span class="returnvalue">GstGLDisplayType</span></a>
 gst_gl_display_get_handle_type (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-display-get-handle-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>display</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-display-get-handle-type.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="GstGLDisplay.html#GstGLDisplayType" title="enum GstGLDisplayType"><span class="type">GstGLDisplayType</span></a> of <em class="parameter"><code>display</code></em>
+</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -193,12 +240,60 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_display_filter_gl_api (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> gl_api</code></em>);</pre>
+<p>limit the use of OpenGL to the requested <em class="parameter"><code>gl_api</code></em>
+.  This is intended to allow
+application and elements to request a specific set of OpenGL API's based on
+what they support.  See <a class="link" href="GstGLContext.html#gst-gl-context-get-gl-api" title="gst_gl_context_get_gl_api ()"><code class="function">gst_gl_context_get_gl_api()</code></a> for the retreiving the
+API supported by a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>.</p>
+<div class="refsect3">
+<a name="gst-gl-display-filter-gl-api.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>display</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gl_api</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> to filter with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-display-get-gl-api"></a><h3>gst_gl_display_get_gl_api ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="returnvalue">GstGLAPI</span></a>
 gst_gl_display_get_gl_api (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>);</pre>
+<p>see <a class="link" href="GstGLDisplay.html#gst-gl-display-filter-gl-api" title="gst_gl_display_filter_gl_api ()"><code class="function">gst_gl_display_filter_gl_api()</code></a> for what the returned value represents</p>
+<div class="refsect3">
+<a name="gst-gl-display-get-gl-api.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>display</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-display-get-gl-api.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> configured for <em class="parameter"><code>display</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -206,6 +301,37 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_display_add_context (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>,
                             <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-display-add-context.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>display</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</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 <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</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-gl-display-add-context.returns"></a><h4>Returns</h4>
+<p> whether <em class="parameter"><code>context</code></em>
+was successfully added. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> may be returned
+if there already exists another context for <em class="parameter"><code>context</code></em>
+'s active thread.</p>
+<p>Must be called with the object lock held.</p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -214,6 +340,36 @@
 gst_gl_display_get_gl_context_for_thread
                                (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Threads.html#GThread"><span class="type">GThread</span></a> *thread</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-display-get-gl-context-for-thread.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>display</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>thread</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Threads.html#GThread"><span class="type">GThread</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-display-get-gl-context-for-thread.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> current on <em class="parameter"><code>thread</code></em>
+or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+<p>Must be called with the object lock held. </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">
@@ -229,6 +385,44 @@
                                <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *other_context</code></em>,
                                <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> **p_context</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>It requires the display's object lock to be held.</p>
+<div class="refsect3">
+<a name="gst-gl-display-create-context.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>display</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>other_context</p></td>
+<td class="parameter_description"><p>other <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> to share resources with.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>p_context</p></td>
+<td class="parameter_description"><p>resulting <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>error</p></td>
+<td class="parameter_description"><p>resulting <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-gl-display-create-context.returns"></a><h4>Returns</h4>
+<p> whether a new context could be created.</p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -236,6 +430,35 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_context_get_gl_display (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstContext.html#GstContext-struct"><span class="type">GstContext</span></a> *context</code></em>,
                             <em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> **display</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-context-get-gl-display.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstContext.html#GstContext-struct"><span class="type">GstContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>display</p></td>
+<td class="parameter_description"><p>resulting <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-context-get-gl-display.returns"></a><h4>Returns</h4>
+<p> Whether <em class="parameter"><code>display</code></em>
+was in <em class="parameter"><code>context</code></em>
+</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -243,6 +466,32 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_context_set_gl_display (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstContext.html#GstContext-struct"><span class="type">GstContext</span></a> *context</code></em>,
                             <em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>);</pre>
+<p>Sets <em class="parameter"><code>display</code></em>
+ on <em class="parameter"><code>context</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-context-set-gl-display.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstContext.html#GstContext-struct"><span class="type">GstContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>display</p></td>
+<td class="parameter_description"><p>resulting <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 </div>
 <div class="refsect1">
@@ -266,43 +515,59 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-DISPLAY-TYPE-NONE:CAPS"></a>GST_GL_DISPLAY_TYPE_NONE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>no display type</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-DISPLAY-TYPE-X11:CAPS"></a>GST_GL_DISPLAY_TYPE_X11</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>X11 display</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-DISPLAY-TYPE-WAYLAND:CAPS"></a>GST_GL_DISPLAY_TYPE_WAYLAND</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Wayland display</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-DISPLAY-TYPE-COCOA:CAPS"></a>GST_GL_DISPLAY_TYPE_COCOA</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Cocoa display</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-DISPLAY-TYPE-WIN32:CAPS"></a>GST_GL_DISPLAY_TYPE_WIN32</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Win32 display</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-DISPLAY-TYPE-DISPMANX:CAPS"></a>GST_GL_DISPLAY_TYPE_DISPMANX</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Dispmanx display</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-DISPLAY-TYPE-EGL:CAPS"></a>GST_GL_DISPLAY_TYPE_EGL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>EGL display</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-DISPLAY-TYPE-ANY:CAPS"></a>GST_GL_DISPLAY_TYPE_ANY</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>any display type</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -312,6 +577,8 @@
 <div class="refsect2">
 <a name="GstGLDisplay-struct"></a><h3>GstGLDisplay</h3>
 <pre class="programlisting">typedef struct _GstGLDisplay GstGLDisplay;</pre>
+<p>The contents of a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> are private and should only be accessed
+through the provided API</p>
 </div>
 </div>
 <div class="refsect1">
@@ -319,12 +586,51 @@
 <div class="refsect2">
 <a name="GstGLDisplay-create-context"></a><h3>The <code class="literal">“create-context”</code> signal</h3>
 <pre class="programlisting"><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="returnvalue">GstGLContext</span></a>*
-user_function (<a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *gstgldisplay,
-               <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *arg1,
+user_function (<a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *object,
+               <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)</pre>
+<p>Overrides the <em class="parameter"><code>GstGLContext</code></em>
+ creation mechanism.
+It can be called in any thread and it is emitted with
+display's object lock held.</p>
+<div class="refsect3">
+<a name="GstGLDisplay-create-context.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>the <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>other context to share resources with.</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>
+<div class="refsect3">
+<a name="GstGLDisplay-create-context.returns"></a><h4>Returns</h4>
+<p> the new context.</p>
+</div>
 <p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
 </div>
 </div>
+<div class="refsect1">
+<a name="GstGLDisplay.see-also"></a><h2>See Also</h2>
+<p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstContext.html#GstContext-struct"><span class="type">GstContext</span></a>, <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>, <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/GstGLFilter.html b/docs/libs/html/GstGLFilter.html
index 8d88e45..b36f8bd 100644
--- a/docs/libs/html/GstGLFilter.html
+++ b/docs/libs/html/GstGLFilter.html
@@ -42,15 +42,7 @@
 <tbody>
 <tr>
 <td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="GstGLFilter.html#gst-gl-filter-draw-texture" title="gst_gl_filter_draw_texture ()">gst_gl_filter_draw_texture</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
 <td class="function_name">
 <a class="link" href="GstGLFilter.html#gst-gl-filter-render-to-target" title="gst_gl_filter_render_to_target ()">gst_gl_filter_render_to_target</a> <span class="c_punctuation">()</span>
@@ -111,23 +103,63 @@
 <div class="refsect1">
 <a name="GstGLFilter.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
-<a name="gst-gl-filter-draw-texture"></a><h3>gst_gl_filter_draw_texture ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_filter_draw_texture (<em class="parameter"><code><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a> *filter</code></em>,
-                            <em class="parameter"><code><span class="type">GLuint</span> texture</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>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-gl-filter-render-to-target"></a><h3>gst_gl_filter_render_to_target ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_filter_render_to_target (<em class="parameter"><code><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a> *filter</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> resize</code></em>,
-                                <em class="parameter"><code><span class="type">GLuint</span> input</code></em>,
-                                <em class="parameter"><code><span class="type">GLuint</span> target</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GLCB:CAPS" title="GLCB ()"><span class="type">GLCB</span></a> func</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *input</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *output</code></em>,
+                                <em class="parameter"><code><span class="type">GstGLFilterRenderFunc</span> 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> data</code></em>);</pre>
+<p>Transforms <em class="parameter"><code>input</code></em>
+ into <em class="parameter"><code>output</code></em>
+ using <em class="parameter"><code>func</code></em>
+ on through FBO.</p>
+<div class="refsect3">
+<a name="gst-gl-filter-render-to-target.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>the input texture</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the output texture</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>func</p></td>
+<td class="parameter_description"><p>the function to transform <em class="parameter"><code>input</code></em>
+into <em class="parameter"><code>output</code></em>
+. called with <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 data associated with <em class="parameter"><code>func</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-filter-render-to-target.returns"></a><h4>Returns</h4>
+<p> the return value of <em class="parameter"><code>func</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -135,10 +167,46 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_filter_render_to_target_with_shader
                                (<em class="parameter"><code><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a> *filter</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> resize</code></em>,
-                                <em class="parameter"><code><span class="type">GLuint</span> input</code></em>,
-                                <em class="parameter"><code><span class="type">GLuint</span> target</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *input</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *output</code></em>,
                                 <em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>);</pre>
+<p>Transforms <em class="parameter"><code>input</code></em>
+ into <em class="parameter"><code>output</code></em>
+ using <em class="parameter"><code>shader</code></em>
+ with a FBO.</p>
+<p>See also: <a class="link" href="GstGLFilter.html#gst-gl-filter-render-to-target" title="gst_gl_filter_render_to_target ()"><code class="function">gst_gl_filter_render_to_target()</code></a></p>
+<div class="refsect3">
+<a name="gst-gl-filter-render-to-target-with-shader.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>input</p></td>
+<td class="parameter_description"><p>the input texture</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>output</p></td>
+<td class="parameter_description"><p>the output texture</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>shader</p></td>
+<td class="parameter_description"><p>the shader to use.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -147,6 +215,39 @@
 gst_gl_filter_filter_texture (<em class="parameter"><code><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</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> *inbuf</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> *outbuf</code></em>);</pre>
+<p>Perform automatic upload if needed, call filter_texture vfunc and then an
+automatic download if needed.</p>
+<div class="refsect3">
+<a name="gst-gl-filter-filter-texture.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>inbuf</p></td>
+<td class="parameter_description"><p>an input buffer</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>outbuf</p></td>
+<td class="parameter_description"><p>an output buffer</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-filter-filter-texture.returns"></a><h4>Returns</h4>
+<p> whether the transformation succeeded</p>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -154,6 +255,20 @@
 <div class="refsect2">
 <a name="GstGLFilter-struct"></a><h3>GstGLFilter</h3>
 <pre class="programlisting">typedef struct _GstGLFilter GstGLFilter;</pre>
+<p><a class="link" href="GstGLFilter.html" title="GstGLFilter"><span class="type">GstGLFilter</span></a> is a base class that provides the logic of getting the GL context
+from downstream and automatic upload/download for non-<a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a>
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a>s.</p>
+<div class="refsect3">
+<a name="GstGLFilter.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>
 <hr>
 <div class="refsect2">
@@ -163,7 +278,7 @@
 
   gboolean (*set_caps)          (GstGLFilter* filter, GstCaps* incaps, GstCaps* outcaps);
   gboolean (*filter)            (GstGLFilter *filter, GstBuffer *inbuf, GstBuffer *outbuf);
-  gboolean (*filter_texture)    (GstGLFilter *filter, guint in_tex, guint out_tex);
+  gboolean (*filter_texture)    (GstGLFilter *filter, GstGLMemory *in_tex, GstGLMemory *out_tex);
   gboolean (*init_fbo)          (GstGLFilter *filter);
 
   GstCaps *(*transform_internal_caps) (GstGLFilter *filter,
@@ -174,6 +289,63 @@
   void (*display_reset_cb)      (GstGLFilter *filter);
 } GstGLFilterClass;
 </pre>
+<div class="refsect3">
+<a name="GstGLFilterClass.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="GstGLFilterClass.set-caps"></a>set_caps</code></em> ()</p></td>
+<td class="struct_member_description"><p>mirror from <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct"><span class="type">GstBaseTransform</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.filter"></a>filter</code></em> ()</p></td>
+<td class="struct_member_description"><p>perform operations on the input and output buffers.  In general,
+you should avoid using this method if at all possible. One valid
+use-case for using this is keeping previous buffers for future calculations.
+Note: If <em class="parameter"><code>filter</code></em>
+exists, then <em class="parameter"><code>filter_texture</code></em>
+is not run</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.filter-texture"></a>filter_texture</code></em> ()</p></td>
+<td class="struct_member_description"><p>given <em class="parameter"><code>in_tex</code></em>
+, transform it into <em class="parameter"><code>out_tex</code></em>
+.  Not used
+if <em class="parameter"><code>filter</code></em>
+exists</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.init-fbo"></a>init_fbo</code></em> ()</p></td>
+<td class="struct_member_description"><p>perform initialization when the Framebuffer object is created</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.transform-internal-caps"></a>transform_internal_caps</code></em> ()</p></td>
+<td class="struct_member_description"><p>Perform sub-class specific modifications of the
+caps to be processed between upload on input and before download for output.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.display-init-cb"></a>display_init_cb</code></em> ()</p></td>
+<td class="struct_member_description"><p>execute arbitrary gl code on start</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLFilterClass.display-reset-cb"></a>display_reset_cb</code></em> ()</p></td>
+<td class="struct_member_description"><p>execute arbitrary gl code at stop</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/GstGLFramebuffer.html b/docs/libs/html/GstGLFramebuffer.html
index 3cdd4be..f0c7a42 100644
--- a/docs/libs/html/GstGLFramebuffer.html
+++ b/docs/libs/html/GstGLFramebuffer.html
@@ -39,40 +39,14 @@
 <col width="150px" class="functions_return">
 <col class="functions_name">
 </colgroup>
-<tbody>
-<tr>
+<tbody><tr>
 <td class="function_type">
 <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer"><span class="returnvalue">GstGLFramebuffer</span></a> *
 </td>
 <td class="function_name">
 <a class="link" href="GstGLFramebuffer.html#gst-gl-framebuffer-new" title="gst_gl_framebuffer_new ()">gst_gl_framebuffer_new</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">
-<a class="link" href="GstGLFramebuffer.html#gst-gl-framebuffer-generate" title="gst_gl_framebuffer_generate ()">gst_gl_framebuffer_generate</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="GstGLFramebuffer.html#gst-gl-framebuffer-delete" title="gst_gl_framebuffer_delete ()">gst_gl_framebuffer_delete</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">
-<a class="link" href="GstGLFramebuffer.html#gst-gl-framebuffer-use-v2" title="gst_gl_framebuffer_use_v2 ()">gst_gl_framebuffer_use_v2</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
+</tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
@@ -84,8 +58,8 @@
 </colgroup>
 <tbody>
 <tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="GstGLFramebuffer.html#GstGLFramebuffer-struct" title="struct GstGLFramebuffer">GstGLFramebuffer</a></td>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="GstGLFramebuffer.html#GstGLFramebuffer-struct" title="GstGLFramebuffer">GstGLFramebuffer</a></td>
 </tr>
 <tr>
 <td class="datatype_keyword">struct</td>
@@ -97,7 +71,9 @@
 <div class="refsect1">
 <a name="GstGLFramebuffer.object-hierarchy"></a><h2>Object Hierarchy</h2>
 <pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
-    <span class="lineart">╰──</span> GstGLFramebuffer
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> GstGLFramebuffer
 </pre>
 </div>
 <div class="refsect1">
@@ -110,49 +86,18 @@
 <pre class="programlisting"><a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer"><span class="returnvalue">GstGLFramebuffer</span></a> *
 gst_gl_framebuffer_new (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
 </div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-framebuffer-generate"></a><h3>gst_gl_framebuffer_generate ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_gl_framebuffer_generate (<em class="parameter"><code><a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer"><span class="type">GstGLFramebuffer</span></a> *frame</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>,
-                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *fbo</code></em>,
-                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *depthbuffer</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-framebuffer-delete"></a><h3>gst_gl_framebuffer_delete ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_framebuffer_delete (<em class="parameter"><code><a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer"><span class="type">GstGLFramebuffer</span></a> *frame</code></em>,
-                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> fbo</code></em>,
-                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> depth</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-framebuffer-use-v2"></a><h3>gst_gl_framebuffer_use_v2 ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_gl_framebuffer_use_v2 (<em class="parameter"><code><a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer"><span class="type">GstGLFramebuffer</span></a> *frame</code></em>,
-                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> texture_fbo_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> texture_fbo_height</code></em>,
-                           <em class="parameter"><code><span class="type">GLuint</span> fbo</code></em>,
-                           <em class="parameter"><code><span class="type">GLuint</span> depth_buffer</code></em>,
-                           <em class="parameter"><code><span class="type">GLuint</span> texture_fbo</code></em>,
-                           <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GLCB-V2:CAPS" title="GLCB_V2 ()"><span class="type">GLCB_V2</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> stuff</code></em>);</pre>
-</div>
 </div>
 <div class="refsect1">
 <a name="GstGLFramebuffer.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstGLFramebuffer-struct"></a><h3>struct GstGLFramebuffer</h3>
-<pre class="programlisting">struct GstGLFramebuffer;</pre>
+<a name="GstGLFramebuffer-struct"></a><h3>GstGLFramebuffer</h3>
+<pre class="programlisting">typedef struct _GstGLFramebuffer GstGLFramebuffer;</pre>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstGLFramebufferClass"></a><h3>struct GstGLFramebufferClass</h3>
 <pre class="programlisting">struct GstGLFramebufferClass {
-  GObjectClass object_class;
+  GstObjectClass object_class;
 };
 </pre>
 </div>
diff --git a/docs/libs/html/GstGLShader.html b/docs/libs/html/GstGLShader.html
index 44388c9..e7152fa 100644
--- a/docs/libs/html/GstGLShader.html
+++ b/docs/libs/html/GstGLShader.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="GstGLShader.top_of_page"></a>GstGLShader</span></h2>
-<p>GstGLShader</p>
+<p>GstGLShader — object representing an OpenGL shader program</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -425,6 +425,28 @@
 <a name="gst-gl-shader-new"></a><h3>gst_gl_shader_new ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="returnvalue">GstGLShader</span></a> *
 gst_gl_shader_new (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-shader-new.returns"></a><h4>Returns</h4>
+<p> a new empty <em class="parameter"><code>shader</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">
@@ -432,6 +454,36 @@
 <pre class="programlisting"><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="returnvalue">GstGLShader</span></a> *
 gst_gl_shader_new_default (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-new-default.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</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 <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> that is filled on failure</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-shader-new-default.returns"></a><h4>Returns</h4>
+<p> a default <em class="parameter"><code>shader</code></em>
+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="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">
@@ -440,6 +492,46 @@
 gst_gl_shader_new_link_with_stages (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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>,
                                     <em class="parameter"><code>...</code></em>);</pre>
+<p>Each stage will attempt to be compiled and attached to <em class="parameter"><code>shader</code></em>
+.  Then
+the shader will be linked. On error, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned and <em class="parameter"><code>error</code></em>
+ will
+contain the details of the error.</p>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-new-link-with-stages.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</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 <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>
+<tr>
+<td class="parameter_name"><p>...</p></td>
+<td class="parameter_description"><p>a NULL terminated list of <a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a>'s</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-shader-new-link-with-stages.returns"></a><h4>Returns</h4>
+<p> a new <em class="parameter"><code>shader</code></em>
+with the specified stages. </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">
@@ -448,30 +540,144 @@
 gst_gl_shader_new_with_stages (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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>,
                                <em class="parameter"><code>...</code></em>);</pre>
+<p>Each stage will attempt to be compiled and attached to <em class="parameter"><code>shader</code></em>
+.  On error,
+<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be returned and <em class="parameter"><code>error</code></em>
+ will contain the details of the error.</p>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-new-with-stages.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</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 <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>
+<tr>
+<td class="parameter_name"><p>...</p></td>
+<td class="parameter_description"><p>a NULL terminated list of <a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a>'s</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-shader-new-with-stages.returns"></a><h4>Returns</h4>
+<p> a new <em class="parameter"><code>shader</code></em>
+with the specified stages. </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-gl-shader-use"></a><h3>gst_gl_shader_use ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_shader_use (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>);</pre>
+<p>Mark's <em class="parameter"><code>shader</code></em>
+ as being used for the next GL draw command.</p>
+<p>Note: must be called in the GL thread and <em class="parameter"><code>shader</code></em>
+ must have been linked.</p>
+<div class="refsect3">
+<a name="gst-gl-shader-use.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-shader-get-program-handle"></a><h3>gst_gl_shader_get_program_handle ()</h3>
 <pre class="programlisting"><span class="returnvalue">int</span>
 gst_gl_shader_get_program_handle (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-shader-get-program-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>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-shader-get-program-handle.returns"></a><h4>Returns</h4>
+<p> the GL program handle for this shader</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-shader-release"></a><h3>gst_gl_shader_release ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_shader_release (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>);</pre>
+<p>Releases the shader and stages.</p>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-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>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-shader-release-unlocked"></a><h3>gst_gl_shader_release_unlocked ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_shader_release_unlocked (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>);</pre>
+<p>Releases the shader and stages.</p>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-release-unlocked.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -479,6 +685,41 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_shader_attach (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>,
                       <em class="parameter"><code><a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a> *stage</code></em>);</pre>
+<p>Attaches <em class="parameter"><code>stage</code></em>
+ to <em class="parameter"><code>shader</code></em>
+.  <em class="parameter"><code>stage</code></em>
+ must have been successfully compiled
+with <code class="function">gst_glsl_stage_compile()</code>.</p>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-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>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stage</p></td>
+<td class="parameter_description"><p>a <a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a> to attach</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-shader-attach.returns"></a><h4>Returns</h4>
+<p> whether <em class="parameter"><code>stage</code></em>
+could be attached to <em class="parameter"><code>shader</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -486,6 +727,41 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_shader_attach_unlocked (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>,
                                <em class="parameter"><code><a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a> *stage</code></em>);</pre>
+<p>Attaches <em class="parameter"><code>stage</code></em>
+ to <em class="parameter"><code>shader</code></em>
+.  <em class="parameter"><code>stage</code></em>
+ must have been successfully compiled
+with <code class="function">gst_glsl_stage_compile()</code>.</p>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-attach-unlocked.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stage</p></td>
+<td class="parameter_description"><p>a <a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a> to attach</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-shader-attach-unlocked.returns"></a><h4>Returns</h4>
+<p> whether <em class="parameter"><code>stage</code></em>
+could be attached to <em class="parameter"><code>shader</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -494,6 +770,44 @@
 gst_gl_shader_compile_attach_stage (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>,
                                     <em class="parameter"><code><a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a> *stage</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>Compiles <em class="parameter"><code>stage</code></em>
+ and attaches it to <em class="parameter"><code>shader</code></em>
+.</p>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-compile-attach-stage.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stage</p></td>
+<td class="parameter_description"><p>a <a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a> to attach</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-gl-shader-compile-attach-stage.returns"></a><h4>Returns</h4>
+<p> whether <em class="parameter"><code>stage</code></em>
+could be compiled and attached to <em class="parameter"><code>shader</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -501,6 +815,36 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_shader_detach (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>,
                       <em class="parameter"><code><a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a> *stage</code></em>);</pre>
+<p>Detaches <em class="parameter"><code>stage</code></em>
+ from <em class="parameter"><code>shader</code></em>
+.  <em class="parameter"><code>stage</code></em>
+ must have been successfully attached
+to <em class="parameter"><code>shader</code></em>
+ with <a class="link" href="GstGLShader.html#gst-gl-shader-attach" title="gst_gl_shader_attach ()"><code class="function">gst_gl_shader_attach()</code></a> or <a class="link" href="GstGLShader.html#gst-gl-shader-attach-unlocked" title="gst_gl_shader_attach_unlocked ()"><code class="function">gst_gl_shader_attach_unlocked()</code></a>.</p>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-detach.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stage</p></td>
+<td class="parameter_description"><p>a <a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a> to attach</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -508,12 +852,64 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_shader_detach_unlocked (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>,
                                <em class="parameter"><code><a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a> *stage</code></em>);</pre>
+<p>Detaches <em class="parameter"><code>stage</code></em>
+ from <em class="parameter"><code>shader</code></em>
+.  <em class="parameter"><code>stage</code></em>
+ must have been successfully attached
+to <em class="parameter"><code>shader</code></em>
+ with <a class="link" href="GstGLShader.html#gst-gl-shader-attach" title="gst_gl_shader_attach ()"><code class="function">gst_gl_shader_attach()</code></a> or <a class="link" href="GstGLShader.html#gst-gl-shader-attach-unlocked" title="gst_gl_shader_attach_unlocked ()"><code class="function">gst_gl_shader_attach_unlocked()</code></a>.</p>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-detach-unlocked.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stage</p></td>
+<td class="parameter_description"><p>a <a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a> to attach</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-shader-is-linked"></a><h3>gst_gl_shader_is_linked ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_shader_is_linked (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</code></em>);</pre>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-is-linked.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-shader-is-linked.returns"></a><h4>Returns</h4>
+<p> whether <em class="parameter"><code>shader</code></em>
+has been successfully linked</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -521,6 +917,37 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_shader_link (<em class="parameter"><code><a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a> *shader</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>Links the current list of <a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a>'s in <em class="parameter"><code>shader</code></em>
+.</p>
+<p>Note: must be called in the GL thread</p>
+<div class="refsect3">
+<a name="gst-gl-shader-link.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>shader</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</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 <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-gl-shader-link.returns"></a><h4>Returns</h4>
+<p> whether <em class="parameter"><code>shader</code></em>
+could be linked together.</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -799,6 +1226,10 @@
 <p>Default value: FALSE</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="GstGLShader.see-also"></a><h2>See Also</h2>
+<p><a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/GstGLUpload.html b/docs/libs/html/GstGLUpload.html
index 80e21a8..5f73454 100644
--- a/docs/libs/html/GstGLUpload.html
+++ b/docs/libs/html/GstGLUpload.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="GstGLUpload.top_of_page"></a>GstGLUpload</span></h2>
-<p>GstGLUpload</p>
+<p>GstGLUpload — an object that uploads to GL textures</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -122,6 +122,8 @@
 </div>
 <div class="refsect1">
 <a name="GstGLUpload.description"></a><h2>Description</h2>
+<p><a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a> is an object that uploads data from system memory into GL textures.</p>
+<p>A <a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a> can be created with <a class="link" href="GstGLUpload.html#gst-gl-upload-new" title="gst_gl_upload_new ()"><code class="function">gst_gl_upload_new()</code></a></p>
 </div>
 <div class="refsect1">
 <a name="GstGLUpload.functions_details"></a><h2>Functions</h2>
@@ -129,6 +131,25 @@
 <a name="gst-gl-upload-new"></a><h3>gst_gl_upload_new ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="returnvalue">GstGLUpload</span></a> *
 gst_gl_upload_new (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-upload-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-upload-new.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a> object</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -137,6 +158,38 @@
 gst_gl_upload_get_caps (<em class="parameter"><code><a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a> *upload</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> **in_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> **out_caps</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-upload-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>upload</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>in_caps</p></td>
+<td class="parameter_description"><p> the input <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"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<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>out_caps</p></td>
+<td class="parameter_description"><p> the output <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"><span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<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-gl-upload-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> set by <a class="link" href="GstGLUpload.html#gst-gl-upload-set-caps" title="gst_gl_upload_set_caps ()"><code class="function">gst_gl_upload_set_caps()</code></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">
@@ -145,6 +198,42 @@
 gst_gl_upload_set_caps (<em class="parameter"><code><a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a> *upload</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> *in_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> *out_caps</code></em>);</pre>
+<p>Initializes <em class="parameter"><code>upload</code></em>
+ with the information required for upload.</p>
+<div class="refsect3">
+<a name="gst-gl-upload-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>upload</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>in_caps</p></td>
+<td class="parameter_description"><p>input <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>out_caps</p></td>
+<td class="parameter_description"><p>output <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-gl-upload-set-caps.returns"></a><h4>Returns</h4>
+<p> whether <em class="parameter"><code>in_caps</code></em>
+and <em class="parameter"><code>out_caps</code></em>
+could be set on <em class="parameter"><code>upload</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -153,12 +242,41 @@
 gst_gl_upload_propose_allocation (<em class="parameter"><code><a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a> *upload</code></em>,
                                   <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstQuery.html#GstQuery-struct"><span class="type">GstQuery</span></a> *decide_query</code></em>,
                                   <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>Adds the required allocation parameters to support uploading.</p>
+<div class="refsect3">
+<a name="gst-gl-upload-propose-allocation.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>upload</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>decide_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> from a decide allocation. </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>query</p></td>
+<td class="parameter_description"><p>the proposed allocation query</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-upload-transform-caps"></a><h3>gst_gl_upload_transform_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_gl_upload_transform_caps (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
+gst_gl_upload_transform_caps (<em class="parameter"><code><a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a> *upload</code></em>,
+                              <em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstPadDirection"><span class="type">GstPadDirection</span></a> direction</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>
@@ -170,6 +288,41 @@
 gst_gl_upload_perform_with_buffer (<em class="parameter"><code><a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a> *upload</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.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> **outbuf_ptr</code></em>);</pre>
+<p>Uploads <em class="parameter"><code>buffer</code></em>
+ using the transformation specified by
+<a class="link" href="GstGLUpload.html#gst-gl-upload-set-caps" title="gst_gl_upload_set_caps ()"><code class="function">gst_gl_upload_set_caps()</code></a> creating a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> in <em class="parameter"><code>outbuf_ptr</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-gl-upload-perform-with-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>upload</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>buffer</p></td>
+<td class="parameter_description"><p>input <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>outbuf_ptr</p></td>
+<td class="parameter_description"><p>resulting <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-gl-upload-perform-with-buffer.returns"></a><h4>Returns</h4>
+<p> whether the upload was successful</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -183,8 +336,13 @@
 <div class="refsect2">
 <a name="GstGLUpload-struct"></a><h3>GstGLUpload</h3>
 <pre class="programlisting">typedef struct _GstGLUpload GstGLUpload;</pre>
+<p>Opaque <a class="link" href="GstGLUpload.html" title="GstGLUpload"><span class="type">GstGLUpload</span></a> object</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="GstGLUpload.see-also"></a><h2>See Also</h2>
+<p><span class="type">GstGLDownload</span>, <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/GstGLWindow.html b/docs/libs/html/GstGLWindow.html
index 3845f6a..4ce4cb6 100644
--- a/docs/libs/html/GstGLWindow.html
+++ b/docs/libs/html/GstGLWindow.html
@@ -29,7 +29,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="GstGLWindow.top_of_page"></a>GstGLWindow</span></h2>
-<p>GstGLWindow</p>
+<p>GstGLWindow — window/surface abstraction</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -283,6 +283,8 @@
 </div>
 <div class="refsect1">
 <a name="GstGLWindow.description"></a><h2>Description</h2>
+<p>GstGLWindow represents a window that elements can render into.  A window can
+either be a user visible window (onscreen) or hidden (offscreen).</p>
 </div>
 <div class="refsect1">
 <a name="GstGLWindow.functions_details"></a><h2>Functions</h2>
@@ -322,42 +324,175 @@
 <a name="gst-gl-window-new"></a><h3>gst_gl_window_new ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="returnvalue">GstGLWindow</span></a> *
 gst_gl_window_new (<em class="parameter"><code><a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a> *display</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-window-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>display</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-window-new.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> using <em class="parameter"><code>display</code></em>
+'s connection. </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-gl-window-draw"></a><h3>gst_gl_window_draw ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_window_draw (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
+<p>Redraw the window contents.  Implementations should invoke the draw callback.</p>
+<div class="refsect3">
+<a name="gst-gl-window-draw.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</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-gl-window-is-running"></a><h3>gst_gl_window_is_running ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_window_is_running (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
+<p>Whether the runloop is running</p>
+<div class="refsect3">
+<a name="gst-gl-window-is-running.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</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-gl-window-quit"></a><h3>gst_gl_window_quit ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_window_quit (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
+<p>Quit the runloop's execution.</p>
+<div class="refsect3">
+<a name="gst-gl-window-quit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</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-gl-window-run"></a><h3>gst_gl_window_run ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_window_run (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
+<p>Start the execution of the runloop.</p>
+<div class="refsect3">
+<a name="gst-gl-window-run.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</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-gl-window-get-context"></a><h3>gst_gl_window_get_context ()</h3>
 <pre class="programlisting"><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="returnvalue">GstGLContext</span></a> *
 gst_gl_window_get_context (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-window-get-context.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-window-get-context.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> associated with this <em class="parameter"><code>window</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-gl-window-get-display"></a><h3>gst_gl_window_get_display ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guintptr"><span class="returnvalue">guintptr</span></a>
 gst_gl_window_get_display (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-window-get-display.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-window-get-display.returns"></a><h4>Returns</h4>
+<p> the windowing system display handle for this <em class="parameter"><code>window</code></em>
+</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -366,6 +501,39 @@
 gst_gl_window_send_message (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>,
                             <em class="parameter"><code><a class="link" href="GstGLWindow.html#GstGLWindowCB" title="GstGLWindowCB ()"><span class="type">GstGLWindowCB</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> data</code></em>);</pre>
+<p>Invoke <em class="parameter"><code>callback</code></em>
+ with data on the window thread.  <em class="parameter"><code>callback</code></em>
+ is guarenteed to
+have executed when this function returns.</p>
+<div class="refsect3">
+<a name="gst-gl-window-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>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p> function to invoke. </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>data</p></td>
+<td class="parameter_description"><p> data to invoke <em class="parameter"><code>callback</code></em>
+with. </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>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -375,6 +543,45 @@
                                   <em class="parameter"><code><a class="link" href="GstGLWindow.html#GstGLWindowCB" title="GstGLWindowCB ()"><span class="type">GstGLWindowCB</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> 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</code></em>);</pre>
+<p>Invoke <em class="parameter"><code>callback</code></em>
+ with <em class="parameter"><code>data</code></em>
+ on the window thread.  The callback may not
+have been executed when this function returns.</p>
+<div class="refsect3">
+<a name="gst-gl-window-send-message-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>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p> function to invoke. </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>data</p></td>
+<td class="parameter_description"><p> data to invoke <em class="parameter"><code>callback</code></em>
+with. </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>
+<tr>
+<td class="parameter_name"><p>destroy</p></td>
+<td class="parameter_description"><p> called when <em class="parameter"><code>data</code></em>
+is not needed anymore. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -384,6 +591,42 @@
                                   <em class="parameter"><code><a class="link" href="GstGLWindow.html#GstGLWindowCB" title="GstGLWindowCB ()"><span class="type">GstGLWindowCB</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> 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>Sets the callback called when the window is about to close.</p>
+<div class="refsect3">
+<a name="gst-gl-window-set-close-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>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p> function to invoke. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p> data to invoke <em class="parameter"><code>callback</code></em>
+with. </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>
+<tr>
+<td class="parameter_name"><p>destroy_notify</p></td>
+<td class="parameter_description"><p> called when <em class="parameter"><code>data</code></em>
+is not needed any more. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -393,6 +636,42 @@
                                  <em class="parameter"><code><a class="link" href="GstGLWindow.html#GstGLWindowCB" title="GstGLWindowCB ()"><span class="type">GstGLWindowCB</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> 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>Sets the draw callback called everytime <a class="link" href="GstGLWindow.html#gst-gl-window-draw" title="gst_gl_window_draw ()"><code class="function">gst_gl_window_draw()</code></a> is called</p>
+<div class="refsect3">
+<a name="gst-gl-window-set-draw-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>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p> function to invoke. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p> data to invoke <em class="parameter"><code>callback</code></em>
+with. </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>
+<tr>
+<td class="parameter_name"><p>destroy_notify</p></td>
+<td class="parameter_description"><p> called when <em class="parameter"><code>data</code></em>
+is not needed any more. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -402,6 +681,42 @@
                                    <em class="parameter"><code><a class="link" href="GstGLWindow.html#GstGLWindowResizeCB" title="GstGLWindowResizeCB ()"><span class="type">GstGLWindowResizeCB</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> 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>Sets the resize callback called everytime a resize of the window occurs.</p>
+<div class="refsect3">
+<a name="gst-gl-window-set-resize-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>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p> function to invoke. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="The callback is valid until the GDestroyNotify argument is called."><span class="acronym">scope notified</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p> data to invoke <em class="parameter"><code>callback</code></em>
+with. </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>
+<tr>
+<td class="parameter_name"><p>destroy_notify</p></td>
+<td class="parameter_description"><p> called when <em class="parameter"><code>data</code></em>
+is not needed any more. </p></td>
+<td class="parameter_annotations"><span class="annotation">[<acronym title="This parameter is a 'destroy_data', for callbacks."><span class="acronym">destroy</span></acronym>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -409,12 +724,58 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_window_set_window_handle (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</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>Sets the window that this <em class="parameter"><code>window</code></em>
+ should render into.  Some implementations
+require this to be called with a valid handle before drawing can commence.</p>
+<div class="refsect3">
+<a name="gst-gl-window-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>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>handle</p></td>
+<td class="parameter_description"><p>handle to the window</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-gl-window-get-window-handle"></a><h3>gst_gl_window_get_window_handle ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guintptr"><span class="returnvalue">guintptr</span></a>
 gst_gl_window_get_window_handle (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-window-get-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>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-window-get-window-handle.returns"></a><h4>Returns</h4>
+<p> the window handle we are currently rendering into</p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -423,12 +784,59 @@
 gst_gl_window_set_preferred_size (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</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>Set the preferred width and height of the window.  Implementations are free
+to ignore this information.</p>
+<div class="refsect3">
+<a name="gst-gl-window-set-preferred-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>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>width</p></td>
+<td class="parameter_description"><p>new preferred width</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p>new preferred height</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-gl-window-show"></a><h3>gst_gl_window_show ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_window_show (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</code></em>);</pre>
+<p>Present the window to the screen.</p>
+<div class="refsect3">
+<a name="gst-gl-window-show.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</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">
@@ -437,6 +845,34 @@
 gst_gl_window_get_surface_dimensions (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</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>
+<div class="refsect3">
+<a name="gst-gl-window-get-surface-dimensions.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>width</p></td>
+<td class="parameter_description"><p> resulting surface 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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p> resulting surface 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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -444,6 +880,35 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_window_handle_events (<em class="parameter"><code><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *window</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 a <em class="parameter"><code>window</code></em>
+ that it should handle events from the window system. These
+events are forwarded upstream as navigation events. In some window systems
+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 <em class="parameter"><code>window</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-gl-window-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>window</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></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>
 </div>
 <div class="refsect1">
@@ -488,6 +953,8 @@
 <div class="refsect2">
 <a name="GstGLWindow-struct"></a><h3>GstGLWindow</h3>
 <pre class="programlisting">typedef struct _GstGLWindow GstGLWindow;</pre>
+<p><a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> is an opaque struct and should only be accessed through the
+provided api.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -513,6 +980,99 @@
   void     (*queue_resize)       (GstGLWindow *window);
 } GstGLWindowClass;
 </pre>
+<div class="refsect3">
+<a name="GstGLWindowClass.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="GstGLWindowClass.get-display"></a>get_display</code></em> ()</p></td>
+<td class="struct_member_description"><p>Gets the current windowing system display connection</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.set-window-handle"></a>set_window_handle</code></em> ()</p></td>
+<td class="struct_member_description"><p>Set a window to render into</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.get-window-handle"></a>get_window_handle</code></em> ()</p></td>
+<td class="struct_member_description"><p>Gets the current window that this <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> is
+rendering into</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.draw"></a>draw</code></em> ()</p></td>
+<td class="struct_member_description"><p>redraw the window with the specified dimensions</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.run"></a>run</code></em> ()</p></td>
+<td class="struct_member_description"><p>run the mainloop</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.quit"></a>quit</code></em> ()</p></td>
+<td class="struct_member_description"><p>send a quit to the mainloop</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.send-message"></a>send_message</code></em> ()</p></td>
+<td class="struct_member_description"><p>invoke a function on the window thread.  Required to be reentrant.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.send-message-async"></a>send_message_async</code></em> ()</p></td>
+<td class="struct_member_description"><p>invoke a function on the window thread. <em class="parameter"><code>run</code></em>
+may or may
+not have been called.  Required to be reentrant.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.open"></a>open</code></em> ()</p></td>
+<td class="struct_member_description"><p>open the connection to the display</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.close"></a>close</code></em> ()</p></td>
+<td class="struct_member_description"><p>close the connection to the display</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.handle-events"></a>handle_events</code></em> ()</p></td>
+<td class="struct_member_description"><p>whether to handle 'extra' events from the windowing system.
+Basic events like surface moves and resizes are still valid
+things to listen for.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.set-preferred-size"></a>set_preferred_size</code></em> ()</p></td>
+<td class="struct_member_description"><p>request that the window change surface size.  The
+implementation is free to ignore this information.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.show"></a>show</code></em> ()</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.set-render-rectangle"></a>set_render_rectangle</code></em> ()</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstGLWindowClass.queue-resize"></a>queue_resize</code></em> ()</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -520,24 +1080,106 @@
 <div class="refsect2">
 <a name="GstGLWindow-key-event"></a><h3>The <code class="literal">“key-event”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *gstglwindow,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a>       *arg1,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a>       *arg2,
+user_function (<a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *object,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a>       *id,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a>       *key,
                <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 a key event is received by the GstGLwindow.</p>
+<div class="refsect3">
+<a name="GstGLWindow-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>object</p></td>
+<td class="parameter_description"><p>the <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the name of the event</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>key</p></td>
+<td class="parameter_description"><p>the id of the key pressed</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.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstGLWindow-mouse-event"></a><h3>The <code class="literal">“mouse-event”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *gstglwindow,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</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#gdouble"><span class="type">gdouble</span></a>      arg3,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>      arg4,
+user_function (<a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a> *object,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a>       *id,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a>         button,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>      x,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a>      y,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>     user_data)</pre>
-<p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+<p>Will be emitted when a mouse event is received by the GstGLwindow.</p>
+<div class="refsect3">
+<a name="GstGLWindow-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>object</p></td>
+<td class="parameter_description"><p>the <a class="link" href="GstGLWindow.html" title="GstGLWindow"><span class="type">GstGLWindow</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>id</p></td>
+<td class="parameter_description"><p>the name of the event</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>button</p></td>
+<td class="parameter_description"><p>the id of the button</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>
+<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.6</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="GstGLWindow.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a>, <a class="link" href="GstGLDisplay.html" title="GstGLDisplay"><span class="type">GstGLDisplay</span></a></p>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/annotation-glossary.html b/docs/libs/html/annotation-glossary.html
new file mode 100644
index 0000000..8780676
--- /dev/null
+++ b/docs/libs/html/annotation-glossary.html
@@ -0,0 +1,89 @@
+<!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 Bad 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 Bad Plugins 1.0 Library Reference Manual">
+<link rel="up" href="index.html" title="GStreamer Bad 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="#glsD">D</a>
+                     <span class="dim">|</span> 
+                  <a class="shortcut" href="#glsE">E</a>
+                     <span class="dim">|</span> 
+                  <a class="shortcut" href="#glsO">O</a>
+                     <span class="dim">|</span> 
+                  <a class="shortcut" href="#glsS">S</a>
+                     <span class="dim">|</span> 
+                  <a class="shortcut" href="#glsT">T</a>
+                     <span class="dim">|</span> 
+                  <a class="shortcut" href="#glsU">U</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="glsD"></a><h3 class="title">D</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-destroy"></a>destroy</span></dt>
+<dd class="glossdef"><p>This parameter is a 'destroy_data', for callbacks.</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="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="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-scope%20notified"></a>scope notified</span></dt>
+<dd class="glossdef"><p>The callback is valid until the GDestroyNotify argument is called.</p></dd>
+<a name="glsT"></a><h3 class="title">T</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-transfer%20container"></a>transfer container</span></dt>
+<dd class="glossdef"><p>Free data container after the code is done.</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>
+<a name="glsU"></a><h3 class="title">U</h3>
+<dt><span class="glossterm"><a name="annotation-glossterm-Unstable"></a>Unstable</span></dt>
+<dd class="glossdef"><p>Unstable interfaces are experimental or transitional. They are typically used to
+give outside developers early access to new or rapidly changing technology, or
+to provide an interim solution to a problem where a more general solution is
+anticipated. No claims are made about either source or binary compatibility from
+one minor release to the next.
+
+The Unstable interface level is a warning that these interfaces are  subject to
+change without warning and should not be used in unbundled products.
+
+Given such caveats, customer impact need not be a factor when considering
+incompatible changes to an Unstable interface in a major or minor release.
+Nonetheless, when such changes are introduced, the changes should still be
+mentioned in the release notes for the affected release.
+</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 8361576..fbcd723 100644
--- a/docs/libs/html/api-index-deprecated.html
+++ b/docs/libs/html/api-index-deprecated.html
@@ -7,6 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="index.html" title="GStreamer Bad 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>
@@ -16,7 +17,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><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><img src="right-insensitive.png" width="16" height="16" border="0"></td>
+<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="index">
 <div class="titlepage"><div><div><h1 class="title">
diff --git a/docs/libs/html/api-index-full.html b/docs/libs/html/api-index-full.html
index 89ed096..621b26f 100644
--- a/docs/libs/html/api-index-full.html
+++ b/docs/libs/html/api-index-full.html
@@ -220,10 +220,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#CDCB:CAPS" title="CDCB ()">CDCB</a>, user_function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstGLDisplay.html#gst-context-get-gl-display" title="gst_context_get_gl_display ()">gst_context_get_gl_display</a>, function in <a class="link" href="GstGLDisplay.html" title="GstGLDisplay">GstGLDisplay</a>
 </dt>
 <dd></dd>
@@ -262,7 +258,7 @@
 <dd></dd>
 <a name="idxE"></a><h3 class="title">E</h3>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-event-parse-mpegts-section" title="gst_event_parse_mpegts_section ()">gst_event_parse_mpegts_section</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-event-parse-mpegts-section" title="gst_event_parse_mpegts_section ()">gst_event_parse_mpegts_section</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <a name="idxG"></a><h3 class="title">G</h3>
@@ -283,11 +279,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug">GstGLAsyncDebug</a>, struct in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug">GstGLAsyncDebug</a>, struct in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebugLogGetMessage" title="GstGLAsyncDebugLogGetMessage ()">GstGLAsyncDebugLogGetMessage</a>, user_function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">gstgldebug</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebugLogGetMessage" title="GstGLAsyncDebugLogGetMessage ()">GstGLAsyncDebugLogGetMessage</a>, user_function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL debugging</a>
 </dt>
 <dd></dd>
 <dt>
@@ -371,14 +367,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GLCB:CAPS" title="GLCB ()">GLCB</a>, user_function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GLCB-V2:CAPS" title="GLCB_V2 ()">GLCB_V2</a>, user_function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstGLColorConvert.html#GstGLColorConvert-struct" title="GstGLColorConvert">GstGLColorConvert</a>, struct in <a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert">GstGLColorConvert</a>
 </dt>
 <dd></dd>
@@ -427,10 +415,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GstGLDisplayProjection" title="enum GstGLDisplayProjection">GstGLDisplayProjection</a>, enum in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstGLDisplay.html#GstGLDisplayType" title="enum GstGLDisplayType">GstGLDisplayType</a>, enum in <a class="link" href="GstGLDisplay.html" title="GstGLDisplay">GstGLDisplay</a>
 </dt>
 <dd></dd>
@@ -443,7 +427,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstGLFramebuffer.html#GstGLFramebuffer-struct" title="struct GstGLFramebuffer">GstGLFramebuffer</a>, struct in <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer">GstGLFramebuffer</a>
+<a class="link" href="GstGLFramebuffer.html#GstGLFramebuffer-struct" title="GstGLFramebuffer">GstGLFramebuffer</a>, struct in <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer">GstGLFramebuffer</a>
 </dt>
 <dd></dd>
 <dt>
@@ -779,47 +763,47 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GST-GL-ASYNC-CAT-LEVEL-LOG:CAPS" title="GST_GL_ASYNC_CAT_LEVEL_LOG()">GST_GL_ASYNC_CAT_LEVEL_LOG</a>, macro in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GST-GL-ASYNC-CAT-LEVEL-LOG:CAPS" title="GST_GL_ASYNC_CAT_LEVEL_LOG()">GST_GL_ASYNC_CAT_LEVEL_LOG</a>, macro in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GST-GL-ASYNC-CAT-LEVEL-LOG-valist" title="GST_GL_ASYNC_CAT_LEVEL_LOG_valist()">GST_GL_ASYNC_CAT_LEVEL_LOG_valist</a>, macro in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GST-GL-ASYNC-CAT-LEVEL-LOG-valist" title="GST_GL_ASYNC_CAT_LEVEL_LOG_valist()">GST_GL_ASYNC_CAT_LEVEL_LOG_valist</a>, macro in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-free" title="gst_gl_async_debug_free ()">gst_gl_async_debug_free</a>, function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-free" title="gst_gl_async_debug_free ()">gst_gl_async_debug_free</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-freeze" title="gst_gl_async_debug_freeze ()">gst_gl_async_debug_freeze</a>, function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-freeze" title="gst_gl_async_debug_freeze ()">gst_gl_async_debug_freeze</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-init" title="gst_gl_async_debug_init ()">gst_gl_async_debug_init</a>, function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-init" title="gst_gl_async_debug_init ()">gst_gl_async_debug_init</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-new" title="gst_gl_async_debug_new ()">gst_gl_async_debug_new</a>, function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-new" title="gst_gl_async_debug_new ()">gst_gl_async_debug_new</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-output-log-msg" title="gst_gl_async_debug_output_log_msg ()">gst_gl_async_debug_output_log_msg</a>, function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-output-log-msg" title="gst_gl_async_debug_output_log_msg ()">gst_gl_async_debug_output_log_msg</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-store-log-msg" title="gst_gl_async_debug_store_log_msg ()">gst_gl_async_debug_store_log_msg</a>, function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-store-log-msg" title="gst_gl_async_debug_store_log_msg ()">gst_gl_async_debug_store_log_msg</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-store-log-msg-valist" title="gst_gl_async_debug_store_log_msg_valist ()">gst_gl_async_debug_store_log_msg_valist</a>, function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-store-log-msg-valist" title="gst_gl_async_debug_store_log_msg_valist ()">gst_gl_async_debug_store_log_msg_valist</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-thaw" title="gst_gl_async_debug_thaw ()">gst_gl_async_debug_thaw</a>, function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-thaw" title="gst_gl_async_debug_thaw ()">gst_gl_async_debug_thaw</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-unset" title="gst_gl_async_debug_unset ()">gst_gl_async_debug_unset</a>, function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-unset" title="gst_gl_async_debug_unset ()">gst_gl_async_debug_unset</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
@@ -951,10 +935,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-del-fbo" title="gst_gl_context_del_fbo ()">gst_gl_context_del_fbo</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-del-shader" title="gst_gl_context_del_shader ()">gst_gl_context_del_shader</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
 </dt>
 <dd></dd>
@@ -995,10 +975,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-gen-fbo" title="gst_gl_context_gen_fbo ()">gst_gl_context_gen_fbo</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-gen-shader" title="gst_gl_context_gen_shader ()">gst_gl_context_gen_shader</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
 </dt>
 <dd></dd>
@@ -1019,10 +995,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-get-error" title="gst_gl_context_get_error ()">gst_gl_context_get_error</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstGLContext.html#gst-gl-context-get-gl-api" title="gst_gl_context_get_gl_api ()">gst_gl_context_get_gl_api</a>, function in <a class="link" href="GstGLContext.html" title="GstGLContext">GstGLContext</a>
 </dt>
 <dd></dd>
@@ -1079,10 +1051,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-set-error" title="gst_gl_context_set_error ()">gst_gl_context_set_error</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstGLContext.html#gst-gl-context-set-shared-with" title="gst_gl_context_set_shared_with ()">gst_gl_context_set_shared_with</a>, function in <a class="link" href="GstGLContext.html" title="GstGLContext">GstGLContext</a>
 </dt>
 <dd></dd>
@@ -1099,10 +1067,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-use-fbo-v2" title="gst_gl_context_use_fbo_v2 ()">gst_gl_context_use_fbo_v2</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gst-plugins-bad-libs-GstGLContextWGL.html#gst-gl-context-wgl-get-current-context" title="gst_gl_context_wgl_get_current_context ()">gst_gl_context_wgl_get_current_context</a>, function in <a class="link" href="gst-plugins-bad-libs-GstGLContextWGL.html" title="GstGLContextWGL">GstGLContextWGL</a>
 </dt>
 <dd></dd>
@@ -1155,10 +1119,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstGLFilter.html#gst-gl-filter-draw-texture" title="gst_gl_filter_draw_texture ()">gst_gl_filter_draw_texture</a>, function in <a class="link" href="GstGLFilter.html" title="GstGLFilter">GstGLFilter</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstGLFilter.html#gst-gl-filter-filter-texture" title="gst_gl_filter_filter_texture ()">gst_gl_filter_filter_texture</a>, function in <a class="link" href="GstGLFilter.html" title="GstGLFilter">GstGLFilter</a>
 </dt>
 <dd></dd>
@@ -1179,22 +1139,10 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstGLFramebuffer.html#gst-gl-framebuffer-delete" title="gst_gl_framebuffer_delete ()">gst_gl_framebuffer_delete</a>, function in <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer">GstGLFramebuffer</a>
-</dt>
-<dd></dd>
-<dt>
-<a class="link" href="GstGLFramebuffer.html#gst-gl-framebuffer-generate" title="gst_gl_framebuffer_generate ()">gst_gl_framebuffer_generate</a>, function in <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer">GstGLFramebuffer</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="GstGLFramebuffer.html#gst-gl-framebuffer-new" title="gst_gl_framebuffer_new ()">gst_gl_framebuffer_new</a>, function in <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer">GstGLFramebuffer</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="GstGLFramebuffer.html#gst-gl-framebuffer-use-v2" title="gst_gl_framebuffer_use_v2 ()">gst_gl_framebuffer_use_v2</a>, function in <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer">GstGLFramebuffer</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-get-plane-data-size" title="gst_gl_get_plane_data_size ()">gst_gl_get_plane_data_size</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">OpenGL Miscellaneous Utilities</a>
 </dt>
 <dd></dd>
@@ -1211,7 +1159,7 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-insert-debug-marker" title="gst_gl_insert_debug_marker ()">gst_gl_insert_debug_marker</a>, function in <a class="link" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">OpenGL Debugging</a>
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-insert-debug-marker" title="gst_gl_insert_debug_marker ()">gst_gl_insert_debug_marker</a>, function in <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">OpenGL Debugging</a>
 </dt>
 <dd></dd>
 <dt>
@@ -2147,11 +2095,11 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-message-new-mpegts-section" title="gst_message_new_mpegts_section ()">gst_message_new_mpegts_section</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-message-new-mpegts-section" title="gst_message_new_mpegts_section ()">gst_message_new_mpegts_section</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-message-parse-mpegts-section" title="gst_message_parse_mpegts_section ()">gst_message_parse_mpegts_section</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-message-parse-mpegts-section" title="gst_message_parse_mpegts_section ()">gst_message_parse_mpegts_section</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
@@ -2267,647 +2215,647 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-descriptor.html#GstMpegtsATSCDescriptorType" title="enum GstMpegtsATSCDescriptorType">GstMpegtsATSCDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-atsc-descriptor.html" title="gst-atsc-descriptor">gst-atsc-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GstMpegtsATSCDescriptorType" title="enum GstMpegtsATSCDescriptorType">GstMpegtsATSCDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html" title="ATSC variants of MPEG-TS descriptors">ATSC variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscEIT" title="struct GstMpegtsAtscEIT">GstMpegtsAtscEIT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEIT" title="struct GstMpegtsAtscEIT">GstMpegtsAtscEIT</a>, struct in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscEITEvent" title="struct GstMpegtsAtscEITEvent">GstMpegtsAtscEITEvent</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEITEvent" title="struct GstMpegtsAtscEITEvent">GstMpegtsAtscEITEvent</a>, struct in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscETT" title="struct GstMpegtsAtscETT">GstMpegtsAtscETT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT" title="struct GstMpegtsAtscETT">GstMpegtsAtscETT</a>, struct in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGT" title="struct GstMpegtsAtscMGT">GstMpegtsAtscMGT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT" title="struct GstMpegtsAtscMGT">GstMpegtsAtscMGT</a>, struct in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGTTable" title="struct GstMpegtsAtscMGTTable">GstMpegtsAtscMGTTable</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTable" title="struct GstMpegtsAtscMGTTable">GstMpegtsAtscMGTTable</a>, struct in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGTTableType" title="enum GstMpegtsAtscMGTTableType">GstMpegtsAtscMGTTableType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTableType" title="enum GstMpegtsAtscMGTTableType">GstMpegtsAtscMGTTableType</a>, enum in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMultString" title="struct GstMpegtsAtscMultString">GstMpegtsAtscMultString</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMultString" title="struct GstMpegtsAtscMultString">GstMpegtsAtscMultString</a>, struct in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT">GstMpegtsAtscSTT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT">GstMpegtsAtscSTT</a>, struct in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT">GstMpegtsAtscVCT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT">GstMpegtsAtscVCT</a>, struct in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscVCTSource" title="struct GstMpegtsAtscVCTSource">GstMpegtsAtscVCTSource</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource" title="struct GstMpegtsAtscVCTSource">GstMpegtsAtscVCTSource</a>, struct in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsBAT" title="struct GstMpegtsBAT">GstMpegtsBAT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBAT" title="struct GstMpegtsBAT">GstMpegtsBAT</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsBATStream" title="struct GstMpegtsBATStream">GstMpegtsBATStream</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBATStream" title="struct GstMpegtsBATStream">GstMpegtsBATStream</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsCableDeliverySystemDescriptor" title="struct GstMpegtsCableDeliverySystemDescriptor">GstMpegtsCableDeliverySystemDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor" title="struct GstMpegtsCableDeliverySystemDescriptor">GstMpegtsCableDeliverySystemDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsCableOuterFECScheme" title="enum GstMpegtsCableOuterFECScheme">GstMpegtsCableOuterFECScheme</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableOuterFECScheme" title="enum GstMpegtsCableOuterFECScheme">GstMpegtsCableOuterFECScheme</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsComponentDescriptor" title="struct GstMpegtsComponentDescriptor">GstMpegtsComponentDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsComponentDescriptor" title="struct GstMpegtsComponentDescriptor">GstMpegtsComponentDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsContent" title="struct GstMpegtsContent">GstMpegtsContent</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsContent" title="struct GstMpegtsContent">GstMpegtsContent</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDataBroadcastDescriptor" title="struct GstMpegtsDataBroadcastDescriptor">GstMpegtsDataBroadcastDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor" title="struct GstMpegtsDataBroadcastDescriptor">GstMpegtsDataBroadcastDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor-struct" title="struct GstMpegtsDescriptor">GstMpegtsDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor-struct" title="struct GstMpegtsDescriptor">GstMpegtsDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptorType" title="enum GstMpegtsDescriptorType">GstMpegtsDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptorType" title="enum GstMpegtsDescriptorType">GstMpegtsDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBCodeRate" title="enum GstMpegtsDVBCodeRate">GstMpegtsDVBCodeRate</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBCodeRate" title="enum GstMpegtsDVBCodeRate">GstMpegtsDVBCodeRate</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBDescriptorType" title="enum GstMpegtsDVBDescriptorType">GstMpegtsDVBDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBDescriptorType" title="enum GstMpegtsDVBDescriptorType">GstMpegtsDVBDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBExtendedDescriptorType" title="enum GstMpegtsDVBExtendedDescriptorType">GstMpegtsDVBExtendedDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBExtendedDescriptorType" title="enum GstMpegtsDVBExtendedDescriptorType">GstMpegtsDVBExtendedDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor">GstMpegtsDVBLinkageDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor">GstMpegtsDVBLinkageDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageEvent" title="struct GstMpegtsDVBLinkageEvent">GstMpegtsDVBLinkageEvent</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageEvent" title="struct GstMpegtsDVBLinkageEvent">GstMpegtsDVBLinkageEvent</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageExtendedEvent" title="struct GstMpegtsDVBLinkageExtendedEvent">GstMpegtsDVBLinkageExtendedEvent</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageExtendedEvent" title="struct GstMpegtsDVBLinkageExtendedEvent">GstMpegtsDVBLinkageExtendedEvent</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageHandOverType" title="enum GstMpegtsDVBLinkageHandOverType">GstMpegtsDVBLinkageHandOverType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageHandOverType" title="enum GstMpegtsDVBLinkageHandOverType">GstMpegtsDVBLinkageHandOverType</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageMobileHandOver" title="struct GstMpegtsDVBLinkageMobileHandOver">GstMpegtsDVBLinkageMobileHandOver</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageMobileHandOver" title="struct GstMpegtsDVBLinkageMobileHandOver">GstMpegtsDVBLinkageMobileHandOver</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageType" title="enum GstMpegtsDVBLinkageType">GstMpegtsDVBLinkageType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageType" title="enum GstMpegtsDVBLinkageType">GstMpegtsDVBLinkageType</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualBouquetNameItem" title="struct GstMpegtsDvbMultilingualBouquetNameItem">GstMpegtsDvbMultilingualBouquetNameItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualBouquetNameItem" title="struct GstMpegtsDvbMultilingualBouquetNameItem">GstMpegtsDvbMultilingualBouquetNameItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualComponentItem" title="struct GstMpegtsDvbMultilingualComponentItem">GstMpegtsDvbMultilingualComponentItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualComponentItem" title="struct GstMpegtsDvbMultilingualComponentItem">GstMpegtsDvbMultilingualComponentItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualNetworkNameItem" title="struct GstMpegtsDvbMultilingualNetworkNameItem">GstMpegtsDvbMultilingualNetworkNameItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualNetworkNameItem" title="struct GstMpegtsDvbMultilingualNetworkNameItem">GstMpegtsDvbMultilingualNetworkNameItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualServiceNameItem" title="struct GstMpegtsDvbMultilingualServiceNameItem">GstMpegtsDvbMultilingualServiceNameItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualServiceNameItem" title="struct GstMpegtsDvbMultilingualServiceNameItem">GstMpegtsDvbMultilingualServiceNameItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBParentalRatingItem" title="struct GstMpegtsDVBParentalRatingItem">GstMpegtsDVBParentalRatingItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBParentalRatingItem" title="struct GstMpegtsDVBParentalRatingItem">GstMpegtsDVBParentalRatingItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBScramblingModeType" title="enum GstMpegtsDVBScramblingModeType">GstMpegtsDVBScramblingModeType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBScramblingModeType" title="enum GstMpegtsDVBScramblingModeType">GstMpegtsDVBScramblingModeType</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBServiceListItem" title="struct GstMpegtsDVBServiceListItem">GstMpegtsDVBServiceListItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceListItem" title="struct GstMpegtsDVBServiceListItem">GstMpegtsDVBServiceListItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType">GstMpegtsDVBServiceType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType">GstMpegtsDVBServiceType</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBTeletextType" title="enum GstMpegtsDVBTeletextType">GstMpegtsDVBTeletextType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBTeletextType" title="enum GstMpegtsDVBTeletextType">GstMpegtsDVBTeletextType</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsEIT" title="struct GstMpegtsEIT">GstMpegtsEIT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT" title="struct GstMpegtsEIT">GstMpegtsEIT</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsEITEvent" title="struct GstMpegtsEITEvent">GstMpegtsEITEvent</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEITEvent" title="struct GstMpegtsEITEvent">GstMpegtsEITEvent</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsExtendedEventDescriptor" title="struct GstMpegtsExtendedEventDescriptor">GstMpegtsExtendedEventDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor" title="struct GstMpegtsExtendedEventDescriptor">GstMpegtsExtendedEventDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsExtendedEventItem" title="struct GstMpegtsExtendedEventItem">GstMpegtsExtendedEventItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventItem" title="struct GstMpegtsExtendedEventItem">GstMpegtsExtendedEventItem</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-isdb-descriptor.html#GstMpegtsISDBDescriptorType" title="enum GstMpegtsISDBDescriptorType">GstMpegtsISDBDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-isdb-descriptor.html" title="gst-isdb-descriptor">gst-isdb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GstMpegtsISDBDescriptorType" title="enum GstMpegtsISDBDescriptorType">GstMpegtsISDBDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html" title="ISDB variants of MPEG-TS descriptors">ISDB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsIso639AudioType" title="enum GstMpegtsIso639AudioType">GstMpegtsIso639AudioType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsIso639AudioType" title="enum GstMpegtsIso639AudioType">GstMpegtsIso639AudioType</a>, enum in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsISO639LanguageDescriptor" title="struct GstMpegtsISO639LanguageDescriptor">GstMpegtsISO639LanguageDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsISO639LanguageDescriptor" title="struct GstMpegtsISO639LanguageDescriptor">GstMpegtsISO639LanguageDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsLogicalChannel" title="struct GstMpegtsLogicalChannel">GstMpegtsLogicalChannel</a>, struct in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsLogicalChannel" title="struct GstMpegtsLogicalChannel">GstMpegtsLogicalChannel</a>, struct in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsLogicalChannelDescriptor" title="struct GstMpegtsLogicalChannelDescriptor">GstMpegtsLogicalChannelDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsLogicalChannelDescriptor" title="struct GstMpegtsLogicalChannelDescriptor">GstMpegtsLogicalChannelDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsMiscDescriptorType" title="enum GstMpegtsMiscDescriptorType">GstMpegtsMiscDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsMiscDescriptorType" title="enum GstMpegtsMiscDescriptorType">GstMpegtsMiscDescriptorType</a>, enum in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsModulationType" title="enum GstMpegtsModulationType">GstMpegtsModulationType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsModulationType" title="enum GstMpegtsModulationType">GstMpegtsModulationType</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNIT" title="struct GstMpegtsNIT">GstMpegtsNIT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT">GstMpegtsNIT</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNITStream" title="struct GstMpegtsNITStream">GstMpegtsNITStream</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream" title="struct GstMpegtsNITStream">GstMpegtsNITStream</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram">GstMpegtsPatProgram</a>, struct in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram">GstMpegtsPatProgram</a>, struct in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMT" title="struct GstMpegtsPMT">GstMpegtsPMT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT">GstMpegtsPMT</a>, struct in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream">GstMpegtsPMTStream</a>, struct in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream">GstMpegtsPMTStream</a>, struct in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsRunningStatus" title="enum GstMpegtsRunningStatus">GstMpegtsRunningStatus</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsRunningStatus" title="enum GstMpegtsRunningStatus">GstMpegtsRunningStatus</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatelliteDeliverySystemDescriptor" title="struct GstMpegtsSatelliteDeliverySystemDescriptor">GstMpegtsSatelliteDeliverySystemDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor" title="struct GstMpegtsSatelliteDeliverySystemDescriptor">GstMpegtsSatelliteDeliverySystemDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatellitePolarizationType" title="enum GstMpegtsSatellitePolarizationType">GstMpegtsSatellitePolarizationType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatellitePolarizationType" title="enum GstMpegtsSatellitePolarizationType">GstMpegtsSatellitePolarizationType</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatelliteRolloff" title="enum GstMpegtsSatelliteRolloff">GstMpegtsSatelliteRolloff</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteRolloff" title="enum GstMpegtsSatelliteRolloff">GstMpegtsSatelliteRolloff</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDT" title="struct GstMpegtsSDT">GstMpegtsSDT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT">GstMpegtsSDT</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDTService" title="struct GstMpegtsSDTService">GstMpegtsSDTService</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService" title="struct GstMpegtsSDTService">GstMpegtsSDTService</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection-struct" title="struct GstMpegtsSection">GstMpegtsSection</a>, struct in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct" title="struct GstMpegtsSection">GstMpegtsSection</a>, struct in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsSectionATSCTableID" title="enum GstMpegtsSectionATSCTableID">GstMpegtsSectionATSCTableID</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsSectionATSCTableID" title="enum GstMpegtsSectionATSCTableID">GstMpegtsSectionATSCTableID</a>, enum in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSectionDVBTableID" title="enum GstMpegtsSectionDVBTableID">GstMpegtsSectionDVBTableID</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSectionDVBTableID" title="enum GstMpegtsSectionDVBTableID">GstMpegtsSectionDVBTableID</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSectionTableID" title="enum GstMpegtsSectionTableID">GstMpegtsSectionTableID</a>, enum in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionTableID" title="enum GstMpegtsSectionTableID">GstMpegtsSectionTableID</a>, enum in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSectionType" title="enum GstMpegtsSectionType">GstMpegtsSectionType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionType" title="enum GstMpegtsSectionType">GstMpegtsSectionType</a>, enum in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsStreamType" title="enum GstMpegtsStreamType">GstMpegtsStreamType</a>, enum in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsStreamType" title="enum GstMpegtsStreamType">GstMpegtsStreamType</a>, enum in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemCell" title="struct GstMpegtsT2DeliverySystemCell">GstMpegtsT2DeliverySystemCell</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCell" title="struct GstMpegtsT2DeliverySystemCell">GstMpegtsT2DeliverySystemCell</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemCellExtension" title="struct GstMpegtsT2DeliverySystemCellExtension">GstMpegtsT2DeliverySystemCellExtension</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCellExtension" title="struct GstMpegtsT2DeliverySystemCellExtension">GstMpegtsT2DeliverySystemCellExtension</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemDescriptor" title="struct GstMpegtsT2DeliverySystemDescriptor">GstMpegtsT2DeliverySystemDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor" title="struct GstMpegtsT2DeliverySystemDescriptor">GstMpegtsT2DeliverySystemDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialDeliverySystemDescriptor" title="struct GstMpegtsTerrestrialDeliverySystemDescriptor">GstMpegtsTerrestrialDeliverySystemDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor" title="struct GstMpegtsTerrestrialDeliverySystemDescriptor">GstMpegtsTerrestrialDeliverySystemDescriptor</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialGuardInterval" title="enum GstMpegtsTerrestrialGuardInterval">GstMpegtsTerrestrialGuardInterval</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialGuardInterval" title="enum GstMpegtsTerrestrialGuardInterval">GstMpegtsTerrestrialGuardInterval</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialHierarchy" title="enum GstMpegtsTerrestrialHierarchy">GstMpegtsTerrestrialHierarchy</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialHierarchy" title="enum GstMpegtsTerrestrialHierarchy">GstMpegtsTerrestrialHierarchy</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialTransmissionMode" title="enum GstMpegtsTerrestrialTransmissionMode">GstMpegtsTerrestrialTransmissionMode</a>, enum in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialTransmissionMode" title="enum GstMpegtsTerrestrialTransmissionMode">GstMpegtsTerrestrialTransmissionMode</a>, enum in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsTOT" title="struct GstMpegtsTOT">GstMpegtsTOT</a>, struct in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsTOT" title="struct GstMpegtsTOT">GstMpegtsTOT</a>, struct in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-atsc-string-segment-get-string" title="gst_mpegts_atsc_string_segment_get_string ()">gst_mpegts_atsc_string_segment_get_string</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-atsc-string-segment-get-string" title="gst_mpegts_atsc_string_segment_get_string ()">gst_mpegts_atsc_string_segment_get_string</a>, function in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-atsc-stt-get-datetime-utc" title="gst_mpegts_atsc_stt_get_datetime_utc ()">gst_mpegts_atsc_stt_get_datetime_utc</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-atsc-stt-get-datetime-utc" title="gst_mpegts_atsc_stt_get_datetime_utc ()">gst_mpegts_atsc_stt_get_datetime_utc</a>, function in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-from-custom" title="gst_mpegts_descriptor_from_custom ()">gst_mpegts_descriptor_from_custom</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-custom" title="gst_mpegts_descriptor_from_custom ()">gst_mpegts_descriptor_from_custom</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-from-dvb-network-name" title="gst_mpegts_descriptor_from_dvb_network_name ()">gst_mpegts_descriptor_from_dvb_network_name</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-dvb-network-name" title="gst_mpegts_descriptor_from_dvb_network_name ()">gst_mpegts_descriptor_from_dvb_network_name</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-from-dvb-service" title="gst_mpegts_descriptor_from_dvb_service ()">gst_mpegts_descriptor_from_dvb_service</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-dvb-service" title="gst_mpegts_descriptor_from_dvb_service ()">gst_mpegts_descriptor_from_dvb_service</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-from-dvb-subtitling" title="gst_mpegts_descriptor_from_dvb_subtitling ()">gst_mpegts_descriptor_from_dvb_subtitling</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-dvb-subtitling" title="gst_mpegts_descriptor_from_dvb_subtitling ()">gst_mpegts_descriptor_from_dvb_subtitling</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-from-registration" title="gst_mpegts_descriptor_from_registration ()">gst_mpegts_descriptor_from_registration</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-registration" title="gst_mpegts_descriptor_from_registration ()">gst_mpegts_descriptor_from_registration</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-cable-delivery-system" title="gst_mpegts_descriptor_parse_cable_delivery_system ()">gst_mpegts_descriptor_parse_cable_delivery_system</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-cable-delivery-system" title="gst_mpegts_descriptor_parse_cable_delivery_system ()">gst_mpegts_descriptor_parse_cable_delivery_system</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-bouquet-name" title="gst_mpegts_descriptor_parse_dvb_bouquet_name ()">gst_mpegts_descriptor_parse_dvb_bouquet_name</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-bouquet-name" title="gst_mpegts_descriptor_parse_dvb_bouquet_name ()">gst_mpegts_descriptor_parse_dvb_bouquet_name</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-ca-identifier" title="gst_mpegts_descriptor_parse_dvb_ca_identifier ()">gst_mpegts_descriptor_parse_dvb_ca_identifier</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-ca-identifier" title="gst_mpegts_descriptor_parse_dvb_ca_identifier ()">gst_mpegts_descriptor_parse_dvb_ca_identifier</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-component" title="gst_mpegts_descriptor_parse_dvb_component ()">gst_mpegts_descriptor_parse_dvb_component</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-component" title="gst_mpegts_descriptor_parse_dvb_component ()">gst_mpegts_descriptor_parse_dvb_component</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-content" title="gst_mpegts_descriptor_parse_dvb_content ()">gst_mpegts_descriptor_parse_dvb_content</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-content" title="gst_mpegts_descriptor_parse_dvb_content ()">gst_mpegts_descriptor_parse_dvb_content</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-data-broadcast" title="gst_mpegts_descriptor_parse_dvb_data_broadcast ()">gst_mpegts_descriptor_parse_dvb_data_broadcast</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-data-broadcast" title="gst_mpegts_descriptor_parse_dvb_data_broadcast ()">gst_mpegts_descriptor_parse_dvb_data_broadcast</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-data-broadcast-id" title="gst_mpegts_descriptor_parse_dvb_data_broadcast_id ()">gst_mpegts_descriptor_parse_dvb_data_broadcast_id</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-data-broadcast-id" title="gst_mpegts_descriptor_parse_dvb_data_broadcast_id ()">gst_mpegts_descriptor_parse_dvb_data_broadcast_id</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-extended-event" title="gst_mpegts_descriptor_parse_dvb_extended_event ()">gst_mpegts_descriptor_parse_dvb_extended_event</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-extended-event" title="gst_mpegts_descriptor_parse_dvb_extended_event ()">gst_mpegts_descriptor_parse_dvb_extended_event</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-frequency-list" title="gst_mpegts_descriptor_parse_dvb_frequency_list ()">gst_mpegts_descriptor_parse_dvb_frequency_list</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-frequency-list" title="gst_mpegts_descriptor_parse_dvb_frequency_list ()">gst_mpegts_descriptor_parse_dvb_frequency_list</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-linkage" title="gst_mpegts_descriptor_parse_dvb_linkage ()">gst_mpegts_descriptor_parse_dvb_linkage</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-linkage" title="gst_mpegts_descriptor_parse_dvb_linkage ()">gst_mpegts_descriptor_parse_dvb_linkage</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-bouquet-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-bouquet-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-component" title="gst_mpegts_descriptor_parse_dvb_multilingual_component ()">gst_mpegts_descriptor_parse_dvb_multilingual_component</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-component" title="gst_mpegts_descriptor_parse_dvb_multilingual_component ()">gst_mpegts_descriptor_parse_dvb_multilingual_component</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-network-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_network_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_network_name</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-network-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_network_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_network_name</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-service-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_service_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_service_name</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-service-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_service_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_service_name</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-network-name" title="gst_mpegts_descriptor_parse_dvb_network_name ()">gst_mpegts_descriptor_parse_dvb_network_name</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-network-name" title="gst_mpegts_descriptor_parse_dvb_network_name ()">gst_mpegts_descriptor_parse_dvb_network_name</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-parental-rating" title="gst_mpegts_descriptor_parse_dvb_parental_rating ()">gst_mpegts_descriptor_parse_dvb_parental_rating</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-parental-rating" title="gst_mpegts_descriptor_parse_dvb_parental_rating ()">gst_mpegts_descriptor_parse_dvb_parental_rating</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-private-data-specifier" title="gst_mpegts_descriptor_parse_dvb_private_data_specifier ()">gst_mpegts_descriptor_parse_dvb_private_data_specifier</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-private-data-specifier" title="gst_mpegts_descriptor_parse_dvb_private_data_specifier ()">gst_mpegts_descriptor_parse_dvb_private_data_specifier</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-scrambling" title="gst_mpegts_descriptor_parse_dvb_scrambling ()">gst_mpegts_descriptor_parse_dvb_scrambling</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-scrambling" title="gst_mpegts_descriptor_parse_dvb_scrambling ()">gst_mpegts_descriptor_parse_dvb_scrambling</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-service" title="gst_mpegts_descriptor_parse_dvb_service ()">gst_mpegts_descriptor_parse_dvb_service</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-service" title="gst_mpegts_descriptor_parse_dvb_service ()">gst_mpegts_descriptor_parse_dvb_service</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-service-list" title="gst_mpegts_descriptor_parse_dvb_service_list ()">gst_mpegts_descriptor_parse_dvb_service_list</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-service-list" title="gst_mpegts_descriptor_parse_dvb_service_list ()">gst_mpegts_descriptor_parse_dvb_service_list</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-short-event" title="gst_mpegts_descriptor_parse_dvb_short_event ()">gst_mpegts_descriptor_parse_dvb_short_event</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-short-event" title="gst_mpegts_descriptor_parse_dvb_short_event ()">gst_mpegts_descriptor_parse_dvb_short_event</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-stream-identifier" title="gst_mpegts_descriptor_parse_dvb_stream_identifier ()">gst_mpegts_descriptor_parse_dvb_stream_identifier</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-stream-identifier" title="gst_mpegts_descriptor_parse_dvb_stream_identifier ()">gst_mpegts_descriptor_parse_dvb_stream_identifier</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-stuffing" title="gst_mpegts_descriptor_parse_dvb_stuffing ()">gst_mpegts_descriptor_parse_dvb_stuffing</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-stuffing" title="gst_mpegts_descriptor_parse_dvb_stuffing ()">gst_mpegts_descriptor_parse_dvb_stuffing</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-subtitling-idx" title="gst_mpegts_descriptor_parse_dvb_subtitling_idx ()">gst_mpegts_descriptor_parse_dvb_subtitling_idx</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-subtitling-idx" title="gst_mpegts_descriptor_parse_dvb_subtitling_idx ()">gst_mpegts_descriptor_parse_dvb_subtitling_idx</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-subtitling-nb" title="gst_mpegts_descriptor_parse_dvb_subtitling_nb ()">gst_mpegts_descriptor_parse_dvb_subtitling_nb</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-subtitling-nb" title="gst_mpegts_descriptor_parse_dvb_subtitling_nb ()">gst_mpegts_descriptor_parse_dvb_subtitling_nb</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-t2-delivery-system" title="gst_mpegts_descriptor_parse_dvb_t2_delivery_system ()">gst_mpegts_descriptor_parse_dvb_t2_delivery_system</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-t2-delivery-system" title="gst_mpegts_descriptor_parse_dvb_t2_delivery_system ()">gst_mpegts_descriptor_parse_dvb_t2_delivery_system</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-teletext-idx" title="gst_mpegts_descriptor_parse_dvb_teletext_idx ()">gst_mpegts_descriptor_parse_dvb_teletext_idx</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-teletext-idx" title="gst_mpegts_descriptor_parse_dvb_teletext_idx ()">gst_mpegts_descriptor_parse_dvb_teletext_idx</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-teletext-nb" title="gst_mpegts_descriptor_parse_dvb_teletext_nb ()">gst_mpegts_descriptor_parse_dvb_teletext_nb</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-teletext-nb" title="gst_mpegts_descriptor_parse_dvb_teletext_nb ()">gst_mpegts_descriptor_parse_dvb_teletext_nb</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-iso-639-language" title="gst_mpegts_descriptor_parse_iso_639_language ()">gst_mpegts_descriptor_parse_iso_639_language</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-iso-639-language" title="gst_mpegts_descriptor_parse_iso_639_language ()">gst_mpegts_descriptor_parse_iso_639_language</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-iso-639-language-idx" title="gst_mpegts_descriptor_parse_iso_639_language_idx ()">gst_mpegts_descriptor_parse_iso_639_language_idx</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-iso-639-language-idx" title="gst_mpegts_descriptor_parse_iso_639_language_idx ()">gst_mpegts_descriptor_parse_iso_639_language_idx</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-iso-639-language-nb" title="gst_mpegts_descriptor_parse_iso_639_language_nb ()">gst_mpegts_descriptor_parse_iso_639_language_nb</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-iso-639-language-nb" title="gst_mpegts_descriptor_parse_iso_639_language_nb ()">gst_mpegts_descriptor_parse_iso_639_language_nb</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-logical-channel" title="gst_mpegts_descriptor_parse_logical_channel ()">gst_mpegts_descriptor_parse_logical_channel</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-logical-channel" title="gst_mpegts_descriptor_parse_logical_channel ()">gst_mpegts_descriptor_parse_logical_channel</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-satellite-delivery-system" title="gst_mpegts_descriptor_parse_satellite_delivery_system ()">gst_mpegts_descriptor_parse_satellite_delivery_system</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-satellite-delivery-system" title="gst_mpegts_descriptor_parse_satellite_delivery_system ()">gst_mpegts_descriptor_parse_satellite_delivery_system</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-terrestrial-delivery-system" title="gst_mpegts_descriptor_parse_terrestrial_delivery_system ()">gst_mpegts_descriptor_parse_terrestrial_delivery_system</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-terrestrial-delivery-system" title="gst_mpegts_descriptor_parse_terrestrial_delivery_system ()">gst_mpegts_descriptor_parse_terrestrial_delivery_system</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-component-descriptor-free" title="gst_mpegts_dvb_component_descriptor_free ()">gst_mpegts_dvb_component_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-component-descriptor-free" title="gst_mpegts_dvb_component_descriptor_free ()">gst_mpegts_dvb_component_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-data-broadcast-descriptor-free" title="gst_mpegts_dvb_data_broadcast_descriptor_free ()">gst_mpegts_dvb_data_broadcast_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-data-broadcast-descriptor-free" title="gst_mpegts_dvb_data_broadcast_descriptor_free ()">gst_mpegts_dvb_data_broadcast_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-free" title="gst_mpegts_dvb_linkage_descriptor_free ()">gst_mpegts_dvb_linkage_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-free" title="gst_mpegts_dvb_linkage_descriptor_free ()">gst_mpegts_dvb_linkage_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-get-event" title="gst_mpegts_dvb_linkage_descriptor_get_event ()">gst_mpegts_dvb_linkage_descriptor_get_event</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-get-event" title="gst_mpegts_dvb_linkage_descriptor_get_event ()">gst_mpegts_dvb_linkage_descriptor_get_event</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-get-extended-event" title="gst_mpegts_dvb_linkage_descriptor_get_extended_event ()">gst_mpegts_dvb_linkage_descriptor_get_extended_event</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-get-extended-event" title="gst_mpegts_dvb_linkage_descriptor_get_extended_event ()">gst_mpegts_dvb_linkage_descriptor_get_extended_event</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-get-mobile-hand-over" title="gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over ()">gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-get-mobile-hand-over" title="gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over ()">gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-extended-event-descriptor-free" title="gst_mpegts_extended_event_descriptor_free ()">gst_mpegts_extended_event_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-extended-event-descriptor-free" title="gst_mpegts_extended_event_descriptor_free ()">gst_mpegts_extended_event_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-find-descriptor" title="gst_mpegts_find_descriptor ()">gst_mpegts_find_descriptor</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-find-descriptor" title="gst_mpegts_find_descriptor ()">gst_mpegts_find_descriptor</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegts.html#gst-mpegts-initialize" title="gst_mpegts_initialize ()">gst_mpegts_initialize</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegts.html" title="gstmpegts">gstmpegts</a>
+<a class="link" href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html#gst-mpegts-initialize" title="gst_mpegts_initialize ()">gst_mpegts_initialize</a>, function in <a class="link" href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html" title="Mpeg-ts helper library">Mpeg-ts helper library</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-iso-639-language-descriptor-free" title="gst_mpegts_iso_639_language_descriptor_free ()">gst_mpegts_iso_639_language_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-iso-639-language-descriptor-free" title="gst_mpegts_iso_639_language_descriptor_free ()">gst_mpegts_iso_639_language_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-nit-new" title="gst_mpegts_nit_new ()">gst_mpegts_nit_new</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-nit-new" title="gst_mpegts_nit_new ()">gst_mpegts_nit_new</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-nit-stream-new" title="gst_mpegts_nit_stream_new ()">gst_mpegts_nit_stream_new</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-nit-stream-new" title="gst_mpegts_nit_stream_new ()">gst_mpegts_nit_stream_new</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-parse-descriptors" title="gst_mpegts_parse_descriptors ()">gst_mpegts_parse_descriptors</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">gstmpegtsdescriptor</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-parse-descriptors" title="gst_mpegts_parse_descriptors ()">gst_mpegts_parse_descriptors</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">Base MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pat-new" title="gst_mpegts_pat_new ()">gst_mpegts_pat_new</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pat-new" title="gst_mpegts_pat_new ()">gst_mpegts_pat_new</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pat-program-new" title="gst_mpegts_pat_program_new ()">gst_mpegts_pat_program_new</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pat-program-new" title="gst_mpegts_pat_program_new ()">gst_mpegts_pat_program_new</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pmt-new" title="gst_mpegts_pmt_new ()">gst_mpegts_pmt_new</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pmt-new" title="gst_mpegts_pmt_new ()">gst_mpegts_pmt_new</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pmt-stream-new" title="gst_mpegts_pmt_stream_new ()">gst_mpegts_pmt_stream_new</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pmt-stream-new" title="gst_mpegts_pmt_stream_new ()">gst_mpegts_pmt_stream_new</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-sdt-new" title="gst_mpegts_sdt_new ()">gst_mpegts_sdt_new</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-sdt-new" title="gst_mpegts_sdt_new ()">gst_mpegts_sdt_new</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-sdt-service-new" title="gst_mpegts_sdt_service_new ()">gst_mpegts_sdt_service_new</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-sdt-service-new" title="gst_mpegts_sdt_service_new ()">gst_mpegts_sdt_service_new</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-from-nit" title="gst_mpegts_section_from_nit ()">gst_mpegts_section_from_nit</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-from-nit" title="gst_mpegts_section_from_nit ()">gst_mpegts_section_from_nit</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-from-pat" title="gst_mpegts_section_from_pat ()">gst_mpegts_section_from_pat</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-from-pat" title="gst_mpegts_section_from_pat ()">gst_mpegts_section_from_pat</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-from-pmt" title="gst_mpegts_section_from_pmt ()">gst_mpegts_section_from_pmt</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-from-pmt" title="gst_mpegts_section_from_pmt ()">gst_mpegts_section_from_pmt</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-from-sdt" title="gst_mpegts_section_from_sdt ()">gst_mpegts_section_from_sdt</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-from-sdt" title="gst_mpegts_section_from_sdt ()">gst_mpegts_section_from_sdt</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-cvct" title="gst_mpegts_section_get_atsc_cvct ()">gst_mpegts_section_get_atsc_cvct</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-cvct" title="gst_mpegts_section_get_atsc_cvct ()">gst_mpegts_section_get_atsc_cvct</a>, function in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-eit" title="gst_mpegts_section_get_atsc_eit ()">gst_mpegts_section_get_atsc_eit</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-eit" title="gst_mpegts_section_get_atsc_eit ()">gst_mpegts_section_get_atsc_eit</a>, function in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-ett" title="gst_mpegts_section_get_atsc_ett ()">gst_mpegts_section_get_atsc_ett</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-ett" title="gst_mpegts_section_get_atsc_ett ()">gst_mpegts_section_get_atsc_ett</a>, function in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-mgt" title="gst_mpegts_section_get_atsc_mgt ()">gst_mpegts_section_get_atsc_mgt</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-mgt" title="gst_mpegts_section_get_atsc_mgt ()">gst_mpegts_section_get_atsc_mgt</a>, function in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-stt" title="gst_mpegts_section_get_atsc_stt ()">gst_mpegts_section_get_atsc_stt</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-stt" title="gst_mpegts_section_get_atsc_stt ()">gst_mpegts_section_get_atsc_stt</a>, function in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-tvct" title="gst_mpegts_section_get_atsc_tvct ()">gst_mpegts_section_get_atsc_tvct</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">gst-atsc-section</a>
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-tvct" title="gst_mpegts_section_get_atsc_tvct ()">gst_mpegts_section_get_atsc_tvct</a>, function in <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">ATSC variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-bat" title="gst_mpegts_section_get_bat ()">gst_mpegts_section_get_bat</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-bat" title="gst_mpegts_section_get_bat ()">gst_mpegts_section_get_bat</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-cat" title="gst_mpegts_section_get_cat ()">gst_mpegts_section_get_cat</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-cat" title="gst_mpegts_section_get_cat ()">gst_mpegts_section_get_cat</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-eit" title="gst_mpegts_section_get_eit ()">gst_mpegts_section_get_eit</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-eit" title="gst_mpegts_section_get_eit ()">gst_mpegts_section_get_eit</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-nit" title="gst_mpegts_section_get_nit ()">gst_mpegts_section_get_nit</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-nit" title="gst_mpegts_section_get_nit ()">gst_mpegts_section_get_nit</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-pat" title="gst_mpegts_section_get_pat ()">gst_mpegts_section_get_pat</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-pat" title="gst_mpegts_section_get_pat ()">gst_mpegts_section_get_pat</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-pmt" title="gst_mpegts_section_get_pmt ()">gst_mpegts_section_get_pmt</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-pmt" title="gst_mpegts_section_get_pmt ()">gst_mpegts_section_get_pmt</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-sdt" title="gst_mpegts_section_get_sdt ()">gst_mpegts_section_get_sdt</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-sdt" title="gst_mpegts_section_get_sdt ()">gst_mpegts_section_get_sdt</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-tdt" title="gst_mpegts_section_get_tdt ()">gst_mpegts_section_get_tdt</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-tdt" title="gst_mpegts_section_get_tdt ()">gst_mpegts_section_get_tdt</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-tot" title="gst_mpegts_section_get_tot ()">gst_mpegts_section_get_tot</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">gst-dvb-section</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-tot" title="gst_mpegts_section_get_tot ()">gst_mpegts_section_get_tot</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">DVB variants of MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-tsdt" title="gst_mpegts_section_get_tsdt ()">gst_mpegts_section_get_tsdt</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-tsdt" title="gst_mpegts_section_get_tsdt ()">gst_mpegts_section_get_tsdt</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-new" title="gst_mpegts_section_new ()">gst_mpegts_section_new</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-new" title="gst_mpegts_section_new ()">gst_mpegts_section_new</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-packetize" title="gst_mpegts_section_packetize ()">gst_mpegts_section_packetize</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-packetize" title="gst_mpegts_section_packetize ()">gst_mpegts_section_packetize</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-ref" title="gst_mpegts_section_ref()">gst_mpegts_section_ref</a>, macro in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-ref" title="gst_mpegts_section_ref()">gst_mpegts_section_ref</a>, macro in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-send-event" title="gst_mpegts_section_send_event ()">gst_mpegts_section_send_event</a>, function in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-send-event" title="gst_mpegts_section_send_event ()">gst_mpegts_section_send_event</a>, function in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-TYPE:CAPS" title="GST_MPEGTS_SECTION_TYPE()">GST_MPEGTS_SECTION_TYPE</a>, macro in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TYPE:CAPS" title="GST_MPEGTS_SECTION_TYPE()">GST_MPEGTS_SECTION_TYPE</a>, macro in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-unref" title="gst_mpegts_section_unref()">gst_mpegts_section_unref</a>, macro in <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">gstmpegtssection</a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-unref" title="gst_mpegts_section_unref()">gst_mpegts_section_unref</a>, macro in <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">Base MPEG-TS sections</a>
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-t2-delivery-system-descriptor-free" title="gst_mpegts_t2_delivery_system_descriptor_free ()">gst_mpegts_t2_delivery_system_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">gst-dvb-descriptor</a>
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-t2-delivery-system-descriptor-free" title="gst_mpegts_t2_delivery_system_descriptor_free ()">gst_mpegts_t2_delivery_system_descriptor_free</a>, function in <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">DVB variants of MPEG-TS descriptors</a>
 </dt>
 <dd></dd>
 <dt>
@@ -3348,10 +3296,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer--position-update-interval" title="The “position-update-interval” property">GstPlayer:position-update-interval</a>, object property in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer--rate" title="The “rate” property">GstPlayer:rate</a>, object property in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
@@ -3460,6 +3404,22 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-config-get-position-update-interval" title="gst_player_config_get_position_update_interval ()">gst_player_config_get_position_update_interval</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-config-get-user-agent" title="gst_player_config_get_user_agent ()">gst_player_config_get_user_agent</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-config-set-position-update-interval" title="gst_player_config_set_position_update_interval ()">gst_player_config_set_position_update_interval</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-config-set-user-agent" title="gst_player_config_set_user_agent ()">gst_player_config_set_user_agent</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GST-PLAYER-ERROR:CAPS" title="GST_PLAYER_ERROR">GST_PLAYER_ERROR</a>, macro in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
@@ -3480,6 +3440,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-config" title="gst_player_get_config ()">gst_player_get_config</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-current-audio-track" title="gst_player_get_current_audio_track ()">gst_player_get_current_audio_track</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
@@ -3524,10 +3488,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-position-update-interval" title="gst_player_get_position_update_interval ()">gst_player_get_position_update_interval</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-rate" title="gst_player_get_rate ()">gst_player_get_rate</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
@@ -3628,6 +3588,10 @@
 </dt>
 <dd></dd>
 <dt>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-config" title="gst_player_set_config ()">gst_player_set_config</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
+</dt>
+<dd></dd>
+<dt>
 <a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-multiview-flags" title="gst_player_set_multiview_flags ()">gst_player_set_multiview_flags</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
@@ -3640,10 +3604,6 @@
 </dt>
 <dd></dd>
 <dt>
-<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-position-update-interval" title="gst_player_set_position_update_interval ()">gst_player_set_position_update_interval</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
-</dt>
-<dd></dd>
-<dt>
 <a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-rate" title="gst_player_set_rate ()">gst_player_set_rate</a>, function in <a class="link" href="gst-plugins-bad-libs-gstplayer.html" title="gstplayer">gstplayer</a>
 </dt>
 <dd></dd>
diff --git a/docs/libs/html/base.html b/docs/libs/html/base.html
index 6efd348..2bc7751 100644
--- a/docs/libs/html/base.html
+++ b/docs/libs/html/base.html
@@ -24,7 +24,8 @@
 <a name="base"></a>GStreamer Base classes from gst-plugins-bad</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregator.html">GstAggregator</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregator.html">GstAggregator</a></span><span class="refpurpose"> — manages a set of pads with the purpose of
+aggregating their buffers.</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregatorPad.html">GstAggregatorPad</a></span><span class="refpurpose"></span>
diff --git a/docs/libs/html/ch08.html b/docs/libs/html/ch08.html
index 3daceb5..985917d 100644
--- a/docs/libs/html/ch08.html
+++ b/docs/libs/html/ch08.html
@@ -23,7 +23,7 @@
 <div class="titlepage"><div><div><h2 class="title">
 <a name="id-1.2.11"></a>Interfaces</h2></div></div></div>
 <div class="toc"><dl class="toc"><dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstPhotography.html">GstPhotography</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstPhotography.html">GstPhotography</a></span><span class="refpurpose"> — Interface for digital image capture elements</span>
 </dt></dl></div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/codecparsers.html b/docs/libs/html/codecparsers.html
index 35dd0ea..f03fbe0 100644
--- a/docs/libs/html/codecparsers.html
+++ b/docs/libs/html/codecparsers.html
@@ -24,19 +24,23 @@
 <a name="codecparsers"></a>Bitstream parsing Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-h264parser.html">h264parser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-h264parser.html">h264parser</a></span><span class="refpurpose"> — Convenience library for h264 video
+bitstream parsing.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"> — Convenience library for JPEG bitstream parsing.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpegvideoparser.html">mpegvideoparser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpegvideoparser.html">mpegvideoparser</a></span><span class="refpurpose"> — Convenience library for mpeg1 and 2 video
+bitstream parsing.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpeg4parser.html">mpeg4parser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpeg4parser.html">mpeg4parser</a></span><span class="refpurpose"> — Convenience library for parsing mpeg4 part 2 video
+bitstream.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-vc1parser.html">vc1parser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-vc1parser.html">vc1parser</a></span><span class="refpurpose"> — Convenience library for parsing vc1 video
+bitstream.</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegvideometa.html">gstmpegvideometa</a></span><span class="refpurpose"></span>
diff --git a/docs/libs/html/gl.html b/docs/libs/html/gl.html
index 6e5d70a..236e3be 100644
--- a/docs/libs/html/gl.html
+++ b/docs/libs/html/gl.html
@@ -27,22 +27,22 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLAPI.html">GstGLAPI</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglbasememory.html">GstGLBaseMemory</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglbasememory.html">GstGLBaseMemory</a></span><span class="refpurpose"> — memory subclass for GL buffers</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"> — <span class="type">GstBaseTransform</span> subclass for transformin OpenGL resources</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"> — memory subclass for GL buffers</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"> — buffer pool for <span class="type">GstGLMemory</span> objects</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"> — an object that converts between color spaces/formats</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"> — OpenGL context abstraction</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLContextCocoa.html">GstGLContextCocoa</a></span><span class="refpurpose"></span>
@@ -60,7 +60,7 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLContextWGL.html">GstGLContextWGL</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLDisplay.html">GstGLDisplay</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLDisplay.html">GstGLDisplay</a></span><span class="refpurpose"> — window system display connection abstraction</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstEGLImageMemory.html">GstEGLImageMemory</a></span><span class="refpurpose"></span>
@@ -72,28 +72,28 @@
 <span class="refentrytitle"><a href="GstGLFramebuffer.html">GstGLFramebuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLMemory.html">GstGLMemory</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLMemory.html">GstGLMemory</a></span><span class="refpurpose"> — memory subclass for GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"> — memory subclass for GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"> — object representing an OpenGL shader program</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"> — helpers for dealing with OpenGL shaders</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href=".html"></a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href=".html">GstGLSLStage</a></span><span class="refpurpose"> — object for dealing with OpenGL shader stages</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSyncMeta.html">GstGLSyncMeta</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"> — an object that uploads to GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"> — window/surface abstraction</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLWindowAndroid.html">GstGLWindowAndroid</a></span><span class="refpurpose"></span>
@@ -114,7 +114,7 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLWindowX11.html">GstGLWindowX11</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstgldebug.html">OpenGL Debugging</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-OpenGL-debugging.html">OpenGL debugging</a></span><span class="refpurpose"> — helper routines for dealing with OpenGL debugging</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html">OpenGL Miscellaneous Utilities</a></span><span class="refpurpose"></span>
diff --git a/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2 b/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
index 0be1ec3..4eb766b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
+++ b/docs/libs/html/gst-plugins-bad-libs-1.0.devhelp2
@@ -12,14 +12,14 @@
         <sub name="gstmpegvideometa" link="gst-plugins-bad-libs-gstmpegvideometa.html"/>
       </sub>
       <sub name="Mpeg TS helper library" link="mpegts.html">
-        <sub name="gstmpegts" link="gst-plugins-bad-libs-gstmpegts.html"/>
-        <sub name="gstmpegtssection" link="gst-plugins-bad-libs-gstmpegtssection.html"/>
-        <sub name="gstmpegtsdescriptor" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html"/>
-        <sub name="gst-atsc-section" link="gst-plugins-bad-libs-gst-atsc-section.html"/>
-        <sub name="gst-dvb-section" link="gst-plugins-bad-libs-gst-dvb-section.html"/>
-        <sub name="gst-atsc-descriptor" link="gst-plugins-bad-libs-gst-atsc-descriptor.html"/>
-        <sub name="gst-dvb-descriptor" link="gst-plugins-bad-libs-gst-dvb-descriptor.html"/>
-        <sub name="gst-isdb-descriptor" link="gst-plugins-bad-libs-gst-isdb-descriptor.html"/>
+        <sub name="Mpeg-ts helper library" link="gst-plugins-bad-libs-Mpeg-ts-helper-library.html"/>
+        <sub name="Base MPEG-TS sections" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html"/>
+        <sub name="Base MPEG-TS descriptors" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html"/>
+        <sub name="ATSC variants of MPEG-TS sections" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html"/>
+        <sub name="DVB variants of MPEG-TS sections" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html"/>
+        <sub name="ATSC variants of MPEG-TS descriptors" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html"/>
+        <sub name="DVB variants of MPEG-TS descriptors" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html"/>
+        <sub name="ISDB variants of MPEG-TS descriptors" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html"/>
       </sub>
       <sub name="Useful elements" link="tools.html">
         <sub name="GstInsertbin" link="gst-plugins-bad-libs-GstInsertbin.html"/>
@@ -53,7 +53,7 @@
         <sub name="GstGLMemoryPBO" link="gst-plugins-bad-libs-gstglmemorypbo.html"/>
         <sub name="GstGLShader" link="GstGLShader.html"/>
         <sub name="GstGLSL" link="gst-plugins-bad-libs-GstGLSL.html"/>
-        <sub name="" link=".html"/>
+        <sub name="GstGLSLStage" link=".html"/>
         <sub name="GstGLSyncMeta" link="gst-plugins-bad-libs-GstGLSyncMeta.html"/>
         <sub name="GstGLUpload" link="GstGLUpload.html"/>
         <sub name="GstGLWindow" link="GstGLWindow.html"/>
@@ -63,7 +63,7 @@
         <sub name="GstGLWindowWayland" link="gst-plugins-bad-libs-GstGLWindowWayland.html"/>
         <sub name="GstGLWindowWin32" link="gst-plugins-bad-libs-GstGLWindowWin32.html"/>
         <sub name="GstGLWindowX11" link="gst-plugins-bad-libs-GstGLWindowX11.html"/>
-        <sub name="OpenGL Debugging" link="gst-plugins-bad-libs-gstgldebug.html"/>
+        <sub name="OpenGL debugging" link="gst-plugins-bad-libs-OpenGL-debugging.html"/>
         <sub name="OpenGL Miscellaneous Utilities" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html"/>
         <sub name="OpenGL Formats" link="gst-plugins-bad-libs-OpenGL-Formats.html"/>
       </sub>
@@ -81,6 +81,7 @@
     <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="macro" name="GST_H264_IS_P_SLICE()" link="gst-plugins-bad-libs-h264parser.html#GST-H264-IS-P-SLICE:CAPS"/>
@@ -99,11 +100,11 @@
     <keyword type="function" name="gst_h264_nal_parser_free ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-nal-parser-free"/>
     <keyword type="function" name="gst_h264_parse_sps ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-parse-sps"/>
     <keyword type="function" name="gst_h264_parse_pps ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-parse-pps"/>
-    <keyword type="function" name="gst_h264_pps_clear ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-pps-clear"/>
-    <keyword type="function" name="gst_h264_quant_matrix_8x8_get_zigzag_from_raster ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-quant-matrix-8x8-get-zigzag-from-raster"/>
-    <keyword type="function" name="gst_h264_quant_matrix_8x8_get_raster_from_zigzag ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-quant-matrix-8x8-get-raster-from-zigzag"/>
-    <keyword type="function" name="gst_h264_quant_matrix_4x4_get_zigzag_from_raster ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-quant-matrix-4x4-get-zigzag-from-raster"/>
-    <keyword type="function" name="gst_h264_quant_matrix_4x4_get_raster_from_zigzag ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-quant-matrix-4x4-get-raster-from-zigzag"/>
+    <keyword type="function" name="gst_h264_pps_clear ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-pps-clear" since="1.4"/>
+    <keyword type="function" name="gst_h264_quant_matrix_8x8_get_zigzag_from_raster ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-quant-matrix-8x8-get-zigzag-from-raster" since="1.4"/>
+    <keyword type="function" name="gst_h264_quant_matrix_8x8_get_raster_from_zigzag ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-quant-matrix-8x8-get-raster-from-zigzag" since="1.4"/>
+    <keyword type="function" name="gst_h264_quant_matrix_4x4_get_zigzag_from_raster ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-quant-matrix-4x4-get-zigzag-from-raster" since="1.4"/>
+    <keyword type="function" name="gst_h264_quant_matrix_4x4_get_raster_from_zigzag ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-quant-matrix-4x4-get-raster-from-zigzag" since="1.4"/>
     <keyword type="function" name="gst_h264_video_calculate_framerate ()" link="gst-plugins-bad-libs-h264parser.html#gst-h264-video-calculate-framerate"/>
     <keyword type="macro" name="GST_H264_MAX_SPS_COUNT" link="gst-plugins-bad-libs-h264parser.html#GST-H264-MAX-SPS-COUNT:CAPS"/>
     <keyword type="macro" name="GST_H264_MAX_PPS_COUNT" link="gst-plugins-bad-libs-h264parser.html#GST-H264-MAX-PPS-COUNT:CAPS"/>
@@ -126,44 +127,44 @@
     <keyword type="struct" name="struct GstH264PicTiming" link="gst-plugins-bad-libs-h264parser.html#GstH264PicTiming"/>
     <keyword type="struct" name="struct GstH264BufferingPeriod" link="gst-plugins-bad-libs-h264parser.html#GstH264BufferingPeriod"/>
     <keyword type="struct" name="struct GstH264SEIMessage" link="gst-plugins-bad-libs-h264parser.html#GstH264SEIMessage"/>
-    <keyword type="function" name="gst_jpeg_parse ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-parse"/>
-    <keyword type="function" name="gst_jpeg_segment_parse_frame_header ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-frame-header"/>
-    <keyword type="function" name="gst_jpeg_segment_parse_scan_header ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-scan-header"/>
-    <keyword type="function" name="gst_jpeg_segment_parse_huffman_table ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-huffman-table"/>
-    <keyword type="function" name="gst_jpeg_segment_parse_quantization_table ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-quantization-table"/>
-    <keyword type="function" name="gst_jpeg_segment_parse_restart_interval ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-restart-interval"/>
+    <keyword type="function" name="gst_jpeg_parse ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-parse" since="1.6"/>
+    <keyword type="function" name="gst_jpeg_segment_parse_frame_header ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-frame-header" since="1.6"/>
+    <keyword type="function" name="gst_jpeg_segment_parse_scan_header ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-scan-header" since="1.6"/>
+    <keyword type="function" name="gst_jpeg_segment_parse_huffman_table ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-huffman-table" since="1.6"/>
+    <keyword type="function" name="gst_jpeg_segment_parse_quantization_table ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-quantization-table" since="1.6"/>
+    <keyword type="function" name="gst_jpeg_segment_parse_restart_interval ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-segment-parse-restart-interval" since="1.6"/>
     <keyword type="function" name="gst_jpeg_get_default_quantization_tables ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-get-default-quantization-tables"/>
-    <keyword type="function" name="gst_jpeg_get_default_huffman_tables ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-get-default-huffman-tables"/>
-    <keyword type="macro" name="GST_JPEG_MAX_FRAME_COMPONENTS" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MAX-FRAME-COMPONENTS:CAPS"/>
-    <keyword type="macro" name="GST_JPEG_MAX_SCAN_COMPONENTS" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MAX-SCAN-COMPONENTS:CAPS"/>
-    <keyword type="macro" name="GST_JPEG_MAX_QUANT_ELEMENTS" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MAX-QUANT-ELEMENTS:CAPS"/>
+    <keyword type="function" name="gst_jpeg_get_default_huffman_tables ()" link="gst-plugins-bad-libs-jpegparser.html#gst-jpeg-get-default-huffman-tables" since="1.6"/>
+    <keyword type="macro" name="GST_JPEG_MAX_FRAME_COMPONENTS" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MAX-FRAME-COMPONENTS:CAPS" since="1.6"/>
+    <keyword type="macro" name="GST_JPEG_MAX_SCAN_COMPONENTS" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MAX-SCAN-COMPONENTS:CAPS" since="1.6"/>
+    <keyword type="macro" name="GST_JPEG_MAX_QUANT_ELEMENTS" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MAX-QUANT-ELEMENTS:CAPS" since="1.6"/>
     <keyword type="macro" name="GST_JPEG_MARKER_SOF_MIN" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-SOF-MIN:CAPS"/>
     <keyword type="macro" name="GST_JPEG_MARKER_SOF_MAX" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-SOF-MAX:CAPS"/>
     <keyword type="macro" name="GST_JPEG_MARKER_APP_MIN" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-APP-MIN:CAPS"/>
     <keyword type="macro" name="GST_JPEG_MARKER_APP_MAX" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-APP-MAX:CAPS"/>
     <keyword type="macro" name="GST_JPEG_MARKER_RST_MIN" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-RST-MIN:CAPS"/>
     <keyword type="macro" name="GST_JPEG_MARKER_RST_MAX" link="gst-plugins-bad-libs-jpegparser.html#GST-JPEG-MARKER-RST-MAX:CAPS"/>
-    <keyword type="enum" name="enum GstJpegEntropyCodingMode" link="gst-plugins-bad-libs-jpegparser.html#GstJpegEntropyCodingMode"/>
-    <keyword type="enum" name="enum GstJpegProfile" link="gst-plugins-bad-libs-jpegparser.html#GstJpegProfile"/>
-    <keyword type="struct" name="struct GstJpegSegment" link="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment"/>
-    <keyword type="struct" name="struct GstJpegFrameHdr" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr"/>
-    <keyword type="struct" name="struct GstJpegFrameComponent" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameComponent"/>
-    <keyword type="struct" name="struct GstJpegScanHdr" link="gst-plugins-bad-libs-jpegparser.html#GstJpegScanHdr"/>
-    <keyword type="struct" name="struct GstJpegScanComponent" link="gst-plugins-bad-libs-jpegparser.html#GstJpegScanComponent"/>
-    <keyword type="struct" name="struct GstJpegHuffmanTables" link="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables"/>
-    <keyword type="struct" name="struct GstJpegHuffmanTable" link="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTable"/>
-    <keyword type="struct" name="struct GstJpegQuantTable" link="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable"/>
+    <keyword type="enum" name="enum GstJpegEntropyCodingMode" link="gst-plugins-bad-libs-jpegparser.html#GstJpegEntropyCodingMode" since="1.6"/>
+    <keyword type="enum" name="enum GstJpegProfile" link="gst-plugins-bad-libs-jpegparser.html#GstJpegProfile" since="1.6"/>
+    <keyword type="struct" name="struct GstJpegSegment" link="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" since="1.6"/>
+    <keyword type="struct" name="struct GstJpegFrameHdr" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr" since="1.6"/>
+    <keyword type="struct" name="struct GstJpegFrameComponent" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameComponent" since="1.6"/>
+    <keyword type="struct" name="struct GstJpegScanHdr" link="gst-plugins-bad-libs-jpegparser.html#GstJpegScanHdr" since="1.6"/>
+    <keyword type="struct" name="struct GstJpegScanComponent" link="gst-plugins-bad-libs-jpegparser.html#GstJpegScanComponent" since="1.6"/>
+    <keyword type="struct" name="struct GstJpegHuffmanTables" link="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables" since="1.6"/>
+    <keyword type="struct" name="struct GstJpegHuffmanTable" link="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTable" since="1.6"/>
+    <keyword type="struct" name="struct GstJpegQuantTable" link="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable" since="1.6"/>
     <keyword type="function" name="gst_mpeg_video_parse ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse"/>
-    <keyword type="function" name="gst_mpeg_video_parse_sequence_header ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-sequence-header" deprecated=""/>
-    <keyword type="function" name="gst_mpeg_video_parse_picture_header ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-picture-header" deprecated=""/>
-    <keyword type="function" name="gst_mpeg_video_parse_picture_extension ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-picture-extension" deprecated=""/>
-    <keyword type="function" name="gst_mpeg_video_parse_gop ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-gop" deprecated=""/>
-    <keyword type="function" name="gst_mpeg_video_parse_sequence_extension ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-sequence-extension" deprecated=""/>
+    <keyword type="function" name="gst_mpeg_video_parse_sequence_header ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-sequence-header" deprecated="Use gst_mpeg_video_packet_parse_sequence_header() instead."/>
+    <keyword type="function" name="gst_mpeg_video_parse_picture_header ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-picture-header" deprecated="Use gst_mpeg_video_packet_parse_picture_header() instead."/>
+    <keyword type="function" name="gst_mpeg_video_parse_picture_extension ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-picture-extension" deprecated="Use gst_mpeg_video_packet_parse_picture_extension() instead."/>
+    <keyword type="function" name="gst_mpeg_video_parse_gop ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-gop" deprecated="Use gst_mpeg_video_packet_parse_gop() instead."/>
+    <keyword type="function" name="gst_mpeg_video_parse_sequence_extension ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-sequence-extension" deprecated="Use gst_mpeg_video_packet_parse_sequence_extension() instead."/>
     <keyword type="function" name="gst_mpeg_video_parse_sequence_display_extension ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-sequence-display-extension" deprecated=""/>
-    <keyword type="function" name="gst_mpeg_video_parse_quant_matrix_extension ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-quant-matrix-extension" deprecated=""/>
+    <keyword type="function" name="gst_mpeg_video_parse_quant_matrix_extension ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-parse-quant-matrix-extension" deprecated="Use gst_mpeg_video_packet_parse_quant_matrix_extension() instead."/>
     <keyword type="function" name="gst_mpeg_video_finalise_mpeg2_sequence_header ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-finalise-mpeg2-sequence-header"/>
-    <keyword type="function" name="gst_mpeg_video_quant_matrix_get_raster_from_zigzag ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-quant-matrix-get-raster-from-zigzag"/>
-    <keyword type="function" name="gst_mpeg_video_quant_matrix_get_zigzag_from_raster ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-quant-matrix-get-zigzag-from-raster"/>
+    <keyword type="function" name="gst_mpeg_video_quant_matrix_get_raster_from_zigzag ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-quant-matrix-get-raster-from-zigzag" since="1.2"/>
+    <keyword type="function" name="gst_mpeg_video_quant_matrix_get_zigzag_from_raster ()" link="gst-plugins-bad-libs-mpegvideoparser.html#gst-mpeg-video-quant-matrix-get-zigzag-from-raster" since="1.2"/>
     <keyword type="enum" name="enum GstMpegVideoPacketTypeCode" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPacketTypeCode"/>
     <keyword type="enum" name="enum GstMpegVideoPacketExtensionCode" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPacketExtensionCode"/>
     <keyword type="enum" name="enum GstMpegVideoLevel" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoLevel"/>
@@ -240,183 +241,183 @@
     <keyword type="struct" name="GstVC1Picture" link="gst-plugins-bad-libs-vc1parser.html#GstVC1Picture"/>
     <keyword type="struct" name="struct GstVC1VopDquant" link="gst-plugins-bad-libs-vc1parser.html#GstVC1VopDquant"/>
     <keyword type="struct" name="struct GstVC1BDU" link="gst-plugins-bad-libs-vc1parser.html#GstVC1BDU"/>
-    <keyword type="function" name="gst_buffer_add_mpeg_video_meta ()" link="gst-plugins-bad-libs-gstmpegvideometa.html#gst-buffer-add-mpeg-video-meta"/>
+    <keyword type="function" name="gst_buffer_add_mpeg_video_meta ()" link="gst-plugins-bad-libs-gstmpegvideometa.html#gst-buffer-add-mpeg-video-meta" since="1.2"/>
     <keyword type="macro" name="gst_buffer_get_mpeg_video_meta()" link="gst-plugins-bad-libs-gstmpegvideometa.html#gst-buffer-get-mpeg-video-meta"/>
     <keyword type="function" name="gst_mpeg_video_meta_get_info ()" link="gst-plugins-bad-libs-gstmpegvideometa.html#gst-mpeg-video-meta-get-info"/>
     <keyword type="macro" name="GST_MPEG_VIDEO_META_API_TYPE" link="gst-plugins-bad-libs-gstmpegvideometa.html#GST-MPEG-VIDEO-META-API-TYPE:CAPS"/>
     <keyword type="macro" name="GST_MPEG_VIDEO_META_INFO" link="gst-plugins-bad-libs-gstmpegvideometa.html#GST-MPEG-VIDEO-META-INFO:CAPS"/>
-    <keyword type="struct" name="struct GstMpegVideoMeta" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta"/>
-    <keyword type="function" name="gst_mpegts_initialize ()" link="gst-plugins-bad-libs-gstmpegts.html#gst-mpegts-initialize"/>
-    <keyword type="macro" name="GST_MPEGTS_SECTION_TYPE()" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-TYPE:CAPS"/>
-    <keyword type="function" name="gst_message_new_mpegts_section ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-message-new-mpegts-section"/>
-    <keyword type="function" name="gst_message_parse_mpegts_section ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-message-parse-mpegts-section"/>
-    <keyword type="function" name="gst_mpegts_section_send_event ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-send-event"/>
-    <keyword type="function" name="gst_event_parse_mpegts_section ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-event-parse-mpegts-section"/>
-    <keyword type="function" name="gst_mpegts_section_packetize ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-packetize"/>
-    <keyword type="function" name="gst_mpegts_section_new ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-new"/>
-    <keyword type="macro" name="gst_mpegts_section_ref()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-ref"/>
-    <keyword type="macro" name="gst_mpegts_section_unref()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-unref"/>
-    <keyword type="function" name="gst_mpegts_section_get_pat ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-pat"/>
-    <keyword type="function" name="gst_mpegts_pat_new ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pat-new"/>
-    <keyword type="function" name="gst_mpegts_pat_program_new ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pat-program-new"/>
-    <keyword type="function" name="gst_mpegts_section_from_pat ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-from-pat"/>
-    <keyword type="function" name="gst_mpegts_section_get_pmt ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-pmt"/>
-    <keyword type="function" name="gst_mpegts_pmt_new ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pmt-new"/>
-    <keyword type="function" name="gst_mpegts_pmt_stream_new ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pmt-stream-new"/>
-    <keyword type="function" name="gst_mpegts_section_from_pmt ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-from-pmt"/>
-    <keyword type="function" name="gst_mpegts_section_get_tsdt ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-tsdt"/>
-    <keyword type="function" name="gst_mpegts_section_get_cat ()" link="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-cat"/>
-    <keyword type="struct" name="struct GstMpegtsSection" link="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection-struct"/>
-    <keyword type="enum" name="enum GstMpegtsSectionTableID" link="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSectionTableID"/>
-    <keyword type="enum" name="enum GstMpegtsSectionType" link="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSectionType"/>
-    <keyword type="struct" name="struct GstMpegtsPatProgram" link="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPatProgram"/>
-    <keyword type="struct" name="struct GstMpegtsPMT" link="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMT"/>
-    <keyword type="struct" name="struct GstMpegtsPMTStream" link="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMTStream"/>
-    <keyword type="enum" name="enum GstMpegtsStreamType" link="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsStreamType"/>
-    <keyword type="function" name="gst_mpegts_find_descriptor ()" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-find-descriptor"/>
-    <keyword type="function" name="gst_mpegts_parse_descriptors ()" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-parse-descriptors"/>
-    <keyword type="function" name="gst_mpegts_descriptor_from_custom ()" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-from-custom"/>
-    <keyword type="function" name="gst_mpegts_descriptor_from_registration ()" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-from-registration"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_iso_639_language ()" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-iso-639-language"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_iso_639_language_idx ()" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-iso-639-language-idx"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_iso_639_language_nb ()" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-iso-639-language-nb"/>
-    <keyword type="function" name="gst_mpegts_iso_639_language_descriptor_free ()" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-iso-639-language-descriptor-free"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_logical_channel ()" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-logical-channel"/>
-    <keyword type="struct" name="struct GstMpegtsDescriptor" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor-struct"/>
-    <keyword type="enum" name="enum GstMpegtsDescriptorType" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptorType"/>
-    <keyword type="enum" name="enum GstMpegtsMiscDescriptorType" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsMiscDescriptorType"/>
-    <keyword type="struct" name="struct GstMpegtsISO639LanguageDescriptor" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsISO639LanguageDescriptor"/>
-    <keyword type="enum" name="enum GstMpegtsIso639AudioType" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsIso639AudioType"/>
-    <keyword type="struct" name="struct GstMpegtsLogicalChannel" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsLogicalChannel"/>
-    <keyword type="struct" name="struct GstMpegtsLogicalChannelDescriptor" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsLogicalChannelDescriptor"/>
-    <keyword type="function" name="gst_mpegts_section_get_atsc_tvct ()" link="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-tvct"/>
-    <keyword type="function" name="gst_mpegts_section_get_atsc_cvct ()" link="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-cvct"/>
-    <keyword type="function" name="gst_mpegts_section_get_atsc_mgt ()" link="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-mgt"/>
-    <keyword type="function" name="gst_mpegts_atsc_string_segment_get_string ()" link="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-atsc-string-segment-get-string"/>
-    <keyword type="function" name="gst_mpegts_section_get_atsc_eit ()" link="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-eit"/>
-    <keyword type="function" name="gst_mpegts_section_get_atsc_ett ()" link="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-ett"/>
-    <keyword type="function" name="gst_mpegts_section_get_atsc_stt ()" link="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-stt"/>
-    <keyword type="function" name="gst_mpegts_atsc_stt_get_datetime_utc ()" link="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-atsc-stt-get-datetime-utc"/>
-    <keyword type="enum" name="enum GstMpegtsSectionATSCTableID" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsSectionATSCTableID"/>
-    <keyword type="struct" name="struct GstMpegtsAtscVCTSource" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscVCTSource"/>
-    <keyword type="struct" name="struct GstMpegtsAtscVCT" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscVCT"/>
-    <keyword type="enum" name="enum GstMpegtsAtscMGTTableType" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGTTableType"/>
-    <keyword type="struct" name="struct GstMpegtsAtscMGTTable" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGTTable"/>
-    <keyword type="struct" name="struct GstMpegtsAtscMGT" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGT"/>
-    <keyword type="struct" name="struct GstMpegtsAtscMultString" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMultString"/>
-    <keyword type="struct" name="struct GstMpegtsAtscEITEvent" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscEITEvent"/>
-    <keyword type="struct" name="struct GstMpegtsAtscEIT" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscEIT"/>
-    <keyword type="struct" name="struct GstMpegtsAtscETT" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscETT"/>
-    <keyword type="struct" name="struct GstMpegtsAtscSTT" link="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscSTT"/>
-    <keyword type="function" name="gst_mpegts_section_get_nit ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-nit"/>
-    <keyword type="function" name="gst_mpegts_nit_new ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-nit-new"/>
-    <keyword type="function" name="gst_mpegts_nit_stream_new ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-nit-stream-new"/>
-    <keyword type="function" name="gst_mpegts_section_from_nit ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-from-nit"/>
-    <keyword type="function" name="gst_mpegts_section_get_bat ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-bat"/>
-    <keyword type="function" name="gst_mpegts_section_get_sdt ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-sdt"/>
-    <keyword type="function" name="gst_mpegts_sdt_new ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-sdt-new"/>
-    <keyword type="function" name="gst_mpegts_sdt_service_new ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-sdt-service-new"/>
-    <keyword type="function" name="gst_mpegts_section_from_sdt ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-from-sdt"/>
-    <keyword type="function" name="gst_mpegts_section_get_eit ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-eit"/>
-    <keyword type="function" name="gst_mpegts_section_get_tdt ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-tdt"/>
-    <keyword type="function" name="gst_mpegts_section_get_tot ()" link="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-tot"/>
-    <keyword type="enum" name="enum GstMpegtsSectionDVBTableID" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSectionDVBTableID"/>
-    <keyword type="struct" name="struct GstMpegtsNIT" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNIT"/>
-    <keyword type="struct" name="struct GstMpegtsNITStream" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNITStream"/>
-    <keyword type="struct" name="struct GstMpegtsBAT" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsBAT"/>
-    <keyword type="struct" name="struct GstMpegtsBATStream" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsBATStream"/>
-    <keyword type="struct" name="struct GstMpegtsSDT" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDT"/>
-    <keyword type="struct" name="struct GstMpegtsSDTService" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDTService"/>
-    <keyword type="struct" name="struct GstMpegtsEIT" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsEIT"/>
-    <keyword type="struct" name="struct GstMpegtsEITEvent" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsEITEvent"/>
-    <keyword type="enum" name="enum GstMpegtsRunningStatus" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsRunningStatus"/>
-    <keyword type="struct" name="struct GstMpegtsTOT" link="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsTOT"/>
-    <keyword type="enum" name="enum GstMpegtsATSCDescriptorType" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GstMpegtsATSCDescriptorType"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_content ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-content"/>
-    <keyword type="function" name="gst_mpegts_dvb_component_descriptor_free ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-component-descriptor-free"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_component ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-component"/>
-    <keyword type="function" name="gst_mpegts_extended_event_descriptor_free ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-extended-event-descriptor-free"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_extended_event ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-extended-event"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_satellite_delivery_system ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-satellite-delivery-system"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_cable_delivery_system ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-cable-delivery-system"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_terrestrial_delivery_system ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-terrestrial-delivery-system"/>
-    <keyword type="function" name="gst_mpegts_t2_delivery_system_descriptor_free ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-t2-delivery-system-descriptor-free"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_t2_delivery_system ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-t2-delivery-system"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_short_event ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-short-event"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_network_name ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-network-name"/>
-    <keyword type="function" name="gst_mpegts_descriptor_from_dvb_network_name ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-from-dvb-network-name"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_service ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-service"/>
-    <keyword type="function" name="gst_mpegts_descriptor_from_dvb_service ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-from-dvb-service"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_teletext_idx ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-teletext-idx"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_teletext_nb ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-teletext-nb"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_subtitling_idx ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-subtitling-idx"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_subtitling_nb ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-subtitling-nb"/>
-    <keyword type="function" name="gst_mpegts_descriptor_from_dvb_subtitling ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-from-dvb-subtitling"/>
-    <keyword type="function" name="gst_mpegts_dvb_linkage_descriptor_free ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-free"/>
-    <keyword type="function" name="gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-get-mobile-hand-over"/>
-    <keyword type="function" name="gst_mpegts_dvb_linkage_descriptor_get_event ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-get-event"/>
-    <keyword type="function" name="gst_mpegts_dvb_linkage_descriptor_get_extended_event ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-get-extended-event"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_linkage ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-linkage"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_private_data_specifier ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-private-data-specifier"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_frequency_list ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-frequency-list"/>
-    <keyword type="function" name="gst_mpegts_dvb_data_broadcast_descriptor_free ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-data-broadcast-descriptor-free"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_data_broadcast ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-data-broadcast"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_scrambling ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-scrambling"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_data_broadcast_id ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-data-broadcast-id"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_parental_rating ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-parental-rating"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_stream_identifier ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-stream-identifier"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_ca_identifier ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-ca-identifier"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_service_list ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-service-list"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_stuffing ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-stuffing"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_bouquet_name ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-bouquet-name"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_multilingual_network_name ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-network-name"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-bouquet-name"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_multilingual_service_name ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-service-name"/>
-    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_multilingual_component ()" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-component"/>
-    <keyword type="enum" name="enum GstMpegtsDVBDescriptorType" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBDescriptorType"/>
-    <keyword type="enum" name="enum GstMpegtsDVBExtendedDescriptorType" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBExtendedDescriptorType"/>
-    <keyword type="struct" name="struct GstMpegtsContent" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsContent"/>
-    <keyword type="struct" name="struct GstMpegtsComponentDescriptor" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsComponentDescriptor"/>
-    <keyword type="struct" name="struct GstMpegtsExtendedEventItem" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsExtendedEventItem"/>
-    <keyword type="struct" name="struct GstMpegtsExtendedEventDescriptor" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsExtendedEventDescriptor"/>
-    <keyword type="struct" name="struct GstMpegtsSatelliteDeliverySystemDescriptor" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatelliteDeliverySystemDescriptor"/>
-    <keyword type="enum" name="enum GstMpegtsDVBCodeRate" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBCodeRate"/>
-    <keyword type="enum" name="enum GstMpegtsModulationType" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsModulationType"/>
-    <keyword type="enum" name="enum GstMpegtsSatellitePolarizationType" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatellitePolarizationType"/>
-    <keyword type="enum" name="enum GstMpegtsSatelliteRolloff" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatelliteRolloff"/>
-    <keyword type="struct" name="struct GstMpegtsCableDeliverySystemDescriptor" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsCableDeliverySystemDescriptor"/>
-    <keyword type="enum" name="enum GstMpegtsCableOuterFECScheme" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsCableOuterFECScheme"/>
-    <keyword type="struct" name="struct GstMpegtsTerrestrialDeliverySystemDescriptor" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialDeliverySystemDescriptor"/>
-    <keyword type="enum" name="enum GstMpegtsTerrestrialTransmissionMode" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialTransmissionMode"/>
-    <keyword type="enum" name="enum GstMpegtsTerrestrialGuardInterval" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialGuardInterval"/>
-    <keyword type="enum" name="enum GstMpegtsTerrestrialHierarchy" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialHierarchy"/>
-    <keyword type="struct" name="struct GstMpegtsT2DeliverySystemCellExtension" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemCellExtension"/>
-    <keyword type="struct" name="struct GstMpegtsT2DeliverySystemCell" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemCell"/>
-    <keyword type="struct" name="struct GstMpegtsT2DeliverySystemDescriptor" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemDescriptor"/>
-    <keyword type="enum" name="enum GstMpegtsDVBServiceType" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBServiceType"/>
-    <keyword type="enum" name="enum GstMpegtsDVBTeletextType" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBTeletextType"/>
-    <keyword type="enum" name="enum GstMpegtsDVBLinkageType" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageType"/>
-    <keyword type="enum" name="enum GstMpegtsDVBLinkageHandOverType" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageHandOverType"/>
-    <keyword type="struct" name="struct GstMpegtsDVBLinkageMobileHandOver" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageMobileHandOver"/>
-    <keyword type="struct" name="struct GstMpegtsDVBLinkageEvent" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageEvent"/>
-    <keyword type="struct" name="struct GstMpegtsDVBLinkageExtendedEvent" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageExtendedEvent"/>
-    <keyword type="struct" name="struct GstMpegtsDVBLinkageDescriptor" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageDescriptor"/>
-    <keyword type="struct" name="struct GstMpegtsDataBroadcastDescriptor" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDataBroadcastDescriptor"/>
-    <keyword type="enum" name="enum GstMpegtsDVBScramblingModeType" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBScramblingModeType"/>
-    <keyword type="struct" name="struct GstMpegtsDVBParentalRatingItem" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBParentalRatingItem"/>
-    <keyword type="struct" name="struct GstMpegtsDVBServiceListItem" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBServiceListItem"/>
-    <keyword type="struct" name="struct GstMpegtsDvbMultilingualNetworkNameItem" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualNetworkNameItem"/>
-    <keyword type="struct" name="struct GstMpegtsDvbMultilingualBouquetNameItem" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualBouquetNameItem"/>
-    <keyword type="struct" name="struct GstMpegtsDvbMultilingualServiceNameItem" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualServiceNameItem"/>
-    <keyword type="struct" name="struct GstMpegtsDvbMultilingualComponentItem" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualComponentItem"/>
-    <keyword type="enum" name="enum GstMpegtsISDBDescriptorType" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GstMpegtsISDBDescriptorType"/>
+    <keyword type="struct" name="struct GstMpegVideoMeta" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta" since="1.2"/>
+    <keyword type="function" name="gst_mpegts_initialize ()" link="gst-plugins-bad-libs-Mpeg-ts-helper-library.html#gst-mpegts-initialize"/>
+    <keyword type="macro" name="GST_MPEGTS_SECTION_TYPE()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TYPE:CAPS"/>
+    <keyword type="function" name="gst_message_new_mpegts_section ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-message-new-mpegts-section"/>
+    <keyword type="function" name="gst_message_parse_mpegts_section ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-message-parse-mpegts-section"/>
+    <keyword type="function" name="gst_mpegts_section_send_event ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-send-event"/>
+    <keyword type="function" name="gst_event_parse_mpegts_section ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-event-parse-mpegts-section"/>
+    <keyword type="function" name="gst_mpegts_section_packetize ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-packetize"/>
+    <keyword type="function" name="gst_mpegts_section_new ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-new"/>
+    <keyword type="macro" name="gst_mpegts_section_ref()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-ref"/>
+    <keyword type="macro" name="gst_mpegts_section_unref()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-unref"/>
+    <keyword type="function" name="gst_mpegts_section_get_pat ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-pat"/>
+    <keyword type="function" name="gst_mpegts_pat_new ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pat-new"/>
+    <keyword type="function" name="gst_mpegts_pat_program_new ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pat-program-new"/>
+    <keyword type="function" name="gst_mpegts_section_from_pat ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-from-pat"/>
+    <keyword type="function" name="gst_mpegts_section_get_pmt ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-pmt"/>
+    <keyword type="function" name="gst_mpegts_pmt_new ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pmt-new"/>
+    <keyword type="function" name="gst_mpegts_pmt_stream_new ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pmt-stream-new"/>
+    <keyword type="function" name="gst_mpegts_section_from_pmt ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-from-pmt"/>
+    <keyword type="function" name="gst_mpegts_section_get_tsdt ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-tsdt"/>
+    <keyword type="function" name="gst_mpegts_section_get_cat ()" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-cat"/>
+    <keyword type="struct" name="struct GstMpegtsSection" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct"/>
+    <keyword type="enum" name="enum GstMpegtsSectionTableID" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionTableID"/>
+    <keyword type="enum" name="enum GstMpegtsSectionType" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionType"/>
+    <keyword type="struct" name="struct GstMpegtsPatProgram" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram"/>
+    <keyword type="struct" name="struct GstMpegtsPMT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT"/>
+    <keyword type="struct" name="struct GstMpegtsPMTStream" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream"/>
+    <keyword type="enum" name="enum GstMpegtsStreamType" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsStreamType"/>
+    <keyword type="function" name="gst_mpegts_find_descriptor ()" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-find-descriptor"/>
+    <keyword type="function" name="gst_mpegts_parse_descriptors ()" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-parse-descriptors"/>
+    <keyword type="function" name="gst_mpegts_descriptor_from_custom ()" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-custom"/>
+    <keyword type="function" name="gst_mpegts_descriptor_from_registration ()" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-registration"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_iso_639_language ()" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-iso-639-language"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_iso_639_language_idx ()" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-iso-639-language-idx"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_iso_639_language_nb ()" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-iso-639-language-nb"/>
+    <keyword type="function" name="gst_mpegts_iso_639_language_descriptor_free ()" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-iso-639-language-descriptor-free"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_logical_channel ()" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-logical-channel"/>
+    <keyword type="struct" name="struct GstMpegtsDescriptor" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor-struct"/>
+    <keyword type="enum" name="enum GstMpegtsDescriptorType" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptorType"/>
+    <keyword type="enum" name="enum GstMpegtsMiscDescriptorType" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsMiscDescriptorType"/>
+    <keyword type="struct" name="struct GstMpegtsISO639LanguageDescriptor" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsISO639LanguageDescriptor"/>
+    <keyword type="enum" name="enum GstMpegtsIso639AudioType" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsIso639AudioType"/>
+    <keyword type="struct" name="struct GstMpegtsLogicalChannel" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsLogicalChannel"/>
+    <keyword type="struct" name="struct GstMpegtsLogicalChannelDescriptor" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsLogicalChannelDescriptor"/>
+    <keyword type="function" name="gst_mpegts_section_get_atsc_tvct ()" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-tvct"/>
+    <keyword type="function" name="gst_mpegts_section_get_atsc_cvct ()" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-cvct"/>
+    <keyword type="function" name="gst_mpegts_section_get_atsc_mgt ()" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-mgt"/>
+    <keyword type="function" name="gst_mpegts_atsc_string_segment_get_string ()" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-atsc-string-segment-get-string"/>
+    <keyword type="function" name="gst_mpegts_section_get_atsc_eit ()" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-eit"/>
+    <keyword type="function" name="gst_mpegts_section_get_atsc_ett ()" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-ett"/>
+    <keyword type="function" name="gst_mpegts_section_get_atsc_stt ()" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-stt"/>
+    <keyword type="function" name="gst_mpegts_atsc_stt_get_datetime_utc ()" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-atsc-stt-get-datetime-utc"/>
+    <keyword type="enum" name="enum GstMpegtsSectionATSCTableID" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsSectionATSCTableID"/>
+    <keyword type="struct" name="struct GstMpegtsAtscVCTSource" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource"/>
+    <keyword type="struct" name="struct GstMpegtsAtscVCT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT"/>
+    <keyword type="enum" name="enum GstMpegtsAtscMGTTableType" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTableType"/>
+    <keyword type="struct" name="struct GstMpegtsAtscMGTTable" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTable"/>
+    <keyword type="struct" name="struct GstMpegtsAtscMGT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT"/>
+    <keyword type="struct" name="struct GstMpegtsAtscMultString" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMultString"/>
+    <keyword type="struct" name="struct GstMpegtsAtscEITEvent" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEITEvent"/>
+    <keyword type="struct" name="struct GstMpegtsAtscEIT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEIT"/>
+    <keyword type="struct" name="struct GstMpegtsAtscETT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT"/>
+    <keyword type="struct" name="struct GstMpegtsAtscSTT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT"/>
+    <keyword type="function" name="gst_mpegts_section_get_nit ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-nit"/>
+    <keyword type="function" name="gst_mpegts_nit_new ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-nit-new"/>
+    <keyword type="function" name="gst_mpegts_nit_stream_new ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-nit-stream-new"/>
+    <keyword type="function" name="gst_mpegts_section_from_nit ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-from-nit"/>
+    <keyword type="function" name="gst_mpegts_section_get_bat ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-bat"/>
+    <keyword type="function" name="gst_mpegts_section_get_sdt ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-sdt"/>
+    <keyword type="function" name="gst_mpegts_sdt_new ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-sdt-new"/>
+    <keyword type="function" name="gst_mpegts_sdt_service_new ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-sdt-service-new"/>
+    <keyword type="function" name="gst_mpegts_section_from_sdt ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-from-sdt"/>
+    <keyword type="function" name="gst_mpegts_section_get_eit ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-eit"/>
+    <keyword type="function" name="gst_mpegts_section_get_tdt ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-tdt"/>
+    <keyword type="function" name="gst_mpegts_section_get_tot ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-tot"/>
+    <keyword type="enum" name="enum GstMpegtsSectionDVBTableID" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSectionDVBTableID"/>
+    <keyword type="struct" name="struct GstMpegtsNIT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT"/>
+    <keyword type="struct" name="struct GstMpegtsNITStream" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream"/>
+    <keyword type="struct" name="struct GstMpegtsBAT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBAT"/>
+    <keyword type="struct" name="struct GstMpegtsBATStream" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBATStream"/>
+    <keyword type="struct" name="struct GstMpegtsSDT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT"/>
+    <keyword type="struct" name="struct GstMpegtsSDTService" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService"/>
+    <keyword type="struct" name="struct GstMpegtsEIT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT"/>
+    <keyword type="struct" name="struct GstMpegtsEITEvent" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEITEvent"/>
+    <keyword type="enum" name="enum GstMpegtsRunningStatus" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsRunningStatus"/>
+    <keyword type="struct" name="struct GstMpegtsTOT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsTOT"/>
+    <keyword type="enum" name="enum GstMpegtsATSCDescriptorType" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GstMpegtsATSCDescriptorType"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_content ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-content"/>
+    <keyword type="function" name="gst_mpegts_dvb_component_descriptor_free ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-component-descriptor-free"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_component ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-component"/>
+    <keyword type="function" name="gst_mpegts_extended_event_descriptor_free ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-extended-event-descriptor-free"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_extended_event ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-extended-event"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_satellite_delivery_system ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-satellite-delivery-system"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_cable_delivery_system ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-cable-delivery-system"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_terrestrial_delivery_system ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-terrestrial-delivery-system"/>
+    <keyword type="function" name="gst_mpegts_t2_delivery_system_descriptor_free ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-t2-delivery-system-descriptor-free"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_t2_delivery_system ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-t2-delivery-system"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_short_event ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-short-event"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_network_name ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-network-name"/>
+    <keyword type="function" name="gst_mpegts_descriptor_from_dvb_network_name ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-dvb-network-name"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_service ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-service"/>
+    <keyword type="function" name="gst_mpegts_descriptor_from_dvb_service ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-dvb-service"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_teletext_idx ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-teletext-idx"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_teletext_nb ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-teletext-nb"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_subtitling_idx ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-subtitling-idx"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_subtitling_nb ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-subtitling-nb"/>
+    <keyword type="function" name="gst_mpegts_descriptor_from_dvb_subtitling ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-dvb-subtitling"/>
+    <keyword type="function" name="gst_mpegts_dvb_linkage_descriptor_free ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-free"/>
+    <keyword type="function" name="gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-get-mobile-hand-over"/>
+    <keyword type="function" name="gst_mpegts_dvb_linkage_descriptor_get_event ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-get-event"/>
+    <keyword type="function" name="gst_mpegts_dvb_linkage_descriptor_get_extended_event ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-get-extended-event"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_linkage ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-linkage"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_private_data_specifier ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-private-data-specifier"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_frequency_list ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-frequency-list"/>
+    <keyword type="function" name="gst_mpegts_dvb_data_broadcast_descriptor_free ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-data-broadcast-descriptor-free"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_data_broadcast ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-data-broadcast"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_scrambling ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-scrambling"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_data_broadcast_id ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-data-broadcast-id"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_parental_rating ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-parental-rating"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_stream_identifier ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-stream-identifier"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_ca_identifier ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-ca-identifier"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_service_list ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-service-list"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_stuffing ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-stuffing"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_bouquet_name ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-bouquet-name"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_multilingual_network_name ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-network-name"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-bouquet-name"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_multilingual_service_name ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-service-name"/>
+    <keyword type="function" name="gst_mpegts_descriptor_parse_dvb_multilingual_component ()" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-component"/>
+    <keyword type="enum" name="enum GstMpegtsDVBDescriptorType" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBDescriptorType"/>
+    <keyword type="enum" name="enum GstMpegtsDVBExtendedDescriptorType" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBExtendedDescriptorType"/>
+    <keyword type="struct" name="struct GstMpegtsContent" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsContent"/>
+    <keyword type="struct" name="struct GstMpegtsComponentDescriptor" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsComponentDescriptor"/>
+    <keyword type="struct" name="struct GstMpegtsExtendedEventItem" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventItem"/>
+    <keyword type="struct" name="struct GstMpegtsExtendedEventDescriptor" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor"/>
+    <keyword type="struct" name="struct GstMpegtsSatelliteDeliverySystemDescriptor" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor"/>
+    <keyword type="enum" name="enum GstMpegtsDVBCodeRate" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBCodeRate"/>
+    <keyword type="enum" name="enum GstMpegtsModulationType" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsModulationType"/>
+    <keyword type="enum" name="enum GstMpegtsSatellitePolarizationType" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatellitePolarizationType"/>
+    <keyword type="enum" name="enum GstMpegtsSatelliteRolloff" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteRolloff"/>
+    <keyword type="struct" name="struct GstMpegtsCableDeliverySystemDescriptor" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor"/>
+    <keyword type="enum" name="enum GstMpegtsCableOuterFECScheme" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableOuterFECScheme"/>
+    <keyword type="struct" name="struct GstMpegtsTerrestrialDeliverySystemDescriptor" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor"/>
+    <keyword type="enum" name="enum GstMpegtsTerrestrialTransmissionMode" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialTransmissionMode"/>
+    <keyword type="enum" name="enum GstMpegtsTerrestrialGuardInterval" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialGuardInterval"/>
+    <keyword type="enum" name="enum GstMpegtsTerrestrialHierarchy" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialHierarchy"/>
+    <keyword type="struct" name="struct GstMpegtsT2DeliverySystemCellExtension" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCellExtension"/>
+    <keyword type="struct" name="struct GstMpegtsT2DeliverySystemCell" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCell"/>
+    <keyword type="struct" name="struct GstMpegtsT2DeliverySystemDescriptor" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor"/>
+    <keyword type="enum" name="enum GstMpegtsDVBServiceType" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceType"/>
+    <keyword type="enum" name="enum GstMpegtsDVBTeletextType" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBTeletextType"/>
+    <keyword type="enum" name="enum GstMpegtsDVBLinkageType" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageType"/>
+    <keyword type="enum" name="enum GstMpegtsDVBLinkageHandOverType" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageHandOverType"/>
+    <keyword type="struct" name="struct GstMpegtsDVBLinkageMobileHandOver" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageMobileHandOver"/>
+    <keyword type="struct" name="struct GstMpegtsDVBLinkageEvent" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageEvent"/>
+    <keyword type="struct" name="struct GstMpegtsDVBLinkageExtendedEvent" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageExtendedEvent"/>
+    <keyword type="struct" name="struct GstMpegtsDVBLinkageDescriptor" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor"/>
+    <keyword type="struct" name="struct GstMpegtsDataBroadcastDescriptor" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor"/>
+    <keyword type="enum" name="enum GstMpegtsDVBScramblingModeType" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBScramblingModeType"/>
+    <keyword type="struct" name="struct GstMpegtsDVBParentalRatingItem" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBParentalRatingItem"/>
+    <keyword type="struct" name="struct GstMpegtsDVBServiceListItem" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceListItem"/>
+    <keyword type="struct" name="struct GstMpegtsDvbMultilingualNetworkNameItem" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualNetworkNameItem"/>
+    <keyword type="struct" name="struct GstMpegtsDvbMultilingualBouquetNameItem" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualBouquetNameItem"/>
+    <keyword type="struct" name="struct GstMpegtsDvbMultilingualServiceNameItem" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualServiceNameItem"/>
+    <keyword type="struct" name="struct GstMpegtsDvbMultilingualComponentItem" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualComponentItem"/>
+    <keyword type="enum" name="enum GstMpegtsISDBDescriptorType" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GstMpegtsISDBDescriptorType"/>
     <keyword type="function" name="GstInsertBinCallback ()" link="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBinCallback"/>
-    <keyword type="function" name="gst_insert_bin_new ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-new"/>
-    <keyword type="function" name="gst_insert_bin_append ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-append"/>
-    <keyword type="function" name="gst_insert_bin_prepend ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-prepend"/>
-    <keyword type="function" name="gst_insert_bin_insert_after ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-insert-after"/>
-    <keyword type="function" name="gst_insert_bin_insert_before ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-insert-before"/>
-    <keyword type="function" name="gst_insert_bin_remove ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-remove"/>
+    <keyword type="function" name="gst_insert_bin_new ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-new" since="1.2"/>
+    <keyword type="function" name="gst_insert_bin_append ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-append" since="1.2"/>
+    <keyword type="function" name="gst_insert_bin_prepend ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-prepend" since="1.2"/>
+    <keyword type="function" name="gst_insert_bin_insert_after ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-insert-after" since="1.2"/>
+    <keyword type="function" name="gst_insert_bin_insert_before ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-insert-before" since="1.2"/>
+    <keyword type="function" name="gst_insert_bin_remove ()" link="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-remove" since="1.2"/>
     <keyword type="struct" name="struct GstInsertBin" link="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-struct"/>
     <keyword type="struct" name="struct GstInsertBinClass" link="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBinClass"/>
     <keyword type="signal" name="The “append” signal" link="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-append"/>
@@ -452,26 +453,26 @@
     <keyword type="macro" name="GST_GL_API_OPENGL_NAME" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-OPENGL-NAME:CAPS"/>
     <keyword type="function" name="GstGLAllocationParamsCopyFunc ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParamsCopyFunc"/>
     <keyword type="function" name="GstGLAllocationParamsFreeFunc ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParamsFreeFunc"/>
-    <keyword type="function" name="gst_gl_allocation_params_init ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-allocation-params-init"/>
-    <keyword type="function" name="gst_gl_allocation_params_copy ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-allocation-params-copy"/>
-    <keyword type="function" name="gst_gl_allocation_params_free ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-allocation-params-free"/>
-    <keyword type="function" name="gst_gl_allocation_params_free_data ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-allocation-params-free-data"/>
-    <keyword type="function" name="gst_gl_allocation_params_copy_data ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-allocation-params-copy-data"/>
-    <keyword type="function" name="gst_gl_base_memory_init_once ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-init-once"/>
-    <keyword type="function" name="gst_gl_base_memory_init ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-init"/>
-    <keyword type="function" name="gst_is_gl_base_memory ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-is-gl-base-memory"/>
-    <keyword type="function" name="GstGLBaseMemoryAllocatorAllocFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorAllocFunction"/>
-    <keyword type="function" name="GstGLBaseMemoryAllocatorCreateFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorCreateFunction"/>
-    <keyword type="function" name="GstGLBaseMemoryAllocatorMapFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorMapFunction"/>
-    <keyword type="function" name="GstGLBaseMemoryAllocatorUnmapFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorUnmapFunction"/>
-    <keyword type="function" name="GstGLBaseMemoryAllocatorCopyFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorCopyFunction"/>
-    <keyword type="function" name="GstGLBaseMemoryAllocatorDestroyFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorDestroyFunction"/>
-    <keyword type="function" name="gst_gl_base_memory_alloc ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-alloc"/>
+    <keyword type="function" name="gst_gl_allocation_params_init ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-allocation-params-init" since="1.8"/>
+    <keyword type="function" name="gst_gl_allocation_params_copy ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-allocation-params-copy" since="1.8"/>
+    <keyword type="function" name="gst_gl_allocation_params_free ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-allocation-params-free" since="1.8"/>
+    <keyword type="function" name="gst_gl_allocation_params_free_data ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-allocation-params-free-data" since="1.8"/>
+    <keyword type="function" name="gst_gl_allocation_params_copy_data ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-allocation-params-copy-data" since="1.8"/>
+    <keyword type="function" name="gst_gl_base_memory_init_once ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-init-once" since="1.8"/>
+    <keyword type="function" name="gst_gl_base_memory_init ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-init" since="1.8"/>
+    <keyword type="function" name="gst_is_gl_base_memory ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-is-gl-base-memory" since="1.8"/>
+    <keyword type="function" name="GstGLBaseMemoryAllocatorAllocFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorAllocFunction" since="1.8"/>
+    <keyword type="function" name="GstGLBaseMemoryAllocatorCreateFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorCreateFunction" since="1.8"/>
+    <keyword type="function" name="GstGLBaseMemoryAllocatorMapFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorMapFunction" since="1.8"/>
+    <keyword type="function" name="GstGLBaseMemoryAllocatorUnmapFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorUnmapFunction" since="1.8"/>
+    <keyword type="function" name="GstGLBaseMemoryAllocatorCopyFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorCopyFunction" since="1.8"/>
+    <keyword type="function" name="GstGLBaseMemoryAllocatorDestroyFunction ()" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorDestroyFunction" since="1.8"/>
+    <keyword type="function" name="gst_gl_base_memory_alloc ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-alloc" since="1.8"/>
     <keyword type="function" name="gst_gl_base_memory_alloc_data ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-alloc-data"/>
-    <keyword type="function" name="gst_gl_base_memory_memcpy ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-memcpy"/>
+    <keyword type="function" name="gst_gl_base_memory_memcpy ()" link="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-memcpy" since="1.8"/>
     <keyword type="struct" name="GstGLBaseMemoryAllocator" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocator-struct"/>
-    <keyword type="struct" name="GstGLBaseMemoryAllocatorClass" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass"/>
-    <keyword type="macro" name="GST_GL_BASE_MEMORY_ALLOCATOR_NAME" link="gst-plugins-bad-libs-gstglbasememory.html#GST-GL-BASE-MEMORY-ALLOCATOR-NAME:CAPS"/>
+    <keyword type="struct" name="GstGLBaseMemoryAllocatorClass" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass" since="1.8"/>
+    <keyword type="macro" name="GST_GL_BASE_MEMORY_ALLOCATOR_NAME" link="gst-plugins-bad-libs-gstglbasememory.html#GST-GL-BASE-MEMORY-ALLOCATOR-NAME:CAPS" since="1.8"/>
     <keyword type="macro" name="GST_MAP_GL" link="gst-plugins-bad-libs-gstglbasememory.html#GST-MAP-GL:CAPS"/>
     <keyword type="enum" name="enum GstGLBaseMemoryError" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryError"/>
     <keyword type="macro" name="GST_GL_BASE_MEMORY_ERROR" link="gst-plugins-bad-libs-gstglbasememory.html#GST-GL-BASE-MEMORY-ERROR:CAPS"/>
@@ -485,10 +486,10 @@
     <keyword type="struct" name="GstGLBaseFilter" link="GstGLBaseFilter.html#GstGLBaseFilter-struct"/>
     <keyword type="struct" name="GstGLBaseFilterClass" link="GstGLBaseFilter.html#GstGLBaseFilterClass"/>
     <keyword type="property" name="The “context” property" link="GstGLBaseFilter.html#GstGLBaseFilter--context"/>
-    <keyword type="function" name="gst_gl_buffer_init_once ()" link="gst-plugins-bad-libs-GstGLBuffer.html#gst-gl-buffer-init-once"/>
-    <keyword type="function" name="gst_is_gl_buffer ()" link="gst-plugins-bad-libs-GstGLBuffer.html#gst-is-gl-buffer"/>
+    <keyword type="function" name="gst_gl_buffer_init_once ()" link="gst-plugins-bad-libs-GstGLBuffer.html#gst-gl-buffer-init-once" since="1.8"/>
+    <keyword type="function" name="gst_is_gl_buffer ()" link="gst-plugins-bad-libs-GstGLBuffer.html#gst-is-gl-buffer" since="1.8"/>
     <keyword type="function" name="gst_gl_buffer_alloc ()" link="gst-plugins-bad-libs-GstGLBuffer.html#gst-gl-buffer-alloc"/>
-    <keyword type="function" name="gst_gl_buffer_allocation_params_new ()" link="gst-plugins-bad-libs-GstGLBuffer.html#gst-gl-buffer-allocation-params-new"/>
+    <keyword type="function" name="gst_gl_buffer_allocation_params_new ()" link="gst-plugins-bad-libs-GstGLBuffer.html#gst-gl-buffer-allocation-params-new" since="1.8"/>
     <keyword type="struct" name="GstGLBuffer" link="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBuffer"/>
     <keyword type="struct" name="struct GstGLBufferAllocationParams" link="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBufferAllocationParams"/>
     <keyword type="macro" name="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_BUFFER" link="gst-plugins-bad-libs-GstGLBuffer.html#GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-BUFFER:CAPS"/>
@@ -513,32 +514,32 @@
     <keyword type="struct" name="GstGLColorConvertClass" link="GstGLColorConvert.html#GstGLColorConvertClass"/>
     <keyword type="function" name="gst_gl_context_error_quark ()" link="GstGLContext.html#gst-gl-context-error-quark"/>
     <keyword type="function" name="GstGLContextThreadFunc ()" link="GstGLContext.html#GstGLContextThreadFunc"/>
-    <keyword type="function" name="gst_gl_context_new ()" link="GstGLContext.html#gst-gl-context-new"/>
-    <keyword type="function" name="gst_gl_context_new_wrapped ()" link="GstGLContext.html#gst-gl-context-new-wrapped"/>
-    <keyword type="function" name="gst_gl_context_create ()" link="GstGLContext.html#gst-gl-context-create"/>
-    <keyword type="function" name="gst_gl_context_destroy ()" link="GstGLContext.html#gst-gl-context-destroy"/>
-    <keyword type="function" name="gst_gl_context_activate ()" link="GstGLContext.html#gst-gl-context-activate"/>
+    <keyword type="function" name="gst_gl_context_new ()" link="GstGLContext.html#gst-gl-context-new" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_new_wrapped ()" link="GstGLContext.html#gst-gl-context-new-wrapped" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_create ()" link="GstGLContext.html#gst-gl-context-create" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_destroy ()" link="GstGLContext.html#gst-gl-context-destroy" since="1.6"/>
+    <keyword type="function" name="gst_gl_context_activate ()" link="GstGLContext.html#gst-gl-context-activate" since="1.4"/>
     <keyword type="function" name="gst_gl_context_default_get_proc_address ()" link="GstGLContext.html#gst-gl-context-default-get-proc-address"/>
-    <keyword type="function" name="gst_gl_context_get_proc_address ()" link="GstGLContext.html#gst-gl-context-get-proc-address"/>
+    <keyword type="function" name="gst_gl_context_get_proc_address ()" link="GstGLContext.html#gst-gl-context-get-proc-address" since="1.4"/>
     <keyword type="function" name="gst_gl_context_get_proc_address_with_platform ()" link="GstGLContext.html#gst-gl-context-get-proc-address-with-platform"/>
-    <keyword type="function" name="gst_gl_context_get_window ()" link="GstGLContext.html#gst-gl-context-get-window"/>
-    <keyword type="function" name="gst_gl_context_set_window ()" link="GstGLContext.html#gst-gl-context-set-window"/>
-    <keyword type="function" name="gst_gl_context_thread_add ()" link="GstGLContext.html#gst-gl-context-thread-add"/>
-    <keyword type="function" name="gst_gl_context_get_display ()" link="GstGLContext.html#gst-gl-context-get-display"/>
-    <keyword type="function" name="gst_gl_context_get_gl_api ()" link="GstGLContext.html#gst-gl-context-get-gl-api"/>
-    <keyword type="function" name="gst_gl_context_get_gl_context ()" link="GstGLContext.html#gst-gl-context-get-gl-context"/>
-    <keyword type="function" name="gst_gl_context_get_gl_platform ()" link="GstGLContext.html#gst-gl-context-get-gl-platform"/>
-    <keyword type="function" name="gst_gl_context_get_current_gl_context ()" link="GstGLContext.html#gst-gl-context-get-current-gl-context"/>
-    <keyword type="function" name="gst_gl_context_get_current_gl_api ()" link="GstGLContext.html#gst-gl-context-get-current-gl-api"/>
-    <keyword type="function" name="gst_gl_context_get_thread ()" link="GstGLContext.html#gst-gl-context-get-thread"/>
-    <keyword type="function" name="gst_gl_context_can_share ()" link="GstGLContext.html#gst-gl-context-can-share"/>
-    <keyword type="function" name="gst_gl_context_is_shared ()" link="GstGLContext.html#gst-gl-context-is-shared"/>
-    <keyword type="function" name="gst_gl_context_set_shared_with ()" link="GstGLContext.html#gst-gl-context-set-shared-with"/>
-    <keyword type="function" name="gst_gl_context_check_feature ()" link="GstGLContext.html#gst-gl-context-check-feature"/>
-    <keyword type="function" name="gst_gl_context_check_gl_version ()" link="GstGLContext.html#gst-gl-context-check-gl-version"/>
-    <keyword type="function" name="gst_gl_context_get_gl_version ()" link="GstGLContext.html#gst-gl-context-get-gl-version"/>
-    <keyword type="function" name="gst_gl_context_fill_info ()" link="GstGLContext.html#gst-gl-context-fill-info"/>
-    <keyword type="function" name="gst_gl_context_get_current ()" link="GstGLContext.html#gst-gl-context-get-current"/>
+    <keyword type="function" name="gst_gl_context_get_window ()" link="GstGLContext.html#gst-gl-context-get-window" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_set_window ()" link="GstGLContext.html#gst-gl-context-set-window" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_thread_add ()" link="GstGLContext.html#gst-gl-context-thread-add" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_get_display ()" link="GstGLContext.html#gst-gl-context-get-display" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_get_gl_api ()" link="GstGLContext.html#gst-gl-context-get-gl-api" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_get_gl_context ()" link="GstGLContext.html#gst-gl-context-get-gl-context" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_get_gl_platform ()" link="GstGLContext.html#gst-gl-context-get-gl-platform" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_get_current_gl_context ()" link="GstGLContext.html#gst-gl-context-get-current-gl-context" since="1.6"/>
+    <keyword type="function" name="gst_gl_context_get_current_gl_api ()" link="GstGLContext.html#gst-gl-context-get-current-gl-api" since="1.6"/>
+    <keyword type="function" name="gst_gl_context_get_thread ()" link="GstGLContext.html#gst-gl-context-get-thread" since="1.6"/>
+    <keyword type="function" name="gst_gl_context_can_share ()" link="GstGLContext.html#gst-gl-context-can-share" since="1.6"/>
+    <keyword type="function" name="gst_gl_context_is_shared ()" link="GstGLContext.html#gst-gl-context-is-shared" since="1.8"/>
+    <keyword type="function" name="gst_gl_context_set_shared_with ()" link="GstGLContext.html#gst-gl-context-set-shared-with" since="1.8"/>
+    <keyword type="function" name="gst_gl_context_check_feature ()" link="GstGLContext.html#gst-gl-context-check-feature" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_check_gl_version ()" link="GstGLContext.html#gst-gl-context-check-gl-version" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_get_gl_version ()" link="GstGLContext.html#gst-gl-context-get-gl-version" since="1.4"/>
+    <keyword type="function" name="gst_gl_context_fill_info ()" link="GstGLContext.html#gst-gl-context-fill-info" since="1.6"/>
+    <keyword type="function" name="gst_gl_context_get_current ()" link="GstGLContext.html#gst-gl-context-get-current" since="1.6"/>
     <keyword type="macro" name="GST_GL_CONTEXT_ERROR" link="GstGLContext.html#GST-GL-CONTEXT-ERROR:CAPS"/>
     <keyword type="enum" name="enum GstGLContextError" link="GstGLContext.html#GstGLContextError"/>
     <keyword type="struct" name="GstGLContext" link="GstGLContext.html#GstGLContext-struct"/>
@@ -561,53 +562,49 @@
     <keyword type="function" name="gst_gl_context_wgl_get_current_context ()" link="gst-plugins-bad-libs-GstGLContextWGL.html#gst-gl-context-wgl-get-current-context"/>
     <keyword type="function" name="gst_gl_context_wgl_get_proc_address ()" link="gst-plugins-bad-libs-GstGLContextWGL.html#gst-gl-context-wgl-get-proc-address"/>
     <keyword type="struct" name="struct GstGLContextWGL" link="gst-plugins-bad-libs-GstGLContextWGL.html#GstGLContextWGL"/>
-    <keyword type="function" name="gst_gl_display_new ()" link="GstGLDisplay.html#gst-gl-display-new"/>
-    <keyword type="function" name="gst_gl_display_get_handle_type ()" link="GstGLDisplay.html#gst-gl-display-get-handle-type"/>
+    <keyword type="function" name="gst_gl_display_new ()" link="GstGLDisplay.html#gst-gl-display-new" since="1.4"/>
+    <keyword type="function" name="gst_gl_display_get_handle_type ()" link="GstGLDisplay.html#gst-gl-display-get-handle-type" since="1.4"/>
     <keyword type="function" name="gst_gl_display_filter_gl_api ()" link="GstGLDisplay.html#gst-gl-display-filter-gl-api"/>
     <keyword type="function" name="gst_gl_display_get_gl_api ()" link="GstGLDisplay.html#gst-gl-display-get-gl-api"/>
-    <keyword type="function" name="gst_gl_display_add_context ()" link="GstGLDisplay.html#gst-gl-display-add-context"/>
-    <keyword type="function" name="gst_gl_display_get_gl_context_for_thread ()" link="GstGLDisplay.html#gst-gl-display-get-gl-context-for-thread"/>
+    <keyword type="function" name="gst_gl_display_add_context ()" link="GstGLDisplay.html#gst-gl-display-add-context" since="1.6"/>
+    <keyword type="function" name="gst_gl_display_get_gl_context_for_thread ()" link="GstGLDisplay.html#gst-gl-display-get-gl-context-for-thread" since="1.6"/>
     <keyword type="function" name="gst_gl_display_get_handle ()" link="GstGLDisplay.html#gst-gl-display-get-handle"/>
-    <keyword type="function" name="gst_gl_display_create_context ()" link="GstGLDisplay.html#gst-gl-display-create-context"/>
-    <keyword type="function" name="gst_context_get_gl_display ()" link="GstGLDisplay.html#gst-context-get-gl-display"/>
-    <keyword type="function" name="gst_context_set_gl_display ()" link="GstGLDisplay.html#gst-context-set-gl-display"/>
+    <keyword type="function" name="gst_gl_display_create_context ()" link="GstGLDisplay.html#gst-gl-display-create-context" since="1.6"/>
+    <keyword type="function" name="gst_context_get_gl_display ()" link="GstGLDisplay.html#gst-context-get-gl-display" since="1.4"/>
+    <keyword type="function" name="gst_context_set_gl_display ()" link="GstGLDisplay.html#gst-context-set-gl-display" since="1.4"/>
     <keyword type="macro" name="GST_GL_DISPLAY_CONTEXT_TYPE" link="GstGLDisplay.html#GST-GL-DISPLAY-CONTEXT-TYPE:CAPS"/>
     <keyword type="enum" name="enum GstGLDisplayType" link="GstGLDisplay.html#GstGLDisplayType"/>
     <keyword type="struct" name="GstGLDisplay" link="GstGLDisplay.html#GstGLDisplay-struct"/>
     <keyword type="signal" name="The “create-context” signal" link="GstGLDisplay.html#GstGLDisplay-create-context"/>
-    <keyword type="function" name="gst_gl_filter_draw_texture ()" link="GstGLFilter.html#gst-gl-filter-draw-texture"/>
     <keyword type="function" name="gst_gl_filter_render_to_target ()" link="GstGLFilter.html#gst-gl-filter-render-to-target"/>
     <keyword type="function" name="gst_gl_filter_render_to_target_with_shader ()" link="GstGLFilter.html#gst-gl-filter-render-to-target-with-shader"/>
     <keyword type="function" name="gst_gl_filter_filter_texture ()" link="GstGLFilter.html#gst-gl-filter-filter-texture"/>
     <keyword type="struct" name="GstGLFilter" link="GstGLFilter.html#GstGLFilter-struct"/>
     <keyword type="struct" name="GstGLFilterClass" link="GstGLFilter.html#GstGLFilterClass"/>
     <keyword type="function" name="gst_gl_framebuffer_new ()" link="GstGLFramebuffer.html#gst-gl-framebuffer-new"/>
-    <keyword type="function" name="gst_gl_framebuffer_generate ()" link="GstGLFramebuffer.html#gst-gl-framebuffer-generate"/>
-    <keyword type="function" name="gst_gl_framebuffer_delete ()" link="GstGLFramebuffer.html#gst-gl-framebuffer-delete"/>
-    <keyword type="function" name="gst_gl_framebuffer_use_v2 ()" link="GstGLFramebuffer.html#gst-gl-framebuffer-use-v2"/>
-    <keyword type="struct" name="struct GstGLFramebuffer" link="GstGLFramebuffer.html#GstGLFramebuffer-struct"/>
+    <keyword type="struct" name="GstGLFramebuffer" link="GstGLFramebuffer.html#GstGLFramebuffer-struct"/>
     <keyword type="struct" name="struct GstGLFramebufferClass" link="GstGLFramebuffer.html#GstGLFramebufferClass"/>
-    <keyword type="function" name="gst_gl_video_allocation_params_copy_data ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-copy-data"/>
-    <keyword type="function" name="gst_gl_video_allocation_params_free_data ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-free-data"/>
-    <keyword type="function" name="gst_gl_video_allocation_params_init_full ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-init-full"/>
-    <keyword type="function" name="gst_gl_video_allocation_params_new ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new"/>
-    <keyword type="function" name="gst_gl_video_allocation_params_new_wrapped_data ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-data"/>
-    <keyword type="function" name="gst_gl_video_allocation_params_new_wrapped_gl_handle ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-gl-handle"/>
-    <keyword type="function" name="gst_gl_video_allocation_params_new_wrapped_texture ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-texture"/>
-    <keyword type="function" name="gst_gl_memory_allocator_get_default ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-allocator-get-default"/>
-    <keyword type="function" name="gst_gl_memory_init_once ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-init-once"/>
-    <keyword type="function" name="gst_gl_memory_init ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-init"/>
-    <keyword type="function" name="gst_is_gl_memory ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-is-gl-memory"/>
-    <keyword type="function" name="gst_gl_memory_copy_into ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-copy-into"/>
+    <keyword type="function" name="gst_gl_video_allocation_params_copy_data ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-copy-data" since="1.8"/>
+    <keyword type="function" name="gst_gl_video_allocation_params_free_data ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-free-data" since="1.8"/>
+    <keyword type="function" name="gst_gl_video_allocation_params_init_full ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-init-full" since="1.8"/>
+    <keyword type="function" name="gst_gl_video_allocation_params_new ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new" since="1.8"/>
+    <keyword type="function" name="gst_gl_video_allocation_params_new_wrapped_data ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-data" since="1.8"/>
+    <keyword type="function" name="gst_gl_video_allocation_params_new_wrapped_gl_handle ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-gl-handle" since="1.8"/>
+    <keyword type="function" name="gst_gl_video_allocation_params_new_wrapped_texture ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-video-allocation-params-new-wrapped-texture" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_allocator_get_default ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-allocator-get-default" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_init_once ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-init-once" since="1.4"/>
+    <keyword type="function" name="gst_gl_memory_init ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-init" since="1.8"/>
+    <keyword type="function" name="gst_is_gl_memory ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-is-gl-memory" since="1.4"/>
+    <keyword type="function" name="gst_gl_memory_copy_into ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-copy-into" since="1.8"/>
     <keyword type="function" name="gst_gl_memory_copy_teximage ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-copy-teximage"/>
-    <keyword type="function" name="gst_gl_memory_read_pixels ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-read-pixels"/>
-    <keyword type="function" name="gst_gl_memory_texsubimage ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-texsubimage"/>
-    <keyword type="function" name="gst_gl_memory_get_texture_height ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-get-texture-height"/>
-    <keyword type="function" name="gst_gl_memory_get_texture_id ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-get-texture-id"/>
-    <keyword type="function" name="gst_gl_memory_get_texture_target ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-get-texture-target"/>
-    <keyword type="function" name="gst_gl_memory_get_texture_type ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-get-texture-type"/>
-    <keyword type="function" name="gst_gl_memory_get_texture_width ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-get-texture-width"/>
-    <keyword type="function" name="gst_gl_memory_setup_buffer ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-setup-buffer"/>
+    <keyword type="function" name="gst_gl_memory_read_pixels ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-read-pixels" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_texsubimage ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-texsubimage" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_get_texture_height ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-get-texture-height" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_get_texture_id ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-get-texture-id" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_get_texture_target ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-get-texture-target" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_get_texture_type ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-get-texture-type" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_get_texture_width ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-get-texture-width" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_setup_buffer ()" link="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-setup-buffer" since="1.8"/>
     <keyword type="macro" name="GST_GL_MEMORY_VIDEO_FORMATS_STR" link="gst-plugins-bad-libs-GstGLMemory.html#GST-GL-MEMORY-VIDEO-FORMATS-STR:CAPS"/>
     <keyword type="struct" name="struct GstGLVideoAllocationParams" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams"/>
     <keyword type="macro" name="GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO" link="gst-plugins-bad-libs-GstGLMemory.html#GST-GL-ALLOCATION-PARAMS-ALLOC-FLAG-VIDEO:CAPS"/>
@@ -615,9 +612,9 @@
     <keyword type="struct" name="GstGLMemoryAllocatorClass" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemoryAllocatorClass"/>
     <keyword type="struct" name="GstGLMemory" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory"/>
     <keyword type="macro" name="GST_GL_MEMORY_ALLOCATOR_NAME" link="gst-plugins-bad-libs-GstGLMemory.html#GST-GL-MEMORY-ALLOCATOR-NAME:CAPS"/>
-    <keyword type="function" name="gst_is_gl_memory_pbo ()" link="gst-plugins-bad-libs-gstglmemorypbo.html#gst-is-gl-memory-pbo"/>
-    <keyword type="function" name="gst_gl_memory_pbo_copy_into_texture ()" link="gst-plugins-bad-libs-gstglmemorypbo.html#gst-gl-memory-pbo-copy-into-texture"/>
-    <keyword type="function" name="gst_gl_memory_pbo_download_transfer ()" link="gst-plugins-bad-libs-gstglmemorypbo.html#gst-gl-memory-pbo-download-transfer"/>
+    <keyword type="function" name="gst_is_gl_memory_pbo ()" link="gst-plugins-bad-libs-gstglmemorypbo.html#gst-is-gl-memory-pbo" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_pbo_copy_into_texture ()" link="gst-plugins-bad-libs-gstglmemorypbo.html#gst-gl-memory-pbo-copy-into-texture" since="1.8"/>
+    <keyword type="function" name="gst_gl_memory_pbo_download_transfer ()" link="gst-plugins-bad-libs-gstglmemorypbo.html#gst-gl-memory-pbo-download-transfer" since="1.8"/>
     <keyword type="function" name="gst_gl_memory_pbo_init_once ()" link="gst-plugins-bad-libs-gstglmemorypbo.html#gst-gl-memory-pbo-init-once"/>
     <keyword type="function" name="gst_gl_memory_pbo_upload_transfer ()" link="gst-plugins-bad-libs-gstglmemorypbo.html#gst-gl-memory-pbo-upload-transfer"/>
     <keyword type="struct" name="GstGLMemoryPBOAllocator" link="gst-plugins-bad-libs-gstglmemorypbo.html#GstGLMemoryPBOAllocator-struct"/>
@@ -625,20 +622,20 @@
     <keyword type="macro" name="GST_GL_MEMORY_PBO_ALLOCATOR_NAME" link="gst-plugins-bad-libs-gstglmemorypbo.html#GST-GL-MEMORY-PBO-ALLOCATOR-NAME:CAPS"/>
     <keyword type="struct" name="GstGLMemoryPBO" link="gst-plugins-bad-libs-gstglmemorypbo.html#GstGLMemoryPBO"/>
     <keyword type="function" name="gst_gl_shader_new ()" link="GstGLShader.html#gst-gl-shader-new"/>
-    <keyword type="function" name="gst_gl_shader_new_default ()" link="GstGLShader.html#gst-gl-shader-new-default"/>
-    <keyword type="function" name="gst_gl_shader_new_link_with_stages ()" link="GstGLShader.html#gst-gl-shader-new-link-with-stages"/>
-    <keyword type="function" name="gst_gl_shader_new_with_stages ()" link="GstGLShader.html#gst-gl-shader-new-with-stages"/>
+    <keyword type="function" name="gst_gl_shader_new_default ()" link="GstGLShader.html#gst-gl-shader-new-default" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_new_link_with_stages ()" link="GstGLShader.html#gst-gl-shader-new-link-with-stages" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_new_with_stages ()" link="GstGLShader.html#gst-gl-shader-new-with-stages" since="1.8"/>
     <keyword type="function" name="gst_gl_shader_use ()" link="GstGLShader.html#gst-gl-shader-use"/>
-    <keyword type="function" name="gst_gl_shader_get_program_handle ()" link="GstGLShader.html#gst-gl-shader-get-program-handle"/>
-    <keyword type="function" name="gst_gl_shader_release ()" link="GstGLShader.html#gst-gl-shader-release"/>
-    <keyword type="function" name="gst_gl_shader_release_unlocked ()" link="GstGLShader.html#gst-gl-shader-release-unlocked"/>
-    <keyword type="function" name="gst_gl_shader_attach ()" link="GstGLShader.html#gst-gl-shader-attach"/>
-    <keyword type="function" name="gst_gl_shader_attach_unlocked ()" link="GstGLShader.html#gst-gl-shader-attach-unlocked"/>
-    <keyword type="function" name="gst_gl_shader_compile_attach_stage ()" link="GstGLShader.html#gst-gl-shader-compile-attach-stage"/>
-    <keyword type="function" name="gst_gl_shader_detach ()" link="GstGLShader.html#gst-gl-shader-detach"/>
-    <keyword type="function" name="gst_gl_shader_detach_unlocked ()" link="GstGLShader.html#gst-gl-shader-detach-unlocked"/>
-    <keyword type="function" name="gst_gl_shader_is_linked ()" link="GstGLShader.html#gst-gl-shader-is-linked"/>
-    <keyword type="function" name="gst_gl_shader_link ()" link="GstGLShader.html#gst-gl-shader-link"/>
+    <keyword type="function" name="gst_gl_shader_get_program_handle ()" link="GstGLShader.html#gst-gl-shader-get-program-handle" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_release ()" link="GstGLShader.html#gst-gl-shader-release" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_release_unlocked ()" link="GstGLShader.html#gst-gl-shader-release-unlocked" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_attach ()" link="GstGLShader.html#gst-gl-shader-attach" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_attach_unlocked ()" link="GstGLShader.html#gst-gl-shader-attach-unlocked" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_compile_attach_stage ()" link="GstGLShader.html#gst-gl-shader-compile-attach-stage" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_detach ()" link="GstGLShader.html#gst-gl-shader-detach" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_detach_unlocked ()" link="GstGLShader.html#gst-gl-shader-detach-unlocked" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_is_linked ()" link="GstGLShader.html#gst-gl-shader-is-linked" since="1.8"/>
+    <keyword type="function" name="gst_gl_shader_link ()" link="GstGLShader.html#gst-gl-shader-link" since="1.8"/>
     <keyword type="function" name="gst_gl_shader_set_uniform_1i ()" link="GstGLShader.html#gst-gl-shader-set-uniform-1i"/>
     <keyword type="function" name="gst_gl_shader_set_uniform_1f ()" link="GstGLShader.html#gst-gl-shader-set-uniform-1f"/>
     <keyword type="function" name="gst_gl_shader_set_uniform_1fv ()" link="GstGLShader.html#gst-gl-shader-set-uniform-1fv"/>
@@ -705,23 +702,23 @@
     <keyword type="macro" name="GST_GL_WINDOW_RESIZE_CB()" link="GstGLWindow.html#GST-GL-WINDOW-RESIZE-CB:CAPS"/>
     <keyword type="function" name="GstGLWindowCB ()" link="GstGLWindow.html#GstGLWindowCB"/>
     <keyword type="macro" name="GST_GL_WINDOW_CB()" link="GstGLWindow.html#GST-GL-WINDOW-CB:CAPS"/>
-    <keyword type="function" name="gst_gl_window_new ()" link="GstGLWindow.html#gst-gl-window-new"/>
-    <keyword type="function" name="gst_gl_window_draw ()" link="GstGLWindow.html#gst-gl-window-draw"/>
-    <keyword type="function" name="gst_gl_window_is_running ()" link="GstGLWindow.html#gst-gl-window-is-running"/>
-    <keyword type="function" name="gst_gl_window_quit ()" link="GstGLWindow.html#gst-gl-window-quit"/>
-    <keyword type="function" name="gst_gl_window_run ()" link="GstGLWindow.html#gst-gl-window-run"/>
-    <keyword type="function" name="gst_gl_window_get_context ()" link="GstGLWindow.html#gst-gl-window-get-context"/>
-    <keyword type="function" name="gst_gl_window_get_display ()" link="GstGLWindow.html#gst-gl-window-get-display"/>
-    <keyword type="function" name="gst_gl_window_send_message ()" link="GstGLWindow.html#gst-gl-window-send-message"/>
-    <keyword type="function" name="gst_gl_window_send_message_async ()" link="GstGLWindow.html#gst-gl-window-send-message-async"/>
-    <keyword type="function" name="gst_gl_window_set_close_callback ()" link="GstGLWindow.html#gst-gl-window-set-close-callback"/>
-    <keyword type="function" name="gst_gl_window_set_draw_callback ()" link="GstGLWindow.html#gst-gl-window-set-draw-callback"/>
-    <keyword type="function" name="gst_gl_window_set_resize_callback ()" link="GstGLWindow.html#gst-gl-window-set-resize-callback"/>
-    <keyword type="function" name="gst_gl_window_set_window_handle ()" link="GstGLWindow.html#gst-gl-window-set-window-handle"/>
-    <keyword type="function" name="gst_gl_window_get_window_handle ()" link="GstGLWindow.html#gst-gl-window-get-window-handle"/>
-    <keyword type="function" name="gst_gl_window_set_preferred_size ()" link="GstGLWindow.html#gst-gl-window-set-preferred-size"/>
-    <keyword type="function" name="gst_gl_window_show ()" link="GstGLWindow.html#gst-gl-window-show"/>
-    <keyword type="function" name="gst_gl_window_get_surface_dimensions ()" link="GstGLWindow.html#gst-gl-window-get-surface-dimensions"/>
+    <keyword type="function" name="gst_gl_window_new ()" link="GstGLWindow.html#gst-gl-window-new" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_draw ()" link="GstGLWindow.html#gst-gl-window-draw" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_is_running ()" link="GstGLWindow.html#gst-gl-window-is-running" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_quit ()" link="GstGLWindow.html#gst-gl-window-quit" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_run ()" link="GstGLWindow.html#gst-gl-window-run" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_get_context ()" link="GstGLWindow.html#gst-gl-window-get-context" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_get_display ()" link="GstGLWindow.html#gst-gl-window-get-display" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_send_message ()" link="GstGLWindow.html#gst-gl-window-send-message" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_send_message_async ()" link="GstGLWindow.html#gst-gl-window-send-message-async" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_set_close_callback ()" link="GstGLWindow.html#gst-gl-window-set-close-callback" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_set_draw_callback ()" link="GstGLWindow.html#gst-gl-window-set-draw-callback" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_set_resize_callback ()" link="GstGLWindow.html#gst-gl-window-set-resize-callback" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_set_window_handle ()" link="GstGLWindow.html#gst-gl-window-set-window-handle" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_get_window_handle ()" link="GstGLWindow.html#gst-gl-window-get-window-handle" since="1.4"/>
+    <keyword type="function" name="gst_gl_window_set_preferred_size ()" link="GstGLWindow.html#gst-gl-window-set-preferred-size" since="1.6"/>
+    <keyword type="function" name="gst_gl_window_show ()" link="GstGLWindow.html#gst-gl-window-show" since="1.6"/>
+    <keyword type="function" name="gst_gl_window_get_surface_dimensions ()" link="GstGLWindow.html#gst-gl-window-get-surface-dimensions" since="1.6"/>
     <keyword type="function" name="gst_gl_window_handle_events ()" link="GstGLWindow.html#gst-gl-window-handle-events"/>
     <keyword type="enum" name="enum GstGLWindowError" link="GstGLWindow.html#GstGLWindowError"/>
     <keyword type="macro" name="GST_GL_WINDOW_ERROR" link="GstGLWindow.html#GST-GL-WINDOW-ERROR:CAPS"/>
@@ -752,33 +749,25 @@
     <keyword type="function" name="gst_gl_window_x11_untrap_x_errors ()" link="gst-plugins-bad-libs-GstGLWindowX11.html#gst-gl-window-x11-untrap-x-errors"/>
     <keyword type="struct" name="struct GstGLWindowX11" link="gst-plugins-bad-libs-GstGLWindowX11.html#GstGLWindowX11"/>
     <keyword type="struct" name="struct GstGLWindowX11Class" link="gst-plugins-bad-libs-GstGLWindowX11.html#GstGLWindowX11Class"/>
-    <keyword type="function" name="GstGLAsyncDebugLogGetMessage ()" link="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebugLogGetMessage"/>
-    <keyword type="function" name="gst_gl_async_debug_new ()" link="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-new"/>
-    <keyword type="function" name="gst_gl_async_debug_free ()" link="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-free"/>
-    <keyword type="function" name="gst_gl_async_debug_init ()" link="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-init"/>
-    <keyword type="function" name="gst_gl_async_debug_unset ()" link="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-unset"/>
-    <keyword type="function" name="gst_gl_async_debug_freeze ()" link="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-freeze"/>
-    <keyword type="function" name="gst_gl_async_debug_thaw ()" link="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-thaw"/>
-    <keyword type="function" name="gst_gl_async_debug_output_log_msg ()" link="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-output-log-msg"/>
-    <keyword type="function" name="gst_gl_async_debug_store_log_msg ()" link="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-store-log-msg"/>
-    <keyword type="function" name="gst_gl_async_debug_store_log_msg_valist ()" link="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-store-log-msg-valist"/>
-    <keyword type="macro" name="GST_GL_ASYNC_CAT_LEVEL_LOG_valist()" link="gst-plugins-bad-libs-gstgldebug.html#GST-GL-ASYNC-CAT-LEVEL-LOG-valist"/>
-    <keyword type="macro" name="GST_GL_ASYNC_CAT_LEVEL_LOG()" link="gst-plugins-bad-libs-gstgldebug.html#GST-GL-ASYNC-CAT-LEVEL-LOG:CAPS"/>
-    <keyword type="function" name="gst_gl_insert_debug_marker ()" link="gst-plugins-bad-libs-gstgldebug.html#gst-gl-insert-debug-marker"/>
-    <keyword type="struct" name="struct GstGLAsyncDebug" link="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug"/>
-    <keyword type="function" name="GLCB ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GLCB:CAPS"/>
-    <keyword type="function" name="GLCB_V2 ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GLCB-V2:CAPS"/>
-    <keyword type="function" name="CDCB ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#CDCB:CAPS"/>
+    <keyword type="function" name="GstGLAsyncDebugLogGetMessage ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebugLogGetMessage"/>
+    <keyword type="function" name="gst_gl_async_debug_new ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-new" since="1.8"/>
+    <keyword type="function" name="gst_gl_async_debug_free ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-free" since="1.8"/>
+    <keyword type="function" name="gst_gl_async_debug_init ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-init" since="1.8"/>
+    <keyword type="function" name="gst_gl_async_debug_unset ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-unset"/>
+    <keyword type="function" name="gst_gl_async_debug_freeze ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-freeze" since="1.8"/>
+    <keyword type="function" name="gst_gl_async_debug_thaw ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-thaw" since="1.8"/>
+    <keyword type="function" name="gst_gl_async_debug_output_log_msg ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-output-log-msg"/>
+    <keyword type="function" name="gst_gl_async_debug_store_log_msg ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-store-log-msg" since="1.8"/>
+    <keyword type="function" name="gst_gl_async_debug_store_log_msg_valist ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-store-log-msg-valist" since="1.8"/>
+    <keyword type="macro" name="GST_GL_ASYNC_CAT_LEVEL_LOG_valist()" link="gst-plugins-bad-libs-OpenGL-debugging.html#GST-GL-ASYNC-CAT-LEVEL-LOG-valist"/>
+    <keyword type="macro" name="GST_GL_ASYNC_CAT_LEVEL_LOG()" link="gst-plugins-bad-libs-OpenGL-debugging.html#GST-GL-ASYNC-CAT-LEVEL-LOG:CAPS"/>
+    <keyword type="function" name="gst_gl_insert_debug_marker ()" link="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-insert-debug-marker" since="1.8"/>
+    <keyword type="struct" name="struct GstGLAsyncDebug" link="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug"/>
     <keyword type="function" name="gst_gl_handle_set_context ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-handle-set-context"/>
     <keyword type="function" name="gst_gl_handle_context_query ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-handle-context-query"/>
-    <keyword type="function" name="gst_gl_context_gen_fbo ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-gen-fbo"/>
-    <keyword type="function" name="gst_gl_context_del_fbo ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-del-fbo"/>
-    <keyword type="function" name="gst_gl_context_use_fbo_v2 ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-use-fbo-v2"/>
     <keyword type="function" name="gst_gl_context_gen_shader ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-gen-shader"/>
     <keyword type="function" name="gst_gl_context_del_shader ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-del-shader"/>
     <keyword type="function" name="gst_gl_context_check_framebuffer_status ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-check-framebuffer-status"/>
-    <keyword type="function" name="gst_gl_context_set_error ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-set-error"/>
-    <keyword type="function" name="gst_gl_context_get_error ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-get-error"/>
     <keyword type="function" name="gst_gl_context_clear_shader ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-clear-shader"/>
     <keyword type="function" name="gst_gl_caps_replace_all_caps_features ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-caps-replace-all-caps-features"/>
     <keyword type="function" name="gst_gl_ensure_element_data ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-ensure-element-data"/>
@@ -788,7 +777,6 @@
     <keyword type="function" name="gst_gl_value_get_texture_target_mask ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-value-get-texture-target-mask"/>
     <keyword type="function" name="gst_gl_value_set_texture_target ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-value-set-texture-target"/>
     <keyword type="function" name="gst_gl_value_set_texture_target_from_mask ()" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-value-set-texture-target-from-mask"/>
-    <keyword type="enum" name="enum GstGLDisplayProjection" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GstGLDisplayProjection"/>
     <keyword type="function" name="gst_gl_format_type_n_bytes ()" link="gst-plugins-bad-libs-OpenGL-Formats.html#gst-gl-format-type-n-bytes"/>
     <keyword type="function" name="gst_gl_texture_type_n_bytes ()" link="gst-plugins-bad-libs-OpenGL-Formats.html#gst-gl-texture-type-n-bytes"/>
     <keyword type="function" name="gst_gl_format_from_gl_texture_type ()" link="gst-plugins-bad-libs-OpenGL-Formats.html#gst-gl-format-from-gl-texture-type"/>
@@ -799,7 +787,7 @@
     <keyword type="function" name="gst_gl_texture_target_to_gl ()" link="gst-plugins-bad-libs-OpenGL-Formats.html#gst-gl-texture-target-to-gl"/>
     <keyword type="function" name="gst_gl_texture_target_from_gl ()" link="gst-plugins-bad-libs-OpenGL-Formats.html#gst-gl-texture-target-from-gl"/>
     <keyword type="function" name="gst_gl_texture_target_to_buffer_pool_option ()" link="gst-plugins-bad-libs-OpenGL-Formats.html#gst-gl-texture-target-to-buffer-pool-option"/>
-    <keyword type="enum" name="enum GstGLTextureTarget" link="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget"/>
+    <keyword type="enum" name="enum GstGLTextureTarget" link="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" since="1.8"/>
     <keyword type="macro" name="GST_GL_TEXTURE_TARGET_2D_STR" link="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-2D-STR:CAPS"/>
     <keyword type="macro" name="GST_GL_TEXTURE_TARGET_RECTANGLE_STR" link="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-RECTANGLE-STR:CAPS"/>
     <keyword type="macro" name="GST_GL_TEXTURE_TARGET_EXTERNAL_OES_STR" link="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-EXTERNAL-OES-STR:CAPS"/>
@@ -820,8 +808,8 @@
     <keyword type="function" name="gst_player_get_volume ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-volume"/>
     <keyword type="function" name="gst_player_get_mute ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-mute"/>
     <keyword type="function" name="gst_player_get_pipeline ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-pipeline"/>
-    <keyword type="function" name="gst_player_set_position_update_interval ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-set-position-update-interval"/>
-    <keyword type="function" name="gst_player_get_position_update_interval ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-position-update-interval"/>
+    <keyword type="function" name="gst_player_set_config ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-set-config"/>
+    <keyword type="function" name="gst_player_get_config ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-config"/>
     <keyword type="function" name="gst_player_state_get_name ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-state-get-name"/>
     <keyword type="function" name="gst_player_error_get_name ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-error-get-name"/>
     <keyword type="function" name="gst_player_get_media_info ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-media-info"/>
@@ -846,14 +834,18 @@
     <keyword type="function" name="gst_player_has_color_balance ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-has-color-balance"/>
     <keyword type="function" name="gst_player_set_color_balance ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-set-color-balance"/>
     <keyword type="function" name="gst_player_get_color_balance ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-color-balance"/>
-    <keyword type="function" name="gst_player_get_multiview_mode ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-multiview-mode"/>
-    <keyword type="function" name="gst_player_set_multiview_mode ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-set-multiview-mode"/>
-    <keyword type="function" name="gst_player_get_multiview_flags ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-multiview-flags"/>
-    <keyword type="function" name="gst_player_set_multiview_flags ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-set-multiview-flags"/>
+    <keyword type="function" name="gst_player_get_multiview_mode ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-multiview-mode" since="1.10"/>
+    <keyword type="function" name="gst_player_set_multiview_mode ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-set-multiview-mode" since="1.10"/>
+    <keyword type="function" name="gst_player_get_multiview_flags ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-multiview-flags" since="1.10"/>
+    <keyword type="function" name="gst_player_set_multiview_flags ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-set-multiview-flags" since="1.10"/>
     <keyword type="function" name="gst_player_get_audio_video_offset ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-audio-video-offset"/>
     <keyword type="function" name="gst_player_set_audio_video_offset ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-set-audio-video-offset"/>
     <keyword type="function" name="gst_player_get_rate ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-get-rate"/>
     <keyword type="function" name="gst_player_set_rate ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-set-rate"/>
+    <keyword type="function" name="gst_player_config_set_position_update_interval ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-config-set-position-update-interval"/>
+    <keyword type="function" name="gst_player_config_get_position_update_interval ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-config-get-position-update-interval"/>
+    <keyword type="function" name="gst_player_config_set_user_agent ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-config-set-user-agent"/>
+    <keyword type="function" name="gst_player_config_get_user_agent ()" link="gst-plugins-bad-libs-gstplayer.html#gst-player-config-get-user-agent"/>
     <keyword type="struct" name="GstPlayer" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer-struct"/>
     <keyword type="enum" name="enum GstPlayerState" link="gst-plugins-bad-libs-gstplayer.html#GstPlayerState"/>
     <keyword type="macro" name="GST_PLAYER_ERROR" link="gst-plugins-bad-libs-gstplayer.html#GST-PLAYER-ERROR:CAPS"/>
@@ -872,7 +864,6 @@
     <keyword type="property" name="The “mute” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--mute"/>
     <keyword type="property" name="The “pipeline” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--pipeline"/>
     <keyword type="property" name="The “position” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--position"/>
-    <keyword type="property" name="The “position-update-interval” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--position-update-interval"/>
     <keyword type="property" name="The “rate” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--rate"/>
     <keyword type="property" name="The “signal-dispatcher” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--signal-dispatcher"/>
     <keyword type="property" name="The “suburi” property" link="gst-plugins-bad-libs-gstplayer.html#GstPlayer--suburi"/>
@@ -1212,463 +1203,463 @@
     <keyword type="constant" name="GST_VC1_MVMODE_1MV_HPEL" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-MVMODE-1MV-HPEL:CAPS"/>
     <keyword type="constant" name="GST_VC1_MVMODE_MIXED_MV" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-MVMODE-MIXED-MV:CAPS"/>
     <keyword type="constant" name="GST_VC1_MVMODE_INTENSITY_COMP" link="gst-plugins-bad-libs-vc1parser.html#GST-VC1-MVMODE-INTENSITY-COMP:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-PROGRAM-ASSOCIATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_CONDITIONAL_ACCESS" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-CONDITIONAL-ACCESS:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_TS_PROGRAM_MAP" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-TS-PROGRAM-MAP:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_TS_DESCRIPTION" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-TS-DESCRIPTION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-14496-SCENE-DESCRIPTION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-14496-OBJET-DESCRIPTOR:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_METADATA" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-METADATA:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-IPMP-CONTROL-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-DSM-CC-MULTIPROTO-ENCAPSULATED-DATA:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-DSM-CC-U-N-MESSAGES:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-DSM-CC-DOWNLOAD-DATA-MESSAGES:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-DSM-CC-STREAM-DESCRIPTORS:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-DSM-CC-PRIVATE-DATA:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-DSM-CC-ADDRESSABLE-SECTIONS:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_UNSET" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MTS-TABLE-ID-UNSET:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_UNKNOWN" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-UNKNOWN:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_PAT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-PAT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_PMT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-PMT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_CAT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-CAT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_TSDT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-TSDT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_EIT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-EIT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_NIT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-NIT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_BAT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-BAT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_SDT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-SDT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_TDT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-TDT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_TOT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-TOT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_TVCT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-ATSC-TVCT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_CVCT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-ATSC-CVCT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_MGT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-ATSC-MGT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_ETT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-ATSC-ETT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_EIT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-ATSC-EIT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_STT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-ATSC-STT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_RESERVED_00" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-RESERVED-00:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG1:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG1:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG2:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-PRIVATE-SECTIONS:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-PRIVATE-PES-PACKETS:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_MHEG" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-MHEG:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_DSM_CC" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-DSM-CC:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_H_222_1" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-H-222-1:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_DSMCC_A" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-DSMCC-A:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_DSMCC_B" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-DSMCC-B:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_DSMCC_C" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-DSMCC-C:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_DSMCC_D" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-DSMCC-D:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUXILIARY" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-AUXILIARY:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-ADTS:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG4:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-LATM:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-PES-PACKETS:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-SECTIONS:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-SYNCHRONIZED-DOWNLOAD:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-METADATA-PES-PACKETS:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-METADATA-SECTIONS:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-METADATA-DATA-CAROUSEL:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-METADATA-OBJECT-CAROUSEL:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-METADATA-SYNCHRONIZED-DOWNLOAD:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-MPEG2-IPMP:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-CLEAN:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-MPEG4-TIMED-TEXT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_RVC" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-RVC:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264-SVC-SUB-BITSTREAM:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264-MVC-SUB-BITSTREAM:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-JP2K:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2-STEREO-ADDITIONAL-VIEW:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264-STEREO-ADDITIONAL-VIEW:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-VIDEO-HEVC:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_IPMP_STREAM" link="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-STREAM-TYPE-IPMP-STREAM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_RESERVED_00" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-RESERVED-00:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_RESERVED_01" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-RESERVED-01:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_VIDEO_STREAM" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-VIDEO-STREAM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_AUDIO_STREAM" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-AUDIO-STREAM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_HIERARCHY" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-HIERARCHY:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_REGISTRATION" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-REGISTRATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DATA_STREAM_ALIGNMENT" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-DATA-STREAM-ALIGNMENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_TARGET_BACKGROUND_GRID" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-TARGET-BACKGROUND-GRID:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_VIDEO_WINDOW" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-VIDEO-WINDOW:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_CA" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-CA:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISO_639_LANGUAGE" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-ISO-639-LANGUAGE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_SYSTEM_CLOCK" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-SYSTEM-CLOCK:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MULTIPLEX-BUFFER-UTILISATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_COPYRIGHT" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-COPYRIGHT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MAXIMUM_BITRATE" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MAXIMUM-BITRATE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_PRIVATE_DATA_INDICATOR" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-PRIVATE-DATA-INDICATOR:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_SMOOTHING_BUFFER" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-SMOOTHING-BUFFER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_STD" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-STD:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_IBP" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-IBP:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-DSMCC-CAROUSEL-IDENTIFIER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DSMCC_ASSOCIATION_TAG" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-DSMCC-ASSOCIATION-TAG:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-DSMCC-DEFERRED-ASSOCIATION-TAG:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DSMCC_NPT_REFERENCE" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-DSMCC-NPT-REFERENCE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DSMCC_NPT_ENDPOINT" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-DSMCC-NPT-ENDPOINT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DSMCC_STREAM_MODE" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-DSMCC-STREAM-MODE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DSMCC_STREAM_EVENT" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-DSMCC-STREAM-EVENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MPEG4_VIDEO" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MPEG4-VIDEO:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MPEG4_AUDIO" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MPEG4-AUDIO:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_IOD" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-IOD:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_SL" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-SL:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_FMC" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-FMC:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXTERNAL_ES_ID" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-EXTERNAL-ES-ID:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MUX_CODE" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MUX-CODE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_FMX_BUFFER_SIZE" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-FMX-BUFFER-SIZE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MULTIPLEX_BUFFER" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MULTIPLEX-BUFFER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_CONTENT_LABELING" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-CONTENT-LABELING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_METADATA_POINTER" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-METADATA-POINTER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_METADATA" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-METADATA:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_METADATA_STD" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-METADATA-STD:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_AVC_VIDEO" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-AVC-VIDEO:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_IPMP" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-IPMP:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_AVC_TIMING_AND_HRD" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-AVC-TIMING-AND-HRD:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MPEG2_AAC_AUDIO" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MPEG2-AAC-AUDIO:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_FLEX_MUX_TIMING" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-FLEX-MUX-TIMING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MPEG4_TEXT" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MPEG4-TEXT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MPEG4_AUDIO_EXTENSION" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MPEG4-AUDIO-EXTENSION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_AUXILIARY_VIDEO_STREAM" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-AUXILIARY-VIDEO-STREAM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_SVC_EXTENSION" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-SVC-EXTENSION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MVC_EXTENSION" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MVC-EXTENSION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_J2K_VIDEO" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-J2K-VIDEO:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MVC_OPERATION_POINT" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MVC-OPERATION-POINT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-MPEG2-STEREOSCOPIC-VIDEO-FORMAT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-STEREOSCOPIC-PROGRAM-INFO:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-STEREOSCOPIC-VIDEO-INFO:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_AC3_AUDIO_STREAM" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-AC3-AUDIO-STREAM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DTG_LOGICAL_CHANNEL" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MTS-DESC-DTG-LOGICAL-CHANNEL:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_AUDIO_TYPE_UNDEFINED" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MPEGTS-AUDIO-TYPE-UNDEFINED:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MPEGTS-AUDIO-TYPE-CLEAN-EFFECTS:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MPEGTS-AUDIO-TYPE-HEARING-IMPAIRED:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY" link="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GST-MPEGTS-AUDIO-TYPE-VISUAL-IMPAIRED-COMMENTARY:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-MASTER-GUIDE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-TERRESTRIAL-VIRTUAL-CHANNEL:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-CABLE-VIRTUAL-CHANNEL:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_RATING_REGION" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-RATING-REGION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-EVENT-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-CHANNEL-OR-EVENT-EXTENDED-TEXT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-SYSTEM-TIME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_DATA_EVENT" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-DATA-EVENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_DATA_SERVICE" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-DATA-SERVICE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-NETWORK-RESOURCE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-LONG-TERM-SERVICE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE-SECTION-CODE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-AGGREGATE-EVENT-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-AGGREGATE-EXTENDED-TEXT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-AGGREGATE-DATA-EVENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MTS-TABLE-ID-ATSC-SATELLITE-VIRTUAL-CHANNEL:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT0:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT127:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT0:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127" link="gst-plugins-bad-libs-gst-atsc-section.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT127:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-NETWORK-INFORMATION-ACTUAL-NETWORK:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-NETWORK-INFORMATION-OTHER-NETWORK:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-ACTUAL-TS:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-OTHER-TS:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-BOUQUET-ASSOCIATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-PRESENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-PRESENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-1:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-N:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-1:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-N:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_TIME_DATE" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-TIME-DATE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_RUNNING_STATUS" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-RUNNING-STATUS:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_STUFFING" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-STUFFING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_TIME_OFFSET" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-TIME-OFFSET:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-APPLICATION-INFORMATION-TABLE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_CONTAINER" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-CONTAINER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_RELATED_CONTENT" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-RELATED-CONTENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_CONTENT_IDENTIFIER" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-CONTENT-IDENTIFIER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_MPE_FEC" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-MPE-FEC:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-RESOLUTION-NOTIFICATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_MPE_IFEC" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-MPE-IFEC:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-DISCONTINUITY-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_SELECTION_INFORMATION" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-SELECTION-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-CA-MESSAGE-ECM-0:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-CA-MESSAGE-ECM-1:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-1:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-N:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_SCT" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-SCT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_FCT" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-FCT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_TCT" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-TCT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_SPT" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-SPT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_CMT" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-CMT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_TBTP" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-TBTP:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-PCR-PACKET-PAYLOAD:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-TRANSMISSION-MODE-SUPPORT-PAYLOAD:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_TIM" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-TIM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MTS-TABLE-ID-LL-FEC-PARITY-DATA-TABLE:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_UNDEFINED" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MPEGTS-RUNNING-STATUS-UNDEFINED:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MPEGTS-RUNNING-STATUS-NOT-RUNNING:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MPEGTS-RUNNING-STATUS-STARTS-IN-FEW-SECONDS:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_PAUSING" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MPEGTS-RUNNING-STATUS-PAUSING:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_RUNNING" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MPEGTS-RUNNING-STATUS-RUNNING:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_OFF_AIR" link="gst-plugins-bad-libs-gst-dvb-section.html#GST-MPEGTS-RUNNING-STATUS-OFF-AIR:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_STUFFING" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-STUFFING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_AC3" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-AC3:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_CAPTION_SERVICE" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-CAPTION-SERVICE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_CONTENT_ADVISORY" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-CONTENT-ADVISORY:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-EXTENDED-CHANNEL-NAME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_SERVICE_LOCATION" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-SERVICE-LOCATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_TIME_SHIFTED_SERVICE" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-TIME-SHIFTED-SERVICE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_COMPONENT_NAME" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-COMPONENT-NAME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_DCC_DEPARTING_REQUEST" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-DCC-DEPARTING-REQUEST:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_DCC_ARRIVING_REQUEST" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-DCC-ARRIVING-REQUEST:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-REDISTRIBUTION-CONTROL:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_GENRE" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-GENRE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_PRIVATE_INFORMATION" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-PRIVATE-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_ENHANCED_SIGNALING" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-ENHANCED-SIGNALING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_DATA_SERVICE" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-DATA-SERVICE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_PID_COUNT" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-PID-COUNT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_DOWNLOAD_DESCRIPTOR" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-DOWNLOAD-DESCRIPTOR:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_MULTIPROTOCOL_ENCAPSULATION" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-MULTIPROTOCOL-ENCAPSULATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_MODULE_LINK" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-MODULE-LINK:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_CRC32" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-CRC32:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ATSC_GROUP_LINK" link="gst-plugins-bad-libs-gst-atsc-descriptor.html#GST-MTS-DESC-ATSC-GROUP-LINK:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_NETWORK_NAME" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-NETWORK-NAME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_SERVICE_LIST" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-SERVICE-LIST:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_STUFFING" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-STUFFING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-SATELLITE-DELIVERY-SYSTEM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-CABLE-DELIVERY-SYSTEM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_VBI_DATA" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-VBI-DATA:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_VBI_TELETEXT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-VBI-TELETEXT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_BOUQUET_NAME" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-BOUQUET-NAME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_SERVICE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-SERVICE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-COUNTRY-AVAILABILITY:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_LINKAGE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-LINKAGE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_NVOD_REFERENCE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-NVOD-REFERENCE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-TIME-SHIFTED-SERVICE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_SHORT_EVENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-SHORT-EVENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_EXTENDED_EVENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-EXTENDED-EVENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-TIME-SHIFTED-EVENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_COMPONENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-COMPONENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_MOSAIC" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-MOSAIC:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_STREAM_IDENTIFIER" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-STREAM-IDENTIFIER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_CA_IDENTIFIER" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-CA-IDENTIFIER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_CONTENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-CONTENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_PARENTAL_RATING" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-PARENTAL-RATING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_TELETEXT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-TELETEXT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_TELEPHONE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-TELEPHONE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-LOCAL-TIME-OFFSET:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_SUBTITLING" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-SUBTITLING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-TERRESTRIAL-DELIVERY-SYSTEM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-MULTILINGUAL-NETWORK-NAME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-MULTILINGUAL-BOUQUET-NAME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-MULTILINGUAL-SERVICE-NAME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-MULTILINGUAL-COMPONENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-PRIVATE-DATA-SPECIFIER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_SERVICE_MOVE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-SERVICE-MOVE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-SHORT-SMOOTHING-BUFFER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_FREQUENCY_LIST" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-FREQUENCY-LIST:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-PARTIAL-TRANSPORT-STREAM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_DATA_BROADCAST" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-DATA-BROADCAST:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_SCRAMBLING" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-SCRAMBLING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_DATA_BROADCAST_ID" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-DATA-BROADCAST-ID:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_TRANSPORT_STREAM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-TRANSPORT-STREAM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_DSNG" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-DSNG:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_PDC" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-PDC:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_AC3" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-AC3:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_ANCILLARY_DATA" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-ANCILLARY-DATA:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_CELL_LIST" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-CELL-LIST:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-CELL-FREQUENCY-LINK:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-ANNOUNCEMENT-SUPPORT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_APPLICATION_SIGNALLING" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-APPLICATION-SIGNALLING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-ADAPTATION-FIELD-DATA:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_SERVICE_IDENTIFIER" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-SERVICE-IDENTIFIER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_SERVICE_AVAILABILITY" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-SERVICE-AVAILABILITY:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_DEFAULT_AUTHORITY" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-DEFAULT-AUTHORITY:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_RELATED_CONTENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-RELATED-CONTENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_TVA_ID" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-TVA-ID:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_CONTENT_IDENTIFIER" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-CONTENT-IDENTIFIER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-TIMESLICE-FEC-IDENTIFIER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_ECM_REPETITION_RATE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-ECM-REPETITION-RATE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-S2-SATELLITE-DELIVERY-SYSTEM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_ENHANCED_AC3" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-ENHANCED-AC3:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_DTS" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-DTS:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_AAC" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-AAC:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_XAIT_LOCATION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-XAIT-LOCATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-FTA-CONTENT-MANAGEMENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_DVB_EXTENSION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-DVB-EXTENSION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_IMAGE_ICON" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-IMAGE-ICON:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-CPCM-DELIVERY-SIGNALLING:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_CP" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-CP:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-CP-IDENTIFIER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-T2-DELIVERY-SYSTEM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-SH-DELIVERY-SYSTEM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-SUPPLEMENTARY-AUDIO:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-NETWORK-CHANGE-NOTIFY:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_MESSAGE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-MESSAGE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_TARGET_REGION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-TARGET-REGION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-TARGET-REGION-NAME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-SERVICE-RELOCATED:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_XAIT_PID" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-XAIT-PID:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-C2-DELIVERY-SYSTEM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-DTS-HD-AUDIO-STREAM:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-DTS-NEUTRAL:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-VIDEO-DEPTH-RANGE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_T2MI" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-T2MI:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_URI_LINKAGE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MTS-DESC-EXT-DVB-URI-LINKAGE:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_NONE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-NONE:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_1_2" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-1-2:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_2_3" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-2-3:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_3_4" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-3-4:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_4_5" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-4-5:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_5_6" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-5-6:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_6_7" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-6-7:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_7_8" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-7-8:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_8_9" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-8-9:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_AUTO" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-AUTO:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_3_5" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-3-5:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_9_10" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-9-10:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_FEC_2_5" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-FEC-2-5:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_QPSK" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-QPSK:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_16" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-QAM-16:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_32" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-QAM-32:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_64" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-QAM-64:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_128" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-QAM-128:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_256" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-QAM-256:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_AUTO" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-QAM-AUTO:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_VSB_8" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-VSB-8:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_VSB_16" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-VSB-16:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_PSK_8" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-PSK-8:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_APSK_16" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-APSK-16:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_APSK_32" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-APSK-32:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_DQPSK" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-DQPSK:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_4_NR_" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-QAM-4-NR-:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_MODULATION_NONE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-MODULATION-NONE:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-POLARIZATION-LINEAR-HORIZONTAL:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-POLARIZATION-LINEAR-VERTICAL:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-POLARIZATION-CIRCULAR-LEFT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-POLARIZATION-CIRCULAR-RIGHT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_ROLLOFF_35" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-ROLLOFF-35:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_ROLLOFF_20" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-ROLLOFF-20:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_ROLLOFF_25" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-ROLLOFF-25:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_ROLLOFF_RESERVED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-ROLLOFF-RESERVED:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_ROLLOFF_AUTO" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-ROLLOFF-AUTO:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-CABLE-OUTER-FEC-UNDEFINED:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_CABLE_OUTER_FEC_NONE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-CABLE-OUTER-FEC-NONE:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-CABLE-OUTER-FEC-RS-204-188:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_2K" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-TRANSMISSION-MODE-2K:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_8K" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-TRANSMISSION-MODE-8K:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_AUTO" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-TRANSMISSION-MODE-AUTO:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_4K" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-TRANSMISSION-MODE-4K:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_1K" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-TRANSMISSION-MODE-1K:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_16K" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-TRANSMISSION-MODE-16K:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_32K" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-TRANSMISSION-MODE-32K:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_C1" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-TRANSMISSION-MODE-C1:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_C3780" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-TRANSMISSION-MODE-C3780:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_1_32" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-1-32:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_1_16" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-1-16:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_1_8" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-1-8:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_1_4" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-1-4:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_AUTO" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-AUTO:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_1_128" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-1-128:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_19_128" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-19-128:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_19_256" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-19-256:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_PN420" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-PN420:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_PN595" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-PN595:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_PN945" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-GUARD-INTERVAL-PN945:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_HIERARCHY_NONE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-HIERARCHY-NONE:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_HIERARCHY_1" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-HIERARCHY-1:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_HIERARCHY_2" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-HIERARCHY-2:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_HIERARCHY_4" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-HIERARCHY-4:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_HIERARCHY_AUTO" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-HIERARCHY-AUTO:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_RESERVED_00" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-RESERVED-00:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_DIGITAL_TELEVISION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-DIGITAL-TELEVISION:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_DIGITAL_RADIO_SOUND" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-DIGITAL-RADIO-SOUND:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_TELETEXT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-TELETEXT:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_NVOD_REFERENCE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-NVOD-REFERENCE:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_NVOD_TIME_SHIFTED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-NVOD-TIME-SHIFTED:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_MOSAIC" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-MOSAIC:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_FM_RADIO" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-FM-RADIO:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_DVB_SRM" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-DVB-SRM:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_RESERVED_09" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-RESERVED-09:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-DIGITAL-RADIO-SOUND:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-MOSAIC:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_DATA_BROADCAST" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-DATA-BROADCAST:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-RESERVED-0D-COMMON-INTERFACE:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_RCS_MAP" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-RCS-MAP:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_RCS_FLS" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-RCS-FLS:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_DVB_MHP" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-DVB-MHP:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-MPEG2-HD-DIGITAL-TELEVISION:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-SD-DIGITAL-TELEVISION:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-TIME-SHIFTED:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-REFERENCE:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-HD-DIGITAL-TELEVISION:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-TIME-SHIFTED:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-REFERENCE:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-DIGITAL-TELEVISION:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-TIME-SHIFTED:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-REFERENCE:CAPS"/>
-    <keyword type="constant" name="GST_DVB_SERVICE_RESERVED_FF" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-DVB-SERVICE-RESERVED-FF:CAPS"/>
-    <keyword type="constant" name="INITIAL_PAGE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#INITIAL-PAGE:CAPS"/>
-    <keyword type="constant" name="SUBTITLE_PAGE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#SUBTITLE-PAGE:CAPS"/>
-    <keyword type="constant" name="ADDITIONAL_INFO_PAGE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#ADDITIONAL-INFO-PAGE:CAPS"/>
-    <keyword type="constant" name="PROGRAMME_SCHEDULE_PAGE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#PROGRAMME-SCHEDULE-PAGE:CAPS"/>
-    <keyword type="constant" name="HEARING_IMPAIRED_PAGE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#HEARING-IMPAIRED-PAGE:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_RESERVED_00" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-RESERVED-00:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_INFORMATION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_EPG" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-EPG:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-CA-REPLACEMENT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-COMPLETE-SI:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-SERVICE-REPLACEMENT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-DATA-BROADCAST:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_RCS_MAP" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-RCS-MAP:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-MOBILE-HAND-OVER:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-SYSTEM-SOFTWARE-UPDATE:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-SSU:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-IP-MAC-NOTIFICATION:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-INT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_EVENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-EVENT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-EXTENDED-EVENT:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-RESERVED:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-IDENTICAL:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-LOCAL-VARIATION:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-ASSOCIATED:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-RESERVED:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA1:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA2:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-STANDARD:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-MINIMAL-ENHANCED:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-FULL-ENHANCED:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CISSA:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-0:CAPS"/>
-    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F" link="gst-plugins-bad-libs-gst-dvb-descriptor.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-F:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_HIERARCHICAL_TRANSMISSION" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-HIERARCHICAL-TRANSMISSION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_DIGITAL_COPY_CONTROL" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-DIGITAL-COPY-CONTROL:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_NETWORK_IDENTIFICATION" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-NETWORK-IDENTIFICATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_PARTIAL_TS_TIME" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-PARTIAL-TS-TIME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_AUDIO_COMPONENT" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-AUDIO-COMPONENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_HYPERLINK" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-HYPERLINK:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_TARGET_REGION" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-TARGET-REGION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_DATA_CONTENT" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-DATA-CONTENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_VIDEO_DECODE_CONTROL" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-VIDEO-DECODE-CONTROL:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_DOWNLOAD_CONTENT" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-DOWNLOAD-CONTENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_CA_EMM_TS" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-CA-EMM-TS:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_CA_CONTRACT_INFORMATION" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-CA-CONTRACT-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_CA_SERVICE" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-CA-SERVICE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_TS_INFORMATION" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-TS-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_EXTENDED_BROADCASTER" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-EXTENDED-BROADCASTER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_LOGO_TRANSMISSION" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-LOGO-TRANSMISSION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_BASIC_LOCAL_EVENT" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-BASIC-LOCAL-EVENT:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_REFERENCE" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-REFERENCE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_NODE_RELATION" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-NODE-RELATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_SHORT_NODE_INFORMATION" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-SHORT-NODE-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_STC_REFERENCE" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-STC-REFERENCE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_SERIES" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-SERIES:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_EVENT_GROUP" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-EVENT-GROUP:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_SI_PARAMETER" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-SI-PARAMETER:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_BROADCASTER_NAME" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-BROADCASTER-NAME:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_COMPONENT_GROUP" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-COMPONENT-GROUP:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_SI_PRIME_TS" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-SI-PRIME-TS:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_BOARD_INFORMATION" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-BOARD-INFORMATION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_LDT_LINKAGE" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-LDT-LINKAGE:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_CONNECTED_TRANSMISSION" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-CONNECTED-TRANSMISSION:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_CONTENT_AVAILABILITY" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-CONTENT-AVAILABILITY:CAPS"/>
-    <keyword type="constant" name="GST_MTS_DESC_ISDB_SERVICE_GROUP" link="gst-plugins-bad-libs-gst-isdb-descriptor.html#GST-MTS-DESC-ISDB-SERVICE-GROUP:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-PROGRAM-ASSOCIATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_CONDITIONAL_ACCESS" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CONDITIONAL-ACCESS:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_TS_PROGRAM_MAP" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TS-PROGRAM-MAP:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_TS_DESCRIPTION" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TS-DESCRIPTION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-14496-SCENE-DESCRIPTION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-14496-OBJET-DESCRIPTOR:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_METADATA" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-METADATA:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-IPMP-CONTROL-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-MULTIPROTO-ENCAPSULATED-DATA:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-U-N-MESSAGES:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-DOWNLOAD-DATA-MESSAGES:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-STREAM-DESCRIPTORS:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-PRIVATE-DATA:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DSM-CC-ADDRESSABLE-SECTIONS:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_UNSET" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MTS-TABLE-ID-UNSET:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_UNKNOWN" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-UNKNOWN:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_PAT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-PAT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_PMT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-PMT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_CAT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-CAT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_TSDT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TSDT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_EIT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-EIT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_NIT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-NIT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_BAT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-BAT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_SDT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-SDT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_TDT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TDT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_TOT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TOT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_TVCT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-TVCT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_CVCT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-CVCT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_MGT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-MGT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_ETT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-ETT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_EIT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-EIT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_SECTION_ATSC_STT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-STT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_RESERVED_00" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-RESERVED-00:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG1:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG1:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG2:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-PRIVATE-SECTIONS:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-PRIVATE-PES-PACKETS:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_MHEG" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-MHEG:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_DSM_CC" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-DSM-CC:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_H_222_1" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-H-222-1:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_DSMCC_A" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-DSMCC-A:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_DSMCC_B" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-DSMCC-B:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_DSMCC_C" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-DSMCC-C:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_DSMCC_D" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-DSMCC-D:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUXILIARY" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUXILIARY:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-ADTS:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG4:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-LATM:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-PES-PACKETS:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-SECTIONS:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-SYNCHRONIZED-DOWNLOAD:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-METADATA-PES-PACKETS:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-METADATA-SECTIONS:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-METADATA-DATA-CAROUSEL:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-METADATA-OBJECT-CAROUSEL:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-METADATA-SYNCHRONIZED-DOWNLOAD:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-MPEG2-IPMP:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-CLEAN:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-MPEG4-TIMED-TEXT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_RVC" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-RVC:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264-SVC-SUB-BITSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264-MVC-SUB-BITSTREAM:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-JP2K:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2-STEREO-ADDITIONAL-VIEW:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-H264-STEREO-ADDITIONAL-VIEW:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-VIDEO-HEVC:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_STREAM_TYPE_IPMP_STREAM" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-STREAM-TYPE-IPMP-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_RESERVED_00" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-RESERVED-00:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_RESERVED_01" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-RESERVED-01:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_VIDEO_STREAM" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-VIDEO-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_AUDIO_STREAM" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-AUDIO-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_HIERARCHY" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-HIERARCHY:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_REGISTRATION" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-REGISTRATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DATA_STREAM_ALIGNMENT" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DATA-STREAM-ALIGNMENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_TARGET_BACKGROUND_GRID" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-TARGET-BACKGROUND-GRID:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_VIDEO_WINDOW" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-VIDEO-WINDOW:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_CA" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-CA:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISO_639_LANGUAGE" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-ISO-639-LANGUAGE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_SYSTEM_CLOCK" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-SYSTEM-CLOCK:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MULTIPLEX-BUFFER-UTILISATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_COPYRIGHT" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-COPYRIGHT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MAXIMUM_BITRATE" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MAXIMUM-BITRATE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_PRIVATE_DATA_INDICATOR" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-PRIVATE-DATA-INDICATOR:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_SMOOTHING_BUFFER" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-SMOOTHING-BUFFER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_STD" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-STD:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_IBP" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-IBP:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-CAROUSEL-IDENTIFIER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DSMCC_ASSOCIATION_TAG" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-ASSOCIATION-TAG:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-DEFERRED-ASSOCIATION-TAG:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DSMCC_NPT_REFERENCE" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-NPT-REFERENCE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DSMCC_NPT_ENDPOINT" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-NPT-ENDPOINT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DSMCC_STREAM_MODE" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-STREAM-MODE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DSMCC_STREAM_EVENT" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DSMCC-STREAM-EVENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MPEG4_VIDEO" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG4-VIDEO:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MPEG4_AUDIO" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG4-AUDIO:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_IOD" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-IOD:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_SL" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-SL:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_FMC" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-FMC:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXTERNAL_ES_ID" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-EXTERNAL-ES-ID:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MUX_CODE" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MUX-CODE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_FMX_BUFFER_SIZE" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-FMX-BUFFER-SIZE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MULTIPLEX_BUFFER" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MULTIPLEX-BUFFER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_CONTENT_LABELING" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-CONTENT-LABELING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_METADATA_POINTER" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-METADATA-POINTER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_METADATA" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-METADATA:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_METADATA_STD" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-METADATA-STD:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_AVC_VIDEO" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-AVC-VIDEO:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_IPMP" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-IPMP:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_AVC_TIMING_AND_HRD" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-AVC-TIMING-AND-HRD:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MPEG2_AAC_AUDIO" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG2-AAC-AUDIO:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_FLEX_MUX_TIMING" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-FLEX-MUX-TIMING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MPEG4_TEXT" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG4-TEXT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MPEG4_AUDIO_EXTENSION" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG4-AUDIO-EXTENSION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_AUXILIARY_VIDEO_STREAM" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-AUXILIARY-VIDEO-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_SVC_EXTENSION" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-SVC-EXTENSION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MVC_EXTENSION" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MVC-EXTENSION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_J2K_VIDEO" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-J2K-VIDEO:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MVC_OPERATION_POINT" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MVC-OPERATION-POINT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-MPEG2-STEREOSCOPIC-VIDEO-FORMAT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-STEREOSCOPIC-PROGRAM-INFO:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-STEREOSCOPIC-VIDEO-INFO:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_AC3_AUDIO_STREAM" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-AC3-AUDIO-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DTG_LOGICAL_CHANNEL" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DTG-LOGICAL-CHANNEL:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_AUDIO_TYPE_UNDEFINED" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MPEGTS-AUDIO-TYPE-UNDEFINED:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MPEGTS-AUDIO-TYPE-CLEAN-EFFECTS:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MPEGTS-AUDIO-TYPE-HEARING-IMPAIRED:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MPEGTS-AUDIO-TYPE-VISUAL-IMPAIRED-COMMENTARY:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-MASTER-GUIDE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-TERRESTRIAL-VIRTUAL-CHANNEL:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-CABLE-VIRTUAL-CHANNEL:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_RATING_REGION" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-RATING-REGION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-EVENT-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-CHANNEL-OR-EVENT-EXTENDED-TEXT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-SYSTEM-TIME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_DATA_EVENT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-DATA-EVENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_DATA_SERVICE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-DATA-SERVICE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-NETWORK-RESOURCE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-LONG-TERM-SERVICE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE-SECTION-CODE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-AGGREGATE-EVENT-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-AGGREGATE-EXTENDED-TEXT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-AGGREGATE-DATA-EVENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-ATSC-SATELLITE-VIRTUAL-CHANNEL:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT0:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT127:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT0:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT127:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-NETWORK-INFORMATION-ACTUAL-NETWORK:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-NETWORK-INFORMATION-OTHER-NETWORK:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-ACTUAL-TS:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-OTHER-TS:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-BOUQUET-ASSOCIATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-PRESENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-PRESENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-1:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-N:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-1:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-N:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_TIME_DATE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TIME-DATE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_RUNNING_STATUS" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-RUNNING-STATUS:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_STUFFING" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-STUFFING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_TIME_OFFSET" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TIME-OFFSET:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-APPLICATION-INFORMATION-TABLE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_CONTAINER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CONTAINER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_RELATED_CONTENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-RELATED-CONTENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_CONTENT_IDENTIFIER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CONTENT-IDENTIFIER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_MPE_FEC" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-MPE-FEC:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-RESOLUTION-NOTIFICATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_MPE_IFEC" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-MPE-IFEC:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-DISCONTINUITY-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_SELECTION_INFORMATION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-SELECTION-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CA-MESSAGE-ECM-0:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CA-MESSAGE-ECM-1:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-1:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-N:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_SCT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-SCT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_FCT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-FCT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_TCT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TCT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_SPT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-SPT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_CMT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-CMT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_TBTP" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TBTP:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-PCR-PACKET-PAYLOAD:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TRANSMISSION-MODE-SUPPORT-PAYLOAD:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_TIM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-TIM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MTS-TABLE-ID-LL-FEC-PARITY-DATA-TABLE:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_UNDEFINED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-UNDEFINED:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-NOT-RUNNING:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-STARTS-IN-FEW-SECONDS:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_PAUSING" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-PAUSING:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_RUNNING" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-RUNNING:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_RUNNING_STATUS_OFF_AIR" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GST-MPEGTS-RUNNING-STATUS-OFF-AIR:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_STUFFING" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-STUFFING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_AC3" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-AC3:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_CAPTION_SERVICE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-CAPTION-SERVICE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_CONTENT_ADVISORY" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-CONTENT-ADVISORY:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_EXTENDED_CHANNEL_NAME" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-EXTENDED-CHANNEL-NAME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_SERVICE_LOCATION" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-SERVICE-LOCATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_TIME_SHIFTED_SERVICE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-TIME-SHIFTED-SERVICE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_COMPONENT_NAME" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-COMPONENT-NAME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_DCC_DEPARTING_REQUEST" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-DCC-DEPARTING-REQUEST:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_DCC_ARRIVING_REQUEST" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-DCC-ARRIVING-REQUEST:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_REDISTRIBUTION_CONTROL" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-REDISTRIBUTION-CONTROL:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_GENRE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-GENRE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_PRIVATE_INFORMATION" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-PRIVATE-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_ENHANCED_SIGNALING" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-ENHANCED-SIGNALING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_DATA_SERVICE" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-DATA-SERVICE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_PID_COUNT" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-PID-COUNT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_DOWNLOAD_DESCRIPTOR" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-DOWNLOAD-DESCRIPTOR:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_MULTIPROTOCOL_ENCAPSULATION" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-MULTIPROTOCOL-ENCAPSULATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_MODULE_LINK" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-MODULE-LINK:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_CRC32" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-CRC32:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ATSC_GROUP_LINK" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ATSC-GROUP-LINK:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_NETWORK_NAME" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-NETWORK-NAME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_SERVICE_LIST" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE-LIST:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_STUFFING" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-STUFFING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SATELLITE-DELIVERY-SYSTEM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CABLE-DELIVERY-SYSTEM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_VBI_DATA" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-VBI-DATA:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_VBI_TELETEXT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-VBI-TELETEXT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_BOUQUET_NAME" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-BOUQUET-NAME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_SERVICE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-COUNTRY-AVAILABILITY:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_LINKAGE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-LINKAGE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_NVOD_REFERENCE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-NVOD-REFERENCE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TIME-SHIFTED-SERVICE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_SHORT_EVENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SHORT-EVENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_EXTENDED_EVENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-EXTENDED-EVENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TIME-SHIFTED-EVENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_COMPONENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-COMPONENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_MOSAIC" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MOSAIC:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_STREAM_IDENTIFIER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-STREAM-IDENTIFIER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_CA_IDENTIFIER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CA-IDENTIFIER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_CONTENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CONTENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_PARENTAL_RATING" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-PARENTAL-RATING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_TELETEXT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TELETEXT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_TELEPHONE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TELEPHONE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-LOCAL-TIME-OFFSET:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_SUBTITLING" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SUBTITLING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TERRESTRIAL-DELIVERY-SYSTEM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-NETWORK-NAME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-BOUQUET-NAME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-SERVICE-NAME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-COMPONENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-PRIVATE-DATA-SPECIFIER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_SERVICE_MOVE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE-MOVE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SHORT-SMOOTHING-BUFFER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_FREQUENCY_LIST" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-FREQUENCY-LIST:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-PARTIAL-TRANSPORT-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_DATA_BROADCAST" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DATA-BROADCAST:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_SCRAMBLING" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SCRAMBLING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_DATA_BROADCAST_ID" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DATA-BROADCAST-ID:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_TRANSPORT_STREAM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TRANSPORT-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_DSNG" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DSNG:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_PDC" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-PDC:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_AC3" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-AC3:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_ANCILLARY_DATA" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-ANCILLARY-DATA:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_CELL_LIST" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CELL-LIST:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CELL-FREQUENCY-LINK:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-ANNOUNCEMENT-SUPPORT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_APPLICATION_SIGNALLING" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-APPLICATION-SIGNALLING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-ADAPTATION-FIELD-DATA:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_SERVICE_IDENTIFIER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE-IDENTIFIER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_SERVICE_AVAILABILITY" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE-AVAILABILITY:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_DEFAULT_AUTHORITY" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DEFAULT-AUTHORITY:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_RELATED_CONTENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-RELATED-CONTENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_TVA_ID" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TVA-ID:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_CONTENT_IDENTIFIER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CONTENT-IDENTIFIER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TIMESLICE-FEC-IDENTIFIER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_ECM_REPETITION_RATE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-ECM-REPETITION-RATE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-S2-SATELLITE-DELIVERY-SYSTEM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_ENHANCED_AC3" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-ENHANCED-AC3:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_DTS" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DTS:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_AAC" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-AAC:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_XAIT_LOCATION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-XAIT-LOCATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-FTA-CONTENT-MANAGEMENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_DVB_EXTENSION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-EXTENSION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_IMAGE_ICON" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-IMAGE-ICON:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-CPCM-DELIVERY-SIGNALLING:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_CP" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-CP:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-CP-IDENTIFIER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-T2-DELIVERY-SYSTEM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-SH-DELIVERY-SYSTEM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-SUPPLEMENTARY-AUDIO:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-NETWORK-CHANGE-NOTIFY:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_MESSAGE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-MESSAGE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_TARGET_REGION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-TARGET-REGION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-TARGET-REGION-NAME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-SERVICE-RELOCATED:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_XAIT_PID" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-XAIT-PID:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-C2-DELIVERY-SYSTEM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-DTS-HD-AUDIO-STREAM:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-DTS-NEUTRAL:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-VIDEO-DEPTH-RANGE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_T2MI" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-T2MI:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_EXT_DVB_URI_LINKAGE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-URI-LINKAGE:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_NONE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-NONE:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_1_2" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-1-2:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_2_3" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-2-3:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_3_4" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-3-4:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_4_5" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-4-5:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_5_6" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-5-6:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_6_7" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-6-7:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_7_8" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-7-8:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_8_9" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-8-9:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_AUTO" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_3_5" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-3-5:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_9_10" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-9-10:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_FEC_2_5" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-FEC-2-5:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_QPSK" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QPSK:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_16" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-16:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_32" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-32:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_64" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-64:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_128" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-128:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_256" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-256:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_AUTO" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_VSB_8" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-VSB-8:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_VSB_16" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-VSB-16:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_PSK_8" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-PSK-8:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_APSK_16" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-APSK-16:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_APSK_32" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-APSK-32:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_DQPSK" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-DQPSK:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_QAM_4_NR_" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-QAM-4-NR-:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_MODULATION_NONE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-MODULATION-NONE:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-POLARIZATION-LINEAR-HORIZONTAL:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-POLARIZATION-LINEAR-VERTICAL:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-POLARIZATION-CIRCULAR-LEFT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-POLARIZATION-CIRCULAR-RIGHT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_ROLLOFF_35" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-ROLLOFF-35:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_ROLLOFF_20" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-ROLLOFF-20:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_ROLLOFF_25" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-ROLLOFF-25:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_ROLLOFF_RESERVED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-ROLLOFF-RESERVED:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_ROLLOFF_AUTO" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-ROLLOFF-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-CABLE-OUTER-FEC-UNDEFINED:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_CABLE_OUTER_FEC_NONE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-CABLE-OUTER-FEC-NONE:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-CABLE-OUTER-FEC-RS-204-188:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_2K" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-2K:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_8K" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-8K:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_AUTO" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_4K" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-4K:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_1K" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-1K:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_16K" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-16K:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_32K" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-32K:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_C1" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-C1:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_TRANSMISSION_MODE_C3780" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-TRANSMISSION-MODE-C3780:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_1_32" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-1-32:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_1_16" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-1-16:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_1_8" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-1-8:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_1_4" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-1-4:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_AUTO" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_1_128" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-1-128:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_19_128" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-19-128:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_19_256" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-19-256:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_PN420" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-PN420:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_PN595" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-PN595:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_GUARD_INTERVAL_PN945" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-GUARD-INTERVAL-PN945:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_HIERARCHY_NONE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-HIERARCHY-NONE:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_HIERARCHY_1" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-HIERARCHY-1:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_HIERARCHY_2" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-HIERARCHY-2:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_HIERARCHY_4" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-HIERARCHY-4:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_HIERARCHY_AUTO" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-HIERARCHY-AUTO:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_RESERVED_00" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RESERVED-00:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_DIGITAL_TELEVISION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-DIGITAL-TELEVISION:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_DIGITAL_RADIO_SOUND" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-DIGITAL-RADIO-SOUND:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_TELETEXT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-TELETEXT:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_NVOD_REFERENCE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-NVOD-REFERENCE:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_NVOD_TIME_SHIFTED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-NVOD-TIME-SHIFTED:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_MOSAIC" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-MOSAIC:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_FM_RADIO" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-FM-RADIO:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_DVB_SRM" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-DVB-SRM:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_RESERVED_09" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RESERVED-09:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-DIGITAL-RADIO-SOUND:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-MOSAIC:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_DATA_BROADCAST" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-DATA-BROADCAST:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RESERVED-0D-COMMON-INTERFACE:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_RCS_MAP" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RCS-MAP:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_RCS_FLS" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RCS-FLS:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_DVB_MHP" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-DVB-MHP:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-MPEG2-HD-DIGITAL-TELEVISION:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-SD-DIGITAL-TELEVISION:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-TIME-SHIFTED:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-REFERENCE:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-HD-DIGITAL-TELEVISION:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-TIME-SHIFTED:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-REFERENCE:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-DIGITAL-TELEVISION:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-TIME-SHIFTED:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-REFERENCE:CAPS"/>
+    <keyword type="constant" name="GST_DVB_SERVICE_RESERVED_FF" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-DVB-SERVICE-RESERVED-FF:CAPS"/>
+    <keyword type="constant" name="INITIAL_PAGE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#INITIAL-PAGE:CAPS"/>
+    <keyword type="constant" name="SUBTITLE_PAGE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#SUBTITLE-PAGE:CAPS"/>
+    <keyword type="constant" name="ADDITIONAL_INFO_PAGE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#ADDITIONAL-INFO-PAGE:CAPS"/>
+    <keyword type="constant" name="PROGRAMME_SCHEDULE_PAGE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#PROGRAMME-SCHEDULE-PAGE:CAPS"/>
+    <keyword type="constant" name="HEARING_IMPAIRED_PAGE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#HEARING-IMPAIRED-PAGE:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_RESERVED_00" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-RESERVED-00:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_INFORMATION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_EPG" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-EPG:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-CA-REPLACEMENT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-COMPLETE-SI:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-SERVICE-REPLACEMENT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-DATA-BROADCAST:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_RCS_MAP" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-RCS-MAP:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-MOBILE-HAND-OVER:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-SYSTEM-SOFTWARE-UPDATE:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-SSU:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-IP-MAC-NOTIFICATION:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-INT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_EVENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-EVENT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-EXTENDED-EVENT:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-RESERVED:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-IDENTICAL:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-LOCAL-VARIATION:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-LINKAGE-HAND-OVER-ASSOCIATED:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-RESERVED:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA1:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA2:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-STANDARD:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-MINIMAL-ENHANCED:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-FULL-ENHANCED:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-CISSA:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-0:CAPS"/>
+    <keyword type="constant" name="GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-F:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_HIERARCHICAL_TRANSMISSION" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-HIERARCHICAL-TRANSMISSION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_DIGITAL_COPY_CONTROL" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-DIGITAL-COPY-CONTROL:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_NETWORK_IDENTIFICATION" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-NETWORK-IDENTIFICATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_PARTIAL_TS_TIME" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-PARTIAL-TS-TIME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_AUDIO_COMPONENT" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-AUDIO-COMPONENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_HYPERLINK" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-HYPERLINK:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_TARGET_REGION" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-TARGET-REGION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_DATA_CONTENT" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-DATA-CONTENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_VIDEO_DECODE_CONTROL" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-VIDEO-DECODE-CONTROL:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_DOWNLOAD_CONTENT" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-DOWNLOAD-CONTENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_CA_EMM_TS" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-CA-EMM-TS:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_CA_CONTRACT_INFORMATION" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-CA-CONTRACT-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_CA_SERVICE" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-CA-SERVICE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_TS_INFORMATION" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-TS-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_EXTENDED_BROADCASTER" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-EXTENDED-BROADCASTER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_LOGO_TRANSMISSION" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-LOGO-TRANSMISSION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_BASIC_LOCAL_EVENT" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-BASIC-LOCAL-EVENT:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_REFERENCE" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-REFERENCE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_NODE_RELATION" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-NODE-RELATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_SHORT_NODE_INFORMATION" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-SHORT-NODE-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_STC_REFERENCE" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-STC-REFERENCE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_SERIES" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-SERIES:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_EVENT_GROUP" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-EVENT-GROUP:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_SI_PARAMETER" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-SI-PARAMETER:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_BROADCASTER_NAME" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-BROADCASTER-NAME:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_COMPONENT_GROUP" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-COMPONENT-GROUP:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_SI_PRIME_TS" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-SI-PRIME-TS:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_BOARD_INFORMATION" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-BOARD-INFORMATION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_LDT_LINKAGE" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-LDT-LINKAGE:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_CONNECTED_TRANSMISSION" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-CONNECTED-TRANSMISSION:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_CONTENT_AVAILABILITY" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-CONTENT-AVAILABILITY:CAPS"/>
+    <keyword type="constant" name="GST_MTS_DESC_ISDB_SERVICE_GROUP" link="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-ISDB-SERVICE-GROUP:CAPS"/>
     <keyword type="constant" name="GST_GL_API_NONE" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-NONE:CAPS"/>
     <keyword type="constant" name="GST_GL_API_OPENGL" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-OPENGL:CAPS"/>
     <keyword type="constant" name="GST_GL_API_OPENGL3" link="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-OPENGL3:CAPS"/>
@@ -1730,8 +1721,6 @@
     <keyword type="constant" name="GST_GL_WINDOW_ERROR_FAILED" link="GstGLWindow.html#GST-GL-WINDOW-ERROR-FAILED:CAPS"/>
     <keyword type="constant" name="GST_GL_WINDOW_ERROR_OLD_LIBS" link="GstGLWindow.html#GST-GL-WINDOW-ERROR-OLD-LIBS:CAPS"/>
     <keyword type="constant" name="GST_GL_WINDOW_ERROR_RESOURCE_UNAVAILABLE" link="GstGLWindow.html#GST-GL-WINDOW-ERROR-RESOURCE-UNAVAILABLE:CAPS"/>
-    <keyword type="constant" name="GST_GL_DISPLAY_PROJECTION_ORTHO2D" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GST-GL-DISPLAY-PROJECTION-ORTHO2D:CAPS"/>
-    <keyword type="constant" name="GST_GL_DISPLAY_PROJECTION_PERSPECTIVE" link="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GST-GL-DISPLAY-PROJECTION-PERSPECTIVE:CAPS"/>
     <keyword type="constant" name="GST_GL_TEXTURE_TARGET_NONE" link="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-NONE:CAPS"/>
     <keyword type="constant" name="GST_GL_TEXTURE_TARGET_2D" link="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-2D:CAPS"/>
     <keyword type="constant" name="GST_GL_TEXTURE_TARGET_RECTANGLE" link="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-RECTANGLE:CAPS"/>
@@ -1834,5 +1823,559 @@
     <keyword type="constant" name="GST_PHOTOGRAPHY_SHAKE_RISK_LOW" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SHAKE-RISK-LOW:CAPS"/>
     <keyword type="constant" name="GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SHAKE-RISK-MEDIUM:CAPS"/>
     <keyword type="constant" name="GST_PHOTOGRAPHY_SHAKE_RISK_HIGH" link="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SHAKE-RISK-HIGH:CAPS"/>
+    <keyword type="member" name="GstH264NalUnit.ref-idc" link="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit.ref-idc"/>
+    <keyword type="member" name="GstH264NalUnit.type" link="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit.type"/>
+    <keyword type="member" name="GstH264NalUnit.idr-pic-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit.idr-pic-flag"/>
+    <keyword type="member" name="GstH264NalUnit.size" link="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit.size"/>
+    <keyword type="member" name="GstH264NalUnit.offset" link="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit.offset"/>
+    <keyword type="member" name="GstH264NalUnit.sc-offset" link="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit.sc-offset"/>
+    <keyword type="member" name="GstH264NalUnit.valid" link="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit.valid"/>
+    <keyword type="member" name="GstH264NalUnit.data" link="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit.data"/>
+    <keyword type="member" name="GstH264NalUnit.header-bytes" link="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit.header-bytes"/>
+    <keyword type="member" name="GstH264NalUnit.extension-type" link="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit.extension-type"/>
+    <keyword type="member" name="GstH264SPS.id" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.id"/>
+    <keyword type="member" name="GstH264SPS.profile-idc" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.profile-idc"/>
+    <keyword type="member" name="GstH264SPS.constraint-set0-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.constraint-set0-flag"/>
+    <keyword type="member" name="GstH264SPS.constraint-set1-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.constraint-set1-flag"/>
+    <keyword type="member" name="GstH264SPS.constraint-set2-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.constraint-set2-flag"/>
+    <keyword type="member" name="GstH264SPS.constraint-set3-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.constraint-set3-flag"/>
+    <keyword type="member" name="GstH264SPS.constraint-set4-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.constraint-set4-flag"/>
+    <keyword type="member" name="GstH264SPS.constraint-set5-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.constraint-set5-flag"/>
+    <keyword type="member" name="GstH264SPS.level-idc" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.level-idc"/>
+    <keyword type="member" name="GstH264SPS.chroma-format-idc" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.chroma-format-idc"/>
+    <keyword type="member" name="GstH264SPS.separate-colour-plane-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.separate-colour-plane-flag"/>
+    <keyword type="member" name="GstH264SPS.bit-depth-luma-minus8" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.bit-depth-luma-minus8"/>
+    <keyword type="member" name="GstH264SPS.bit-depth-chroma-minus8" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.bit-depth-chroma-minus8"/>
+    <keyword type="member" name="GstH264SPS.qpprime-y-zero-transform-bypass-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.qpprime-y-zero-transform-bypass-flag"/>
+    <keyword type="member" name="GstH264SPS.scaling-matrix-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.scaling-matrix-present-flag"/>
+    <keyword type="member" name="GstH264SPS.scaling-lists-4x4" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.scaling-lists-4x4"/>
+    <keyword type="member" name="GstH264SPS.scaling-lists-8x8" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.scaling-lists-8x8"/>
+    <keyword type="member" name="GstH264SPS.log2-max-frame-num-minus4" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.log2-max-frame-num-minus4"/>
+    <keyword type="member" name="GstH264SPS.pic-order-cnt-type" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.pic-order-cnt-type"/>
+    <keyword type="member" name="GstH264SPS.log2-max-pic-order-cnt-lsb-minus4" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.log2-max-pic-order-cnt-lsb-minus4"/>
+    <keyword type="member" name="GstH264SPS.delta-pic-order-always-zero-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.delta-pic-order-always-zero-flag"/>
+    <keyword type="member" name="GstH264SPS.offset-for-non-ref-pic" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.offset-for-non-ref-pic"/>
+    <keyword type="member" name="GstH264SPS.offset-for-top-to-bottom-field" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.offset-for-top-to-bottom-field"/>
+    <keyword type="member" name="GstH264SPS.num-ref-frames-in-pic-order-cnt-cycle" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.num-ref-frames-in-pic-order-cnt-cycle"/>
+    <keyword type="member" name="GstH264SPS.offset-for-ref-frame" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.offset-for-ref-frame"/>
+    <keyword type="member" name="GstH264SPS.num-ref-frames" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.num-ref-frames"/>
+    <keyword type="member" name="GstH264SPS.gaps-in-frame-num-value-allowed-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.gaps-in-frame-num-value-allowed-flag"/>
+    <keyword type="member" name="GstH264SPS.pic-width-in-mbs-minus1" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.pic-width-in-mbs-minus1"/>
+    <keyword type="member" name="GstH264SPS.pic-height-in-map-units-minus1" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.pic-height-in-map-units-minus1"/>
+    <keyword type="member" name="GstH264SPS.frame-mbs-only-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.frame-mbs-only-flag"/>
+    <keyword type="member" name="GstH264SPS.mb-adaptive-frame-field-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.mb-adaptive-frame-field-flag"/>
+    <keyword type="member" name="GstH264SPS.direct-8x8-inference-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.direct-8x8-inference-flag"/>
+    <keyword type="member" name="GstH264SPS.frame-cropping-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.frame-cropping-flag"/>
+    <keyword type="member" name="GstH264SPS.frame-crop-left-offset" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.frame-crop-left-offset"/>
+    <keyword type="member" name="GstH264SPS.frame-crop-right-offset" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.frame-crop-right-offset"/>
+    <keyword type="member" name="GstH264SPS.frame-crop-top-offset" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.frame-crop-top-offset"/>
+    <keyword type="member" name="GstH264SPS.frame-crop-bottom-offset" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.frame-crop-bottom-offset"/>
+    <keyword type="member" name="GstH264SPS.vui-parameters-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.vui-parameters-present-flag"/>
+    <keyword type="member" name="GstH264SPS.vui-parameters" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.vui-parameters"/>
+    <keyword type="member" name="GstH264SPS.chroma-array-type" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.chroma-array-type"/>
+    <keyword type="member" name="GstH264SPS.max-frame-num" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.max-frame-num"/>
+    <keyword type="member" name="GstH264SPS.width" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.width"/>
+    <keyword type="member" name="GstH264SPS.height" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.height"/>
+    <keyword type="member" name="GstH264SPS.crop-rect-width" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.crop-rect-width"/>
+    <keyword type="member" name="GstH264SPS.crop-rect-height" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.crop-rect-height"/>
+    <keyword type="member" name="GstH264SPS.crop-rect-x" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.crop-rect-x"/>
+    <keyword type="member" name="GstH264SPS.crop-rect-y" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.crop-rect-y"/>
+    <keyword type="member" name="GstH264SPS.fps-num-removed" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.fps-num-removed"/>
+    <keyword type="member" name="GstH264SPS.fps-den-removed" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.fps-den-removed"/>
+    <keyword type="member" name="GstH264SPS.valid" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.valid"/>
+    <keyword type="member" name="GstH264SPS.extension-type" link="gst-plugins-bad-libs-h264parser.html#GstH264SPS.extension-type"/>
+    <keyword type="member" name="GstH264HRDParams.cpb-cnt-minus1" link="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams.cpb-cnt-minus1"/>
+    <keyword type="member" name="GstH264HRDParams.bit-rate-scale" link="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams.bit-rate-scale"/>
+    <keyword type="member" name="GstH264HRDParams.cpb-size-scale" link="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams.cpb-size-scale"/>
+    <keyword type="member" name="GstH264HRDParams.bit-rate-value-minus1" link="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams.bit-rate-value-minus1"/>
+    <keyword type="member" name="GstH264HRDParams.cpb-size-value-minus1" link="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams.cpb-size-value-minus1"/>
+    <keyword type="member" name="GstH264HRDParams.cbr-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams.cbr-flag"/>
+    <keyword type="member" name="GstH264HRDParams.initial-cpb-removal-delay-length-minus1" link="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams.initial-cpb-removal-delay-length-minus1"/>
+    <keyword type="member" name="GstH264HRDParams.cpb-removal-delay-length-minus1" link="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams.cpb-removal-delay-length-minus1"/>
+    <keyword type="member" name="GstH264HRDParams.dpb-output-delay-length-minus1" link="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams.dpb-output-delay-length-minus1"/>
+    <keyword type="member" name="GstH264HRDParams.time-offset-length" link="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams.time-offset-length"/>
+    <keyword type="member" name="GstH264VUIParams.aspect-ratio-info-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.aspect-ratio-info-present-flag"/>
+    <keyword type="member" name="GstH264VUIParams.aspect-ratio-idc" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.aspect-ratio-idc"/>
+    <keyword type="member" name="GstH264VUIParams.sar-width" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.sar-width"/>
+    <keyword type="member" name="GstH264VUIParams.sar-height" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.sar-height"/>
+    <keyword type="member" name="GstH264VUIParams.overscan-info-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.overscan-info-present-flag"/>
+    <keyword type="member" name="GstH264VUIParams.overscan-appropriate-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.overscan-appropriate-flag"/>
+    <keyword type="member" name="GstH264VUIParams.video-signal-type-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.video-signal-type-present-flag"/>
+    <keyword type="member" name="GstH264VUIParams.video-format" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.video-format"/>
+    <keyword type="member" name="GstH264VUIParams.video-full-range-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.video-full-range-flag"/>
+    <keyword type="member" name="GstH264VUIParams.colour-description-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.colour-description-present-flag"/>
+    <keyword type="member" name="GstH264VUIParams.colour-primaries" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.colour-primaries"/>
+    <keyword type="member" name="GstH264VUIParams.transfer-characteristics" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.transfer-characteristics"/>
+    <keyword type="member" name="GstH264VUIParams.matrix-coefficients" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.matrix-coefficients"/>
+    <keyword type="member" name="GstH264VUIParams.chroma-loc-info-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.chroma-loc-info-present-flag"/>
+    <keyword type="member" name="GstH264VUIParams.chroma-sample-loc-type-top-field" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.chroma-sample-loc-type-top-field"/>
+    <keyword type="member" name="GstH264VUIParams.chroma-sample-loc-type-bottom-field" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.chroma-sample-loc-type-bottom-field"/>
+    <keyword type="member" name="GstH264VUIParams.timing-info-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.timing-info-present-flag"/>
+    <keyword type="member" name="GstH264VUIParams.num-units-in-tick" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.num-units-in-tick"/>
+    <keyword type="member" name="GstH264VUIParams.time-scale" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.time-scale"/>
+    <keyword type="member" name="GstH264VUIParams.fixed-frame-rate-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.fixed-frame-rate-flag"/>
+    <keyword type="member" name="GstH264VUIParams.nal-hrd-parameters-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.nal-hrd-parameters-present-flag"/>
+    <keyword type="member" name="GstH264VUIParams.nal-hrd-parameters" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.nal-hrd-parameters"/>
+    <keyword type="member" name="GstH264VUIParams.vcl-hrd-parameters-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.vcl-hrd-parameters-present-flag"/>
+    <keyword type="member" name="GstH264VUIParams.vcl-hrd-parameters" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.vcl-hrd-parameters"/>
+    <keyword type="member" name="GstH264VUIParams.low-delay-hrd-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.low-delay-hrd-flag"/>
+    <keyword type="member" name="GstH264VUIParams.pic-struct-present-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.pic-struct-present-flag"/>
+    <keyword type="member" name="GstH264VUIParams.bitstream-restriction-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.bitstream-restriction-flag"/>
+    <keyword type="member" name="GstH264VUIParams.motion-vectors-over-pic-boundaries-flag" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.motion-vectors-over-pic-boundaries-flag"/>
+    <keyword type="member" name="GstH264VUIParams.max-bytes-per-pic-denom" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.max-bytes-per-pic-denom"/>
+    <keyword type="member" name="GstH264VUIParams.max-bits-per-mb-denom" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.max-bits-per-mb-denom"/>
+    <keyword type="member" name="GstH264VUIParams.log2-max-mv-length-horizontal" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.log2-max-mv-length-horizontal"/>
+    <keyword type="member" name="GstH264VUIParams.log2-max-mv-length-vertical" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.log2-max-mv-length-vertical"/>
+    <keyword type="member" name="GstH264VUIParams.num-reorder-frames" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.num-reorder-frames"/>
+    <keyword type="member" name="GstH264VUIParams.max-dec-frame-buffering" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.max-dec-frame-buffering"/>
+    <keyword type="member" name="GstH264VUIParams.par-n" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.par-n"/>
+    <keyword type="member" name="GstH264VUIParams.par-d" link="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams.par-d"/>
+    <keyword type="member" name="GstJpegSegment.marker" link="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment.marker"/>
+    <keyword type="member" name="GstJpegSegment.data" link="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment.data"/>
+    <keyword type="member" name="GstJpegSegment.offset" link="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment.offset"/>
+    <keyword type="member" name="GstJpegSegment.size" link="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment.size"/>
+    <keyword type="member" name="GstJpegFrameHdr.sample-precision" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr.sample-precision"/>
+    <keyword type="member" name="GstJpegFrameHdr.width" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr.width"/>
+    <keyword type="member" name="GstJpegFrameHdr.height" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr.height"/>
+    <keyword type="member" name="GstJpegFrameHdr.num-components" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr.num-components"/>
+    <keyword type="member" name="GstJpegFrameHdr.components" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr.components"/>
+    <keyword type="member" name="GstJpegFrameComponent.identifier" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameComponent.identifier"/>
+    <keyword type="member" name="GstJpegFrameComponent.horizontal-factor" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameComponent.horizontal-factor"/>
+    <keyword type="member" name="GstJpegFrameComponent.vertical-factor" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameComponent.vertical-factor"/>
+    <keyword type="member" name="GstJpegFrameComponent.quant-table-selector" link="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameComponent.quant-table-selector"/>
+    <keyword type="member" name="GstJpegScanHdr.num-components" link="gst-plugins-bad-libs-jpegparser.html#GstJpegScanHdr.num-components"/>
+    <keyword type="member" name="GstJpegScanHdr.components" link="gst-plugins-bad-libs-jpegparser.html#GstJpegScanHdr.components"/>
+    <keyword type="member" name="GstJpegScanComponent.component-selector" link="gst-plugins-bad-libs-jpegparser.html#GstJpegScanComponent.component-selector"/>
+    <keyword type="member" name="GstJpegScanComponent.dc-selector" link="gst-plugins-bad-libs-jpegparser.html#GstJpegScanComponent.dc-selector"/>
+    <keyword type="member" name="GstJpegScanComponent.ac-selector" link="gst-plugins-bad-libs-jpegparser.html#GstJpegScanComponent.ac-selector"/>
+    <keyword type="member" name="GstJpegHuffmanTables.dc-tables" link="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables.dc-tables"/>
+    <keyword type="member" name="GstJpegHuffmanTables.ac-tables" link="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables.ac-tables"/>
+    <keyword type="member" name="GstJpegHuffmanTable.huf-bits" link="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTable.huf-bits"/>
+    <keyword type="member" name="GstJpegHuffmanTable.huf-values" link="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTable.huf-values"/>
+    <keyword type="member" name="GstJpegHuffmanTable.valid" link="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTable.valid"/>
+    <keyword type="member" name="GstJpegQuantTable.quant-precision" link="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable.quant-precision"/>
+    <keyword type="member" name="GstJpegQuantTable.quant-table" link="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable.quant-table"/>
+    <keyword type="member" name="GstJpegQuantTable.valid" link="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable.valid"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.width" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.width"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.height" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.height"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.aspect-ratio-info" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.aspect-ratio-info"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.frame-rate-code" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.frame-rate-code"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.bitrate-value" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.bitrate-value"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.vbv-buffer-size-value" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.vbv-buffer-size-value"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.constrained-parameters-flag" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.constrained-parameters-flag"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.load-intra-quantiser-matrix" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.load-intra-quantiser-matrix"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.intra-quantizer-matrix" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.intra-quantizer-matrix"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.load-non-intra-quantiser-matrix" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.load-non-intra-quantiser-matrix"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.non-intra-quantizer-matrix" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.non-intra-quantizer-matrix"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.par-w" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.par-w"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.par-h" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.par-h"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.fps-n" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.fps-n"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.fps-d" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.fps-d"/>
+    <keyword type="member" name="GstMpegVideoSequenceHdr.bitrate" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr.bitrate"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.profile" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.profile"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.level" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.level"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.progressive" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.progressive"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.chroma-format" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.chroma-format"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.horiz-size-ext" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.horiz-size-ext"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.vert-size-ext" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.vert-size-ext"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.bitrate-ext" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.bitrate-ext"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.vbv-buffer-size-extension" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.vbv-buffer-size-extension"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.low-delay" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.low-delay"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.fps-n-ext" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.fps-n-ext"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.fps-d-ext" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.fps-d-ext"/>
+    <keyword type="member" name="GstMpegVideoSequenceExt.profile-level-escape-bit" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt.profile-level-escape-bit"/>
+    <keyword type="member" name="GstMpegVideoPictureHdr.tsn" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr.tsn"/>
+    <keyword type="member" name="GstMpegVideoPictureHdr.pic-type" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr.pic-type"/>
+    <keyword type="member" name="GstMpegVideoPictureHdr.vbv-delay" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr.vbv-delay"/>
+    <keyword type="member" name="GstMpegVideoPictureHdr.full-pel-forward-vector" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr.full-pel-forward-vector"/>
+    <keyword type="member" name="GstMpegVideoPictureHdr.full-pel-backward-vector" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr.full-pel-backward-vector"/>
+    <keyword type="member" name="GstMpegVideoPictureHdr.f-code" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr.f-code"/>
+    <keyword type="member" name="GstMpegVideoGop.drop-frame-flag" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoGop.drop-frame-flag"/>
+    <keyword type="member" name="GstMpegVideoGop.hour" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoGop.hour"/>
+    <keyword type="member" name="GstMpegVideoGop.minute" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoGop.minute"/>
+    <keyword type="member" name="GstMpegVideoGop.second" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoGop.second"/>
+    <keyword type="member" name="GstMpegVideoGop.frame" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoGop.frame"/>
+    <keyword type="member" name="GstMpegVideoGop.closed-gop" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoGop.closed-gop"/>
+    <keyword type="member" name="GstMpegVideoGop.broken-link" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoGop.broken-link"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.f-code" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.f-code"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.intra-dc-precision" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.intra-dc-precision"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.picture-structure" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.picture-structure"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.top-field-first" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.top-field-first"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.frame-pred-frame-dct" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.frame-pred-frame-dct"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.concealment-motion-vectors" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.concealment-motion-vectors"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.q-scale-type" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.q-scale-type"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.intra-vlc-format" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.intra-vlc-format"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.alternate-scan" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.alternate-scan"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.repeat-first-field" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.repeat-first-field"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.chroma-420-type" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.chroma-420-type"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.progressive-frame" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.progressive-frame"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.composite-display" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.composite-display"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.v-axis" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.v-axis"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.field-sequence" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.field-sequence"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.sub-carrier" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.sub-carrier"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.burst-amplitude" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.burst-amplitude"/>
+    <keyword type="member" name="GstMpegVideoPictureExt.sub-carrier-phase" link="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt.sub-carrier-phase"/>
+    <keyword type="member" name="GstMpeg4Packet.data" link="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4Packet.data"/>
+    <keyword type="member" name="GstMpeg4Packet.offset" link="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4Packet.offset"/>
+    <keyword type="member" name="GstMpeg4Packet.size" link="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4Packet.size"/>
+    <keyword type="member" name="GstMpeg4Packet.marker-size" link="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4Packet.marker-size"/>
+    <keyword type="member" name="GstMpeg4Packet.type" link="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4Packet.type"/>
+    <keyword type="member" name="GstMpeg4VideoPacketHdr.header-extension-code" link="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoPacketHdr.header-extension-code"/>
+    <keyword type="member" name="GstMpeg4VideoPacketHdr.macroblock-number" link="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoPacketHdr.macroblock-number"/>
+    <keyword type="member" name="GstMpeg4VideoPacketHdr.quant-scale" link="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoPacketHdr.quant-scale"/>
+    <keyword type="member" name="GstMpeg4VideoPacketHdr.size" link="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoPacketHdr.size"/>
+    <keyword type="member" name="GstVC1PicAdvanced.fcm" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.fcm"/>
+    <keyword type="member" name="GstVC1PicAdvanced.tfcntr" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.tfcntr"/>
+    <keyword type="member" name="GstVC1PicAdvanced.rptfrm" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.rptfrm"/>
+    <keyword type="member" name="GstVC1PicAdvanced.tff" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.tff"/>
+    <keyword type="member" name="GstVC1PicAdvanced.rff" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.rff"/>
+    <keyword type="member" name="GstVC1PicAdvanced.ps-present" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.ps-present"/>
+    <keyword type="member" name="GstVC1PicAdvanced.ps-hoffset" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.ps-hoffset"/>
+    <keyword type="member" name="GstVC1PicAdvanced.ps-voffset" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.ps-voffset"/>
+    <keyword type="member" name="GstVC1PicAdvanced.ps-width" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.ps-width"/>
+    <keyword type="member" name="GstVC1PicAdvanced.ps-height" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.ps-height"/>
+    <keyword type="member" name="GstVC1PicAdvanced.rndctrl" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.rndctrl"/>
+    <keyword type="member" name="GstVC1PicAdvanced.uvsamp" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.uvsamp"/>
+    <keyword type="member" name="GstVC1PicAdvanced.postproc" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.postproc"/>
+    <keyword type="member" name="GstVC1PicAdvanced.mvrange" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.mvrange"/>
+    <keyword type="member" name="GstVC1PicAdvanced.mvmode" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.mvmode"/>
+    <keyword type="member" name="GstVC1PicAdvanced.mvtab" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.mvtab"/>
+    <keyword type="member" name="GstVC1PicAdvanced.cbptab" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.cbptab"/>
+    <keyword type="member" name="GstVC1PicAdvanced.ttmbf" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.ttmbf"/>
+    <keyword type="member" name="GstVC1PicAdvanced.ttfrm" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.ttfrm"/>
+    <keyword type="member" name="GstVC1PicAdvanced.bfraction" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.bfraction"/>
+    <keyword type="member" name="GstVC1PicAdvanced.mvmode2" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.mvmode2"/>
+    <keyword type="member" name="GstVC1PicAdvanced.lumscale" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.lumscale"/>
+    <keyword type="member" name="GstVC1PicAdvanced.lumshift" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.lumshift"/>
+    <keyword type="member" name="GstVC1PicAdvanced.bf" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.bf"/>
+    <keyword type="member" name="GstVC1PicAdvanced.condover" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.condover"/>
+    <keyword type="member" name="GstVC1PicAdvanced.transacfrm2" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.transacfrm2"/>
+    <keyword type="member" name="GstVC1PicAdvanced.acpred" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.acpred"/>
+    <keyword type="member" name="GstVC1PicAdvanced.overflags" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.overflags"/>
+    <keyword type="member" name="GstVC1PicAdvanced.mvtypemb" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.mvtypemb"/>
+    <keyword type="member" name="GstVC1PicAdvanced.skipmb" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.skipmb"/>
+    <keyword type="member" name="GstVC1PicAdvanced.directmb" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.directmb"/>
+    <keyword type="member" name="GstVC1PicAdvanced.forwardmb" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.forwardmb"/>
+    <keyword type="member" name="GstVC1PicAdvanced.fieldtx" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.fieldtx"/>
+    <keyword type="member" name="GstVC1PicAdvanced.intcomp" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.intcomp"/>
+    <keyword type="member" name="GstVC1PicAdvanced.dmvrange" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.dmvrange"/>
+    <keyword type="member" name="GstVC1PicAdvanced.mbmodetab" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.mbmodetab"/>
+    <keyword type="member" name="GstVC1PicAdvanced.imvtab" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.imvtab"/>
+    <keyword type="member" name="GstVC1PicAdvanced.icbptab" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.icbptab"/>
+    <keyword type="member" name="GstVC1PicAdvanced.mvbptab2" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.mvbptab2"/>
+    <keyword type="member" name="GstVC1PicAdvanced.mvbptab4" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.mvbptab4"/>
+    <keyword type="member" name="GstVC1PicAdvanced.mvswitch4" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.mvswitch4"/>
+    <keyword type="member" name="GstVC1PicAdvanced.refdist" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.refdist"/>
+    <keyword type="member" name="GstVC1PicAdvanced.fptype" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.fptype"/>
+    <keyword type="member" name="GstVC1PicAdvanced.numref" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.numref"/>
+    <keyword type="member" name="GstVC1PicAdvanced.reffield" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.reffield"/>
+    <keyword type="member" name="GstVC1PicAdvanced.lumscale2" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.lumscale2"/>
+    <keyword type="member" name="GstVC1PicAdvanced.lumshift2" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.lumshift2"/>
+    <keyword type="member" name="GstVC1PicAdvanced.intcompfield" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicAdvanced.intcompfield"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.frmcnt" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.frmcnt"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.mvrange" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.mvrange"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.rangeredfrm" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.rangeredfrm"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.respic" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.respic"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.transacfrm2" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.transacfrm2"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.bf" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.bf"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.mvmode" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.mvmode"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.mvtab" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.mvtab"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.ttmbf" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.ttmbf"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.mvmode2" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.mvmode2"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.lumscale" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.lumscale"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.lumshift" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.lumshift"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.cbptab" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.cbptab"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.ttfrm" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.ttfrm"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.bfraction" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.bfraction"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.mvtypemb" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.mvtypemb"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.skipmb" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.skipmb"/>
+    <keyword type="member" name="GstVC1PicSimpleMain.directmb" link="gst-plugins-bad-libs-vc1parser.html#GstVC1PicSimpleMain.directmb"/>
+    <keyword type="member" name="GstMpegVideoMeta.meta" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta.meta"/>
+    <keyword type="member" name="GstMpegVideoMeta.sequencehdr" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta.sequencehdr"/>
+    <keyword type="member" name="GstMpegVideoMeta.sequenceext" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta.sequenceext"/>
+    <keyword type="member" name="GstMpegVideoMeta.sequencedispext" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta.sequencedispext"/>
+    <keyword type="member" name="GstMpegVideoMeta.pichdr" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta.pichdr"/>
+    <keyword type="member" name="GstMpegVideoMeta.picext" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta.picext"/>
+    <keyword type="member" name="GstMpegVideoMeta.quantext" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta.quantext"/>
+    <keyword type="member" name="GstMpegVideoMeta.num-slices" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta.num-slices"/>
+    <keyword type="member" name="GstMpegVideoMeta.slice-offset" link="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta.slice-offset"/>
+    <keyword type="member" name="GstMpegtsSection-struct.section-type" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct.section-type"/>
+    <keyword type="member" name="GstMpegtsSection-struct.pid" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct.pid"/>
+    <keyword type="member" name="GstMpegtsSection-struct.table-id" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct.table-id"/>
+    <keyword type="member" name="GstMpegtsSection-struct.subtable-extension" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct.subtable-extension"/>
+    <keyword type="member" name="GstMpegtsSection-struct.version-number" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct.version-number"/>
+    <keyword type="member" name="GstMpegtsSection-struct.current-next-indicator" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct.current-next-indicator"/>
+    <keyword type="member" name="GstMpegtsSection-struct.section-number" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct.section-number"/>
+    <keyword type="member" name="GstMpegtsSection-struct.last-section-number" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct.last-section-number"/>
+    <keyword type="member" name="GstMpegtsSection-struct.crc" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct.crc"/>
+    <keyword type="member" name="GstMpegtsPatProgram.program-number" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram.program-number"/>
+    <keyword type="member" name="GstMpegtsPatProgram.network-or-program-map-PID" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram.network-or-program-map-PID"/>
+    <keyword type="member" name="GstMpegtsPMT.pcr-pid" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT.pcr-pid"/>
+    <keyword type="member" name="GstMpegtsPMT.program-number" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT.program-number"/>
+    <keyword type="member" name="GstMpegtsPMT.descriptors" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT.descriptors"/>
+    <keyword type="member" name="GstMpegtsPMT.streams" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT.streams"/>
+    <keyword type="member" name="GstMpegtsPMTStream.stream-type" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream.stream-type"/>
+    <keyword type="member" name="GstMpegtsPMTStream.pid" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream.pid"/>
+    <keyword type="member" name="GstMpegtsPMTStream.descriptors" link="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream.descriptors"/>
+    <keyword type="member" name="GstMpegtsDescriptor-struct.tag" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor-struct.tag"/>
+    <keyword type="member" name="GstMpegtsDescriptor-struct.tag-extension" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor-struct.tag-extension"/>
+    <keyword type="member" name="GstMpegtsDescriptor-struct.length" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor-struct.length"/>
+    <keyword type="member" name="GstMpegtsDescriptor-struct.data" link="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor-struct.data"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.short-name" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.short-name"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.major-channel-number" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.major-channel-number"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.minor-channel-number" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.minor-channel-number"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.modulation-mode" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.modulation-mode"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.carrier-frequency" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.carrier-frequency"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.channel-TSID" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.channel-TSID"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.program-number" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.program-number"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.ETM-location" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.ETM-location"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.access-controlled" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.access-controlled"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.hidden" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.hidden"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.path-select" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.path-select"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.out-of-band" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.out-of-band"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.hide-guide" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.hide-guide"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.service-type" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.service-type"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.source-id" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.source-id"/>
+    <keyword type="member" name="GstMpegtsAtscVCTSource.descriptors" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource.descriptors"/>
+    <keyword type="member" name="GstMpegtsAtscVCT.transport-stream-id" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT.transport-stream-id"/>
+    <keyword type="member" name="GstMpegtsAtscVCT.protocol-version" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT.protocol-version"/>
+    <keyword type="member" name="GstMpegtsAtscVCT.sources" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT.sources"/>
+    <keyword type="member" name="GstMpegtsAtscVCT.descriptors" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT.descriptors"/>
+    <keyword type="member" name="GstMpegtsAtscMGTTable.table-type" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTable.table-type"/>
+    <keyword type="member" name="GstMpegtsAtscMGTTable.pid" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTable.pid"/>
+    <keyword type="member" name="GstMpegtsAtscMGTTable.version-number" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTable.version-number"/>
+    <keyword type="member" name="GstMpegtsAtscMGTTable.number-bytes" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTable.number-bytes"/>
+    <keyword type="member" name="GstMpegtsAtscMGTTable.descriptors" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTable.descriptors"/>
+    <keyword type="member" name="GstMpegtsAtscMGT.protocol-version" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT.protocol-version"/>
+    <keyword type="member" name="GstMpegtsAtscMGT.tables-defined" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT.tables-defined"/>
+    <keyword type="member" name="GstMpegtsAtscMGT.tables" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT.tables"/>
+    <keyword type="member" name="GstMpegtsAtscMGT.descriptors" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT.descriptors"/>
+    <keyword type="member" name="GstMpegtsAtscMultString.iso-639-langcode" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMultString.iso-639-langcode"/>
+    <keyword type="member" name="GstMpegtsAtscMultString.segments" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMultString.segments"/>
+    <keyword type="member" name="GstMpegtsAtscEITEvent.event-id" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEITEvent.event-id"/>
+    <keyword type="member" name="GstMpegtsAtscEITEvent.start-time" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEITEvent.start-time"/>
+    <keyword type="member" name="GstMpegtsAtscEITEvent.etm-location" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEITEvent.etm-location"/>
+    <keyword type="member" name="GstMpegtsAtscEITEvent.length-in-seconds" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEITEvent.length-in-seconds"/>
+    <keyword type="member" name="GstMpegtsAtscEITEvent.titles" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEITEvent.titles"/>
+    <keyword type="member" name="GstMpegtsAtscEITEvent.descriptors" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEITEvent.descriptors"/>
+    <keyword type="member" name="GstMpegtsAtscEIT.source-id" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEIT.source-id"/>
+    <keyword type="member" name="GstMpegtsAtscEIT.protocol-version" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEIT.protocol-version"/>
+    <keyword type="member" name="GstMpegtsAtscEIT.events" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEIT.events"/>
+    <keyword type="member" name="GstMpegtsAtscETT.ett-table-id-extension" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT.ett-table-id-extension"/>
+    <keyword type="member" name="GstMpegtsAtscETT.protocol-version" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT.protocol-version"/>
+    <keyword type="member" name="GstMpegtsAtscETT.etm-id" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT.etm-id"/>
+    <keyword type="member" name="GstMpegtsAtscETT.messages" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT.messages"/>
+    <keyword type="member" name="GstMpegtsAtscSTT.protocol-version" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT.protocol-version"/>
+    <keyword type="member" name="GstMpegtsAtscSTT.system-time" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT.system-time"/>
+    <keyword type="member" name="GstMpegtsAtscSTT.gps-utc-offset" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT.gps-utc-offset"/>
+    <keyword type="member" name="GstMpegtsAtscSTT.ds-status" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT.ds-status"/>
+    <keyword type="member" name="GstMpegtsAtscSTT.ds-dayofmonth" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT.ds-dayofmonth"/>
+    <keyword type="member" name="GstMpegtsAtscSTT.ds-hour" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT.ds-hour"/>
+    <keyword type="member" name="GstMpegtsAtscSTT.descriptors" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT.descriptors"/>
+    <keyword type="member" name="GstMpegtsAtscSTT.utc-datetime" link="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT.utc-datetime"/>
+    <keyword type="member" name="GstMpegtsNIT.actual-network" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT.actual-network"/>
+    <keyword type="member" name="GstMpegtsNIT.network-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT.network-id"/>
+    <keyword type="member" name="GstMpegtsNIT.descriptors" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT.descriptors"/>
+    <keyword type="member" name="GstMpegtsNIT.streams" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT.streams"/>
+    <keyword type="member" name="GstMpegtsNITStream.transport-stream-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream.transport-stream-id"/>
+    <keyword type="member" name="GstMpegtsNITStream.original-network-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream.original-network-id"/>
+    <keyword type="member" name="GstMpegtsNITStream.descriptors" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream.descriptors"/>
+    <keyword type="member" name="GstMpegtsBAT.descriptors" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBAT.descriptors"/>
+    <keyword type="member" name="GstMpegtsBAT.streams" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBAT.streams"/>
+    <keyword type="member" name="GstMpegtsSDT.original-network-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT.original-network-id"/>
+    <keyword type="member" name="GstMpegtsSDT.actual-ts" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT.actual-ts"/>
+    <keyword type="member" name="GstMpegtsSDT.transport-stream-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT.transport-stream-id"/>
+    <keyword type="member" name="GstMpegtsSDT.services" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT.services"/>
+    <keyword type="member" name="GstMpegtsSDTService.service-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService.service-id"/>
+    <keyword type="member" name="GstMpegtsSDTService.EIT-schedule-flag" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService.EIT-schedule-flag"/>
+    <keyword type="member" name="GstMpegtsSDTService.EIT-present-following-flag" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService.EIT-present-following-flag"/>
+    <keyword type="member" name="GstMpegtsSDTService.running-status" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService.running-status"/>
+    <keyword type="member" name="GstMpegtsSDTService.free-CA-mode" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService.free-CA-mode"/>
+    <keyword type="member" name="GstMpegtsSDTService.descriptors" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService.descriptors"/>
+    <keyword type="member" name="GstMpegtsEIT.transport-stream-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT.transport-stream-id"/>
+    <keyword type="member" name="GstMpegtsEIT.original-network-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT.original-network-id"/>
+    <keyword type="member" name="GstMpegtsEIT.segment-last-section-number" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT.segment-last-section-number"/>
+    <keyword type="member" name="GstMpegtsEIT.last-table-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT.last-table-id"/>
+    <keyword type="member" name="GstMpegtsEIT.actual-stream" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT.actual-stream"/>
+    <keyword type="member" name="GstMpegtsEIT.present-following" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT.present-following"/>
+    <keyword type="member" name="GstMpegtsEIT.events" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT.events"/>
+    <keyword type="member" name="GstMpegtsEITEvent.event-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEITEvent.event-id"/>
+    <keyword type="member" name="GstMpegtsEITEvent.start-time" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEITEvent.start-time"/>
+    <keyword type="member" name="GstMpegtsEITEvent.duration" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEITEvent.duration"/>
+    <keyword type="member" name="GstMpegtsEITEvent.running-status" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEITEvent.running-status"/>
+    <keyword type="member" name="GstMpegtsEITEvent.free-CA-mode" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEITEvent.free-CA-mode"/>
+    <keyword type="member" name="GstMpegtsEITEvent.descriptors" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEITEvent.descriptors"/>
+    <keyword type="member" name="GstMpegtsTOT.utc-time" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsTOT.utc-time"/>
+    <keyword type="member" name="GstMpegtsTOT.descriptors" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsTOT.descriptors"/>
+    <keyword type="member" name="GstMpegtsExtendedEventDescriptor.descriptor-number" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor.descriptor-number"/>
+    <keyword type="member" name="GstMpegtsExtendedEventDescriptor.last-descriptor-number" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor.last-descriptor-number"/>
+    <keyword type="member" name="GstMpegtsExtendedEventDescriptor.language-code" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor.language-code"/>
+    <keyword type="member" name="GstMpegtsExtendedEventDescriptor.items" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor.items"/>
+    <keyword type="member" name="GstMpegtsExtendedEventDescriptor.text" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor.text"/>
+    <keyword type="member" name="GstMpegtsSatelliteDeliverySystemDescriptor.frequency" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor.frequency"/>
+    <keyword type="member" name="GstMpegtsSatelliteDeliverySystemDescriptor.orbital-position" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor.orbital-position"/>
+    <keyword type="member" name="GstMpegtsSatelliteDeliverySystemDescriptor.west-east" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor.west-east"/>
+    <keyword type="member" name="GstMpegtsSatelliteDeliverySystemDescriptor.polarization" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor.polarization"/>
+    <keyword type="member" name="GstMpegtsSatelliteDeliverySystemDescriptor.roll-off" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor.roll-off"/>
+    <keyword type="member" name="GstMpegtsSatelliteDeliverySystemDescriptor.modulation-system" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor.modulation-system"/>
+    <keyword type="member" name="GstMpegtsSatelliteDeliverySystemDescriptor.modulation-type" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor.modulation-type"/>
+    <keyword type="member" name="GstMpegtsSatelliteDeliverySystemDescriptor.symbol-rate" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor.symbol-rate"/>
+    <keyword type="member" name="GstMpegtsSatelliteDeliverySystemDescriptor.fec-inner" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor.fec-inner"/>
+    <keyword type="member" name="GstMpegtsCableDeliverySystemDescriptor.frequency" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor.frequency"/>
+    <keyword type="member" name="GstMpegtsCableDeliverySystemDescriptor.outer-fec" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor.outer-fec"/>
+    <keyword type="member" name="GstMpegtsCableDeliverySystemDescriptor.modulation" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor.modulation"/>
+    <keyword type="member" name="GstMpegtsCableDeliverySystemDescriptor.symbol-rate" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor.symbol-rate"/>
+    <keyword type="member" name="GstMpegtsCableDeliverySystemDescriptor.fec-inner" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor.fec-inner"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.frequency" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.frequency"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.bandwidth" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.bandwidth"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.priority" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.priority"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.time-slicing" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.time-slicing"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.mpe-fec" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.mpe-fec"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.constellation" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.constellation"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.hierarchy" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.hierarchy"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.code-rate-hp" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.code-rate-hp"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.code-rate-lp" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.code-rate-lp"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.guard-interval" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.guard-interval"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.transmission-mode" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.transmission-mode"/>
+    <keyword type="member" name="GstMpegtsTerrestrialDeliverySystemDescriptor.other-frequency" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor.other-frequency"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemCellExtension.cell-id-extension" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCellExtension.cell-id-extension"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemCellExtension.transposer-frequency" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCellExtension.transposer-frequency"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemCell.cell-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCell.cell-id"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemCell.centre-frequencies" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCell.centre-frequencies"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemCell.sub-cells" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCell.sub-cells"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemDescriptor.plp-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor.plp-id"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemDescriptor.t2-system-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor.t2-system-id"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemDescriptor.siso-miso" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor.siso-miso"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemDescriptor.bandwidth" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor.bandwidth"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemDescriptor.guard-interval" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor.guard-interval"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemDescriptor.transmission-mode" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor.transmission-mode"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemDescriptor.other-frequency" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor.other-frequency"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemDescriptor.tfs" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor.tfs"/>
+    <keyword type="member" name="GstMpegtsT2DeliverySystemDescriptor.cells" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor.cells"/>
+    <keyword type="member" name="GstMpegtsDVBLinkageDescriptor.transport-stream-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor.transport-stream-id"/>
+    <keyword type="member" name="GstMpegtsDVBLinkageDescriptor.original-network-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor.original-network-id"/>
+    <keyword type="member" name="GstMpegtsDVBLinkageDescriptor.service-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor.service-id"/>
+    <keyword type="member" name="GstMpegtsDVBLinkageDescriptor.linkage-type" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor.linkage-type"/>
+    <keyword type="member" name="GstMpegtsDVBLinkageDescriptor.private-data-length" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor.private-data-length"/>
+    <keyword type="member" name="GstMpegtsDVBLinkageDescriptor.private-data-bytes" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor.private-data-bytes"/>
+    <keyword type="member" name="GstMpegtsDataBroadcastDescriptor.data-broadcast-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor.data-broadcast-id"/>
+    <keyword type="member" name="GstMpegtsDataBroadcastDescriptor.component-tag" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor.component-tag"/>
+    <keyword type="member" name="GstMpegtsDataBroadcastDescriptor.length" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor.length"/>
+    <keyword type="member" name="GstMpegtsDataBroadcastDescriptor.selector-bytes" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor.selector-bytes"/>
+    <keyword type="member" name="GstMpegtsDataBroadcastDescriptor.language-code" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor.language-code"/>
+    <keyword type="member" name="GstMpegtsDataBroadcastDescriptor.text" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor.text"/>
+    <keyword type="member" name="GstMpegtsDVBServiceListItem.service-id" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceListItem.service-id"/>
+    <keyword type="member" name="GstMpegtsDVBServiceListItem.type" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceListItem.type"/>
+    <keyword type="member" name="GstMpegtsDvbMultilingualNetworkNameItem.language-code" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualNetworkNameItem.language-code"/>
+    <keyword type="member" name="GstMpegtsDvbMultilingualNetworkNameItem.network-name" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualNetworkNameItem.network-name"/>
+    <keyword type="member" name="GstMpegtsDvbMultilingualBouquetNameItem.language-code" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualBouquetNameItem.language-code"/>
+    <keyword type="member" name="GstMpegtsDvbMultilingualBouquetNameItem.bouquet-name" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualBouquetNameItem.bouquet-name"/>
+    <keyword type="member" name="GstMpegtsDvbMultilingualServiceNameItem.language-code" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualServiceNameItem.language-code"/>
+    <keyword type="member" name="GstMpegtsDvbMultilingualServiceNameItem.provider-name" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualServiceNameItem.provider-name"/>
+    <keyword type="member" name="GstMpegtsDvbMultilingualServiceNameItem.service-name" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualServiceNameItem.service-name"/>
+    <keyword type="member" name="GstMpegtsDvbMultilingualComponentItem.language-code" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualComponentItem.language-code"/>
+    <keyword type="member" name="GstMpegtsDvbMultilingualComponentItem.description" link="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualComponentItem.description"/>
+    <keyword type="member" name="GstAggregator.parent" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregator.parent"/>
+    <keyword type="member" name="GstAggregator.srcpad" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregator.srcpad"/>
+    <keyword type="member" name="GstAggregator.segment" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregator.segment"/>
+    <keyword type="member" name="GstAggregatorClass.sinkpads-type" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.sinkpads-type"/>
+    <keyword type="member" name="GstAggregatorClass.flush" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.flush"/>
+    <keyword type="member" name="GstAggregatorClass.clip" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.clip"/>
+    <keyword type="member" name="GstAggregatorClass.sink-event" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.sink-event"/>
+    <keyword type="member" name="GstAggregatorClass.sink-query" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.sink-query"/>
+    <keyword type="member" name="GstAggregatorClass.src-event" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.src-event"/>
+    <keyword type="member" name="GstAggregatorClass.src-query" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.src-query"/>
+    <keyword type="member" name="GstAggregatorClass.src-activate" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.src-activate"/>
+    <keyword type="member" name="GstAggregatorClass.aggregate" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.aggregate"/>
+    <keyword type="member" name="GstAggregatorClass.stop" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.stop"/>
+    <keyword type="member" name="GstAggregatorClass.start" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.start"/>
+    <keyword type="member" name="GstAggregatorClass.get-next-time" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.get-next-time"/>
+    <keyword type="member" name="GstAggregatorClass.create-new-pad" link="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.create-new-pad"/>
+    <keyword type="member" name="GstAggregatorPad.parent" link="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad.parent"/>
+    <keyword type="member" name="GstAggregatorPad.segment" link="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad.segment"/>
+    <keyword type="member" name="GstAggregatorPad.clip-segment" link="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad.clip-segment"/>
+    <keyword type="member" name="GstAggregatorPad.priv" link="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad.priv"/>
+    <keyword type="member" name="GstAggregatorPad.-gst-reserved" link="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad.-gst-reserved"/>
+    <keyword type="member" name="GstAggregatorPadClass.flush" link="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPadClass.flush"/>
+    <keyword type="member" name="GstVideoAggregator.aggregator" link="gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregator.aggregator"/>
+    <keyword type="member" name="GstVideoAggregator.info" link="gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregator.info"/>
+    <keyword type="member" name="GstVideoAggregatorClass.update-caps" link="gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregatorClass.update-caps"/>
+    <keyword type="member" name="GstVideoAggregatorClass.fixate-caps" link="gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregatorClass.fixate-caps"/>
+    <keyword type="member" name="GstVideoAggregatorClass.aggregate-frames" link="gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregatorClass.aggregate-frames"/>
+    <keyword type="member" name="GstVideoAggregatorClass.get-output-buffer" link="gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregatorClass.get-output-buffer"/>
+    <keyword type="member" name="GstVideoAggregatorClass.negotiated-caps" link="gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregatorClass.negotiated-caps"/>
+    <keyword type="member" name="GstVideoAggregatorClass.find-best-format" link="gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregatorClass.find-best-format"/>
+    <keyword type="member" name="GstVideoAggregatorClass.sink-non-alpha-caps" link="gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregatorClass.sink-non-alpha-caps"/>
+    <keyword type="member" name="GstVideoAggregatorPad.parent" link="gst-plugins-bad-libs-GstVideoAggregatorPad.html#GstVideoAggregatorPad.parent"/>
+    <keyword type="member" name="GstVideoAggregatorPad.info" link="gst-plugins-bad-libs-GstVideoAggregatorPad.html#GstVideoAggregatorPad.info"/>
+    <keyword type="member" name="GstVideoAggregatorPad.buffer" link="gst-plugins-bad-libs-GstVideoAggregatorPad.html#GstVideoAggregatorPad.buffer"/>
+    <keyword type="member" name="GstVideoAggregatorPad.buffer-vinfo" link="gst-plugins-bad-libs-GstVideoAggregatorPad.html#GstVideoAggregatorPad.buffer-vinfo"/>
+    <keyword type="member" name="GstVideoAggregatorPad.aggregated-frame" link="gst-plugins-bad-libs-GstVideoAggregatorPad.html#GstVideoAggregatorPad.aggregated-frame"/>
+    <keyword type="member" name="GstVideoAggregatorPad.zorder" link="gst-plugins-bad-libs-GstVideoAggregatorPad.html#GstVideoAggregatorPad.zorder"/>
+    <keyword type="member" name="GstVideoAggregatorPad.ignore-eos" link="gst-plugins-bad-libs-GstVideoAggregatorPad.html#GstVideoAggregatorPad.ignore-eos"/>
+    <keyword type="member" name="GstGLBaseMemoryAllocatorClass.alloc" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.alloc"/>
+    <keyword type="member" name="GstGLBaseMemoryAllocatorClass.create" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.create"/>
+    <keyword type="member" name="GstGLBaseMemoryAllocatorClass.map" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.map"/>
+    <keyword type="member" name="GstGLBaseMemoryAllocatorClass.flush" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.flush"/>
+    <keyword type="member" name="GstGLBaseMemoryAllocatorClass.invalidate" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.invalidate"/>
+    <keyword type="member" name="GstGLBaseMemoryAllocatorClass.unmap" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.unmap"/>
+    <keyword type="member" name="GstGLBaseMemoryAllocatorClass.copy" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.copy"/>
+    <keyword type="member" name="GstGLBaseMemoryAllocatorClass.destroy" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorClass.destroy"/>
+    <keyword type="member" name="GstGLAllocationParams.struct-size" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.struct-size"/>
+    <keyword type="member" name="GstGLAllocationParams.copy" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.copy"/>
+    <keyword type="member" name="GstGLAllocationParams.free" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.free"/>
+    <keyword type="member" name="GstGLAllocationParams.alloc-flags" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.alloc-flags"/>
+    <keyword type="member" name="GstGLAllocationParams.alloc-size" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.alloc-size"/>
+    <keyword type="member" name="GstGLAllocationParams.alloc-params" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.alloc-params"/>
+    <keyword type="member" name="GstGLAllocationParams.context" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.context"/>
+    <keyword type="member" name="GstGLAllocationParams.notify" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.notify"/>
+    <keyword type="member" name="GstGLAllocationParams.user-data" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.user-data"/>
+    <keyword type="member" name="GstGLAllocationParams.wrapped-data" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.wrapped-data"/>
+    <keyword type="member" name="GstGLAllocationParams.gl-handle" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams.gl-handle"/>
+    <keyword type="member" name="GstGLBaseMemory.mem" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory.mem"/>
+    <keyword type="member" name="GstGLBaseMemory.context" link="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory.context"/>
+    <keyword type="member" name="GstGLBaseFilterClass.supported-gl-api" link="GstGLBaseFilter.html#GstGLBaseFilterClass.supported-gl-api"/>
+    <keyword type="member" name="GstGLBaseFilterClass.gl-start" link="GstGLBaseFilter.html#GstGLBaseFilterClass.gl-start"/>
+    <keyword type="member" name="GstGLBaseFilterClass.gl-stop" link="GstGLBaseFilter.html#GstGLBaseFilterClass.gl-stop"/>
+    <keyword type="member" name="GstGLBaseFilterClass.gl-set-caps" link="GstGLBaseFilter.html#GstGLBaseFilterClass.gl-set-caps"/>
+    <keyword type="member" name="GstGLBuffer.mem" link="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBuffer.mem"/>
+    <keyword type="member" name="GstGLBuffer.id" link="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBuffer.id"/>
+    <keyword type="member" name="GstGLBuffer.target" link="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBuffer.target"/>
+    <keyword type="member" name="GstGLBuffer.usage-hints" link="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBuffer.usage-hints"/>
+    <keyword type="member" name="GstGLBufferAllocationParams.parent" link="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBufferAllocationParams.parent"/>
+    <keyword type="member" name="GstGLBufferAllocationParams.gl-target" link="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBufferAllocationParams.gl-target"/>
+    <keyword type="member" name="GstGLBufferAllocationParams.gl-usage" link="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBufferAllocationParams.gl-usage"/>
+    <keyword type="member" name="GstGLFilterClass.set-caps" link="GstGLFilter.html#GstGLFilterClass.set-caps"/>
+    <keyword type="member" name="GstGLFilterClass.filter" link="GstGLFilter.html#GstGLFilterClass.filter"/>
+    <keyword type="member" name="GstGLFilterClass.filter-texture" link="GstGLFilter.html#GstGLFilterClass.filter-texture"/>
+    <keyword type="member" name="GstGLFilterClass.init-fbo" link="GstGLFilter.html#GstGLFilterClass.init-fbo"/>
+    <keyword type="member" name="GstGLFilterClass.transform-internal-caps" link="GstGLFilter.html#GstGLFilterClass.transform-internal-caps"/>
+    <keyword type="member" name="GstGLFilterClass.display-init-cb" link="GstGLFilter.html#GstGLFilterClass.display-init-cb"/>
+    <keyword type="member" name="GstGLFilterClass.display-reset-cb" link="GstGLFilter.html#GstGLFilterClass.display-reset-cb"/>
+    <keyword type="member" name="GstGLMemory.mem" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.mem"/>
+    <keyword type="member" name="GstGLMemory.tex-id" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.tex-id"/>
+    <keyword type="member" name="GstGLMemory.tex-target" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.tex-target"/>
+    <keyword type="member" name="GstGLMemory.tex-type" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.tex-type"/>
+    <keyword type="member" name="GstGLMemory.info" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.info"/>
+    <keyword type="member" name="GstGLMemory.valign" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.valign"/>
+    <keyword type="member" name="GstGLMemory.plane" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.plane"/>
+    <keyword type="member" name="GstGLMemory.tex-scaling" link="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory.tex-scaling"/>
+    <keyword type="member" name="GstGLWindowClass.get-display" link="GstGLWindow.html#GstGLWindowClass.get-display"/>
+    <keyword type="member" name="GstGLWindowClass.set-window-handle" link="GstGLWindow.html#GstGLWindowClass.set-window-handle"/>
+    <keyword type="member" name="GstGLWindowClass.get-window-handle" link="GstGLWindow.html#GstGLWindowClass.get-window-handle"/>
+    <keyword type="member" name="GstGLWindowClass.draw" link="GstGLWindow.html#GstGLWindowClass.draw"/>
+    <keyword type="member" name="GstGLWindowClass.run" link="GstGLWindow.html#GstGLWindowClass.run"/>
+    <keyword type="member" name="GstGLWindowClass.quit" link="GstGLWindow.html#GstGLWindowClass.quit"/>
+    <keyword type="member" name="GstGLWindowClass.send-message" link="GstGLWindow.html#GstGLWindowClass.send-message"/>
+    <keyword type="member" name="GstGLWindowClass.send-message-async" link="GstGLWindow.html#GstGLWindowClass.send-message-async"/>
+    <keyword type="member" name="GstGLWindowClass.open" link="GstGLWindow.html#GstGLWindowClass.open"/>
+    <keyword type="member" name="GstGLWindowClass.close" link="GstGLWindow.html#GstGLWindowClass.close"/>
+    <keyword type="member" name="GstGLWindowClass.handle-events" link="GstGLWindow.html#GstGLWindowClass.handle-events"/>
+    <keyword type="member" name="GstGLWindowClass.set-preferred-size" link="GstGLWindow.html#GstGLWindowClass.set-preferred-size"/>
+    <keyword type="member" name="GstGLWindowClass.show" link="GstGLWindow.html#GstGLWindowClass.show"/>
+    <keyword type="member" name="GstGLWindowClass.set-render-rectangle" link="GstGLWindow.html#GstGLWindowClass.set-render-rectangle"/>
+    <keyword type="member" name="GstGLWindowClass.queue-resize" link="GstGLWindow.html#GstGLWindowClass.queue-resize"/>
+    <keyword type="member" name="GstPlayerVisualization-struct.name" link="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization-struct.name"/>
+    <keyword type="member" name="GstPlayerVisualization-struct.description" link="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization-struct.description"/>
   </functions>
 </book>
diff --git a/docs/libs/html/gst-plugins-bad-libs-gst-atsc-descriptor.html b/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html
similarity index 72%
rename from docs/libs/html/gst-plugins-bad-libs-gst-atsc-descriptor.html
rename to docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html
index 54af81d..d8ac88d 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gst-atsc-descriptor.html
+++ b/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html
@@ -2,12 +2,12 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>gst-atsc-descriptor: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
+<title>ATSC variants of MPEG-TS descriptors: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="mpegts.html" title="Mpeg TS helper library">
-<link rel="prev" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">
-<link rel="next" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">
+<link rel="prev" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">
+<link rel="next" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -15,24 +15,24 @@
 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
 <td width="100%" align="left" class="shortcuts">
 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gst-atsc-descriptor.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.description" class="shortcut">Description</a></span>
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-libs-gst-dvb-section.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-libs-gst-dvb-descriptor.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
-<a name="gst-plugins-bad-libs-gst-atsc-descriptor"></a><div class="titlepage"></div>
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gst-atsc-descriptor.top_of_page"></a>gst-atsc-descriptor</span></h2>
-<p>gst-atsc-descriptor</p>
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.top_of_page"></a>ATSC variants of MPEG-TS descriptors</span></h2>
+<p>ATSC variants of MPEG-TS descriptors — Descriptors for the various ATSC specifications</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-atsc-descriptor.other"></a><h2>Types and Values</h2>
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
 <col width="150px" class="name">
@@ -40,21 +40,29 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-descriptor.html#GstMpegtsATSCDescriptorType" title="enum GstMpegtsATSCDescriptorType">GstMpegtsATSCDescriptorType</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html#GstMpegtsATSCDescriptorType" title="enum GstMpegtsATSCDescriptorType">GstMpegtsATSCDescriptorType</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-atsc-descriptor.description"></a><h2>Description</h2>
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;gst/mpegts/mpegts.h&gt;
+</pre>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-atsc-descriptor.functions_details"></a><h2>Functions</h2>
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.functions_details"></a><h2>Functions</h2>
 <p></p>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-atsc-descriptor.other_details"></a><h2>Types and Values</h2>
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstMpegtsATSCDescriptorType"></a><h3>enum GstMpegtsATSCDescriptorType</h3>
+<p>These values correspond to the registered descriptor type from
+the various ATSC specifications.</p>
+<p>Consult the relevant specifications for more details.</p>
 <div class="refsect3">
 <a name="GstMpegtsATSCDescriptorType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
diff --git a/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html b/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html
new file mode 100644
index 0000000..dd8df26
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html
@@ -0,0 +1,995 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>ATSC variants of MPEG-TS sections: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
+<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
+<link rel="prev" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">
+<link rel="next" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html" title="DVB variants of MPEG-TS sections">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.top_of_page"></a>ATSC variants of MPEG-TS sections</span></h2>
+<p>ATSC variants of MPEG-TS sections — Sections for the various ATSC specifications</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="returnvalue">GstMpegtsAtscVCT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-tvct" title="gst_mpegts_section_get_atsc_tvct ()">gst_mpegts_section_get_atsc_tvct</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="returnvalue">GstMpegtsAtscVCT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-cvct" title="gst_mpegts_section_get_atsc_cvct ()">gst_mpegts_section_get_atsc_cvct</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT" title="struct GstMpegtsAtscMGT"><span class="returnvalue">GstMpegtsAtscMGT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-mgt" title="gst_mpegts_section_get_atsc_mgt ()">gst_mpegts_section_get_atsc_mgt</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <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-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-atsc-string-segment-get-string" title="gst_mpegts_atsc_string_segment_get_string ()">gst_mpegts_atsc_string_segment_get_string</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEIT" title="struct GstMpegtsAtscEIT"><span class="returnvalue">GstMpegtsAtscEIT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-eit" title="gst_mpegts_section_get_atsc_eit ()">gst_mpegts_section_get_atsc_eit</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT" title="struct GstMpegtsAtscETT"><span class="returnvalue">GstMpegtsAtscETT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-ett" title="gst_mpegts_section_get_atsc_ett ()">gst_mpegts_section_get_atsc_ett</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT"><span class="returnvalue">GstMpegtsAtscSTT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-atsc-stt" title="gst_mpegts_section_get_atsc_stt ()">gst_mpegts_section_get_atsc_stt</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="returnvalue">GstDateTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#gst-mpegts-atsc-stt-get-datetime-utc" title="gst_mpegts_atsc_stt_get_datetime_utc ()">gst_mpegts_atsc_stt_get_datetime_utc</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.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>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsSectionATSCTableID" title="enum GstMpegtsSectionATSCTableID">GstMpegtsSectionATSCTableID</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCTSource" title="struct GstMpegtsAtscVCTSource">GstMpegtsAtscVCTSource</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT">GstMpegtsAtscVCT</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTableType" title="enum GstMpegtsAtscMGTTableType">GstMpegtsAtscMGTTableType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGTTable" title="struct GstMpegtsAtscMGTTable">GstMpegtsAtscMGTTable</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT" title="struct GstMpegtsAtscMGT">GstMpegtsAtscMGT</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMultString" title="struct GstMpegtsAtscMultString">GstMpegtsAtscMultString</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEITEvent" title="struct GstMpegtsAtscEITEvent">GstMpegtsAtscEITEvent</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEIT" title="struct GstMpegtsAtscEIT">GstMpegtsAtscEIT</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT" title="struct GstMpegtsAtscETT">GstMpegtsAtscETT</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT">GstMpegtsAtscSTT</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;gst/mpegts/mpegts.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-atsc-tvct"></a><h3>gst_mpegts_section_get_atsc_tvct ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="returnvalue">GstMpegtsAtscVCT</span></a> *
+gst_mpegts_section_get_atsc_tvct (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="type">GstMpegtsAtscVCT</span></a> contained in the <em class="parameter"><code>section</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-tvct.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-TVCT:CAPS"><code class="literal">GST_MPEGTS_SECTION_ATSC_TVCT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-tvct.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="type">GstMpegtsAtscVCT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-atsc-cvct"></a><h3>gst_mpegts_section_get_atsc_cvct ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="returnvalue">GstMpegtsAtscVCT</span></a> *
+gst_mpegts_section_get_atsc_cvct (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="type">GstMpegtsAtscVCT</span></a> contained in the <em class="parameter"><code>section</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-cvct.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-CVCT:CAPS"><code class="literal">GST_MPEGTS_SECTION_ATSC_CVCT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-cvct.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="type">GstMpegtsAtscVCT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-atsc-mgt"></a><h3>gst_mpegts_section_get_atsc_mgt ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT" title="struct GstMpegtsAtscMGT"><span class="returnvalue">GstMpegtsAtscMGT</span></a> *
+gst_mpegts_section_get_atsc_mgt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT" title="struct GstMpegtsAtscMGT"><span class="type">GstMpegtsAtscMGT</span></a> contained in the <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-mgt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-MGT:CAPS"><code class="literal">GST_MPEGTS_SECTION_ATSC_MGT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-mgt.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscMGT" title="struct GstMpegtsAtscMGT"><span class="type">GstMpegtsAtscMGT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-atsc-string-segment-get-string"></a><h3>gst_mpegts_atsc_string_segment_get_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_mpegts_atsc_string_segment_get_string
+                               (<em class="parameter"><code><span class="type">GstMpegtsAtscStringSegment</span> *seg</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-atsc-eit"></a><h3>gst_mpegts_section_get_atsc_eit ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEIT" title="struct GstMpegtsAtscEIT"><span class="returnvalue">GstMpegtsAtscEIT</span></a> *
+gst_mpegts_section_get_atsc_eit (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEIT" title="struct GstMpegtsAtscEIT"><span class="type">GstMpegtsAtscEIT</span></a> contained in the <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-eit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-EIT:CAPS"><code class="literal">GST_MPEGTS_SECTION_ATSC_EIT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-eit.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscEIT" title="struct GstMpegtsAtscEIT"><span class="type">GstMpegtsAtscEIT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-atsc-ett"></a><h3>gst_mpegts_section_get_atsc_ett ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT" title="struct GstMpegtsAtscETT"><span class="returnvalue">GstMpegtsAtscETT</span></a> *
+gst_mpegts_section_get_atsc_ett (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT" title="struct GstMpegtsAtscETT"><span class="type">GstMpegtsAtscETT</span></a> contained in the <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-ett.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-ETT:CAPS"><code class="literal">GST_MPEGTS_SECTION_ATSC_ETT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-ett.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscETT" title="struct GstMpegtsAtscETT"><span class="type">GstMpegtsAtscETT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-atsc-stt"></a><h3>gst_mpegts_section_get_atsc_stt ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT"><span class="returnvalue">GstMpegtsAtscSTT</span></a> *
+gst_mpegts_section_get_atsc_stt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT"><span class="type">GstMpegtsAtscSTT</span></a> contained in the <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-stt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-ATSC-STT:CAPS"><code class="literal">GST_MPEGTS_SECTION_ATSC_STT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-atsc-stt.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT"><span class="type">GstMpegtsAtscSTT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-atsc-stt-get-datetime-utc"></a><h3>gst_mpegts_atsc_stt_get_datetime_utc ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="returnvalue">GstDateTime</span></a> *
+gst_mpegts_atsc_stt_get_datetime_utc (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT"><span class="type">GstMpegtsAtscSTT</span></a> *stt</code></em>);</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstMpegtsSectionATSCTableID"></a><h3>enum GstMpegtsSectionATSCTableID</h3>
+<p>Values for a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> table_id.</p>
+<p>These are the registered ATSC table_id variants.</p>
+<p>see also: <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionTableID" title="enum GstMpegtsSectionTableID"><span class="type">GstMpegtsSectionTableID</span></a></p>
+<div class="refsect3">
+<a name="GstMpegtsSectionATSCTableID.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-MTS-TABLE-ID-ATSC-MASTER-GUIDE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-TERRESTRIAL-VIRTUAL-CHANNEL:CAPS"></a>GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-CABLE-VIRTUAL-CHANNEL:CAPS"></a>GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-RATING-REGION:CAPS"></a>GST_MTS_TABLE_ID_ATSC_RATING_REGION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-EVENT-INFORMATION:CAPS"></a>GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-CHANNEL-OR-EVENT-EXTENDED-TEXT:CAPS"></a>GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-SYSTEM-TIME:CAPS"></a>GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-DATA-EVENT:CAPS"></a>GST_MTS_TABLE_ID_ATSC_DATA_EVENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-DATA-SERVICE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_DATA_SERVICE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-NETWORK-RESOURCE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-LONG-TERM-SERVICE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE-SECTION-CODE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-AGGREGATE-EVENT-INFORMATION:CAPS"></a>GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-AGGREGATE-EXTENDED-TEXT:CAPS"></a>GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-AGGREGATE-DATA-EVENT:CAPS"></a>GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-SATELLITE-VIRTUAL-CHANNEL:CAPS"></a>GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsAtscVCTSource"></a><h3>struct GstMpegtsAtscVCTSource</h3>
+<pre class="programlisting">struct GstMpegtsAtscVCTSource {
+  gchar    *short_name;
+  guint16   major_channel_number;
+  guint16   minor_channel_number;
+  guint8    modulation_mode;
+  guint32   carrier_frequency;
+  guint16   channel_TSID;
+  guint16   program_number;
+  /* FIXME: */
+  guint8    ETM_location;
+  gboolean  access_controlled;
+  gboolean  hidden;
+  gboolean  path_select; /* CVCT only - reserved bit in TVCT */
+  gboolean  out_of_band; /* CVCT only - reserved bit in TVCT */
+  gboolean  hide_guide;
+  /* FIXME: */
+  guint8    service_type;
+  guint16   source_id;
+  GPtrArray *descriptors;
+};
+</pre>
+<p>Source from a <em class="parameter"><code>GstMpegtsAtscVCT</code></em>
+, can be used both for TVCT and CVCT tables</p>
+<div class="refsect3">
+<a name="GstMpegtsAtscVCTSource.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="GstMpegtsAtscVCTSource.short-name"></a>short_name</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.major-channel-number"></a>major_channel_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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.minor-channel-number"></a>minor_channel_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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.modulation-mode"></a>modulation_mode</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="GstMpegtsAtscVCTSource.carrier-frequency"></a>carrier_frequency</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.channel-TSID"></a>channel_TSID</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.program-number"></a>program_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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.ETM-location"></a>ETM_location</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.access-controlled"></a>access_controlled</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.hidden"></a>hidden</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.path-select"></a>path_select</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.out-of-band"></a>out_of_band</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.hide-guide"></a>hide_guide</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.service-type"></a>service_type</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCTSource.source-id"></a>source_id</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscVCTSource.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> descriptors. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsAtscVCT"></a><h3>struct GstMpegtsAtscVCT</h3>
+<pre class="programlisting">struct GstMpegtsAtscVCT {
+  guint16   transport_stream_id;
+  guint8    protocol_version;
+  GPtrArray *sources;
+  GPtrArray *descriptors;
+};
+</pre>
+<p>Represents both:
+  Terrestrial Virtual Channel Table (A65)
+  Cable Virtual Channel Table (A65)</p>
+<div class="refsect3">
+<a name="GstMpegtsAtscVCT.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCT.transport-stream-id"></a>transport_stream_id</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsAtscVCT.protocol-version"></a>protocol_version</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscVCT.sources"></a>sources</code></em>;</p></td>
+<td class="struct_member_description"><p> sources. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsAtscVCTSource]</span></td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscVCT.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> descriptors. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsAtscMGTTableType"></a><h3>enum GstMpegtsAtscMGTTableType</h3>
+<div class="refsect3">
+<a name="GstMpegtsAtscMGTTableType.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-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT0:CAPS"></a>GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT127:CAPS"></a>GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT0:CAPS"></a>GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT127:CAPS"></a>GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsAtscMGTTable"></a><h3>struct GstMpegtsAtscMGTTable</h3>
+<pre class="programlisting">struct GstMpegtsAtscMGTTable {
+  guint16 table_type;
+  guint16 pid;
+  guint8  version_number;
+  guint32 number_bytes;
+  GPtrArray *descriptors;
+};
+</pre>
+<p>Source from a <em class="parameter"><code>GstMpegtsAtscMGT</code></em>
+</p>
+<div class="refsect3">
+<a name="GstMpegtsAtscMGTTable.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscMGTTable.table-type"></a>table_type</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscMGTTable.pid"></a>pid</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsAtscMGTTable.version-number"></a>version_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="GstMpegtsAtscMGTTable.number-bytes"></a>number_bytes</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscMGTTable.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> descriptors. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsAtscMGT"></a><h3>struct GstMpegtsAtscMGT</h3>
+<pre class="programlisting">struct GstMpegtsAtscMGT {
+  guint8  protocol_version;
+  guint16 tables_defined;
+  GPtrArray *tables;
+  GPtrArray *descriptors;
+};
+</pre>
+<p>Master Guide Table (A65)</p>
+<div class="refsect3">
+<a name="GstMpegtsAtscMGT.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="GstMpegtsAtscMGT.protocol-version"></a>protocol_version</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscMGT.tables-defined"></a>tables_defined</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscMGT.tables"></a>tables</code></em>;</p></td>
+<td class="struct_member_description"><p> the tables. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsAtscMGTTable]</span></td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscMGT.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> descriptors. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsAtscMultString"></a><h3>struct GstMpegtsAtscMultString</h3>
+<pre class="programlisting">struct GstMpegtsAtscMultString {
+  gchar      iso_639_langcode[4];
+  GPtrArray *segments;
+};
+</pre>
+<div class="refsect3">
+<a name="GstMpegtsAtscMultString.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="GstMpegtsAtscMultString.iso-639-langcode"></a>iso_639_langcode</code></em>[4];</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscMultString.segments"></a>segments</code></em>;</p></td>
+<td class="struct_member_description"><p>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsAtscStringSegment]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsAtscEITEvent"></a><h3>struct GstMpegtsAtscEITEvent</h3>
+<pre class="programlisting">struct GstMpegtsAtscEITEvent {
+  guint16        event_id;
+  guint32        start_time;
+  guint8         etm_location;
+  guint32        length_in_seconds;
+  GPtrArray     *titles;
+
+  GPtrArray *descriptors;
+};
+</pre>
+<p>An ATSC EIT Event</p>
+<div class="refsect3">
+<a name="GstMpegtsAtscEITEvent.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscEITEvent.event-id"></a>event_id</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="GstMpegtsAtscEITEvent.start-time"></a>start_time</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsAtscEITEvent.etm-location"></a>etm_location</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="GstMpegtsAtscEITEvent.length-in-seconds"></a>length_in_seconds</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscEITEvent.titles"></a>titles</code></em>;</p></td>
+<td class="struct_member_description"><p> the titles. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsAtscMultString]</span></td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscEITEvent.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> descriptors. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsAtscEIT"></a><h3>struct GstMpegtsAtscEIT</h3>
+<pre class="programlisting">struct GstMpegtsAtscEIT {
+  guint16        source_id;
+  guint8         protocol_version;
+
+  GPtrArray     *events;
+};
+</pre>
+<p>Event Information Table (ATSC)</p>
+<div class="refsect3">
+<a name="GstMpegtsAtscEIT.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscEIT.source-id"></a>source_id</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsAtscEIT.protocol-version"></a>protocol_version</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscEIT.events"></a>events</code></em>;</p></td>
+<td class="struct_member_description"><p> Events. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsAtscEITEvent]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsAtscETT"></a><h3>struct GstMpegtsAtscETT</h3>
+<pre class="programlisting">struct GstMpegtsAtscETT {
+  guint16        ett_table_id_extension;
+  guint16        protocol_version;
+  guint32        etm_id;
+
+  GPtrArray     *messages;
+};
+</pre>
+<p>Extended Text Table (ATSC)</p>
+<div class="refsect3">
+<a name="GstMpegtsAtscETT.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscETT.ett-table-id-extension"></a>ett_table_id_extension</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsAtscETT.protocol-version"></a>protocol_version</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="GstMpegtsAtscETT.etm-id"></a>etm_id</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscETT.messages"></a>messages</code></em>;</p></td>
+<td class="struct_member_description"><p> List of texts. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsAtscMultString]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsAtscSTT"></a><h3>struct GstMpegtsAtscSTT</h3>
+<pre class="programlisting">struct GstMpegtsAtscSTT {
+  guint8     protocol_version;
+  guint32    system_time;
+  guint8     gps_utc_offset;
+  gboolean   ds_status;
+  guint8     ds_dayofmonth;
+  guint8     ds_hour;
+  GPtrArray *descriptors;
+
+  GstDateTime *utc_datetime;
+};
+</pre>
+<p>System Time Table (A65)</p>
+<div class="refsect3">
+<a name="GstMpegtsAtscSTT.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="GstMpegtsAtscSTT.protocol-version"></a>protocol_version</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="GstMpegtsAtscSTT.system-time"></a>system_time</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsAtscSTT.gps-utc-offset"></a>gps_utc_offset</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMpegtsAtscSTT.ds-status"></a>ds_status</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsAtscSTT.ds-dayofmonth"></a>ds_dayofmonth</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsAtscSTT.ds-hour"></a>ds_hour</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscSTT.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> descriptors. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="type">GstDateTime</span></a> *<em class="structfield"><code><a name="GstMpegtsAtscSTT.utc-datetime"></a>utc_datetime</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</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/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html b/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html
new file mode 100644
index 0000000..deb2cbe
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html
@@ -0,0 +1,938 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Base MPEG-TS descriptors: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
+<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
+<link rel="prev" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">
+<link rel="next" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-Base-MPEG-TS-descriptors.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-Base-MPEG-TS-descriptors.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.top_of_page"></a>Base MPEG-TS descriptors</span></h2>
+<p>Base MPEG-TS descriptors — Descriptors for ITU H.222.0 | ISO/IEC 13818-1</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-find-descriptor" title="gst_mpegts_find_descriptor ()">gst_mpegts_find_descriptor</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-parse-descriptors" title="gst_mpegts_parse_descriptors ()">gst_mpegts_parse_descriptors</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-custom" title="gst_mpegts_descriptor_from_custom ()">gst_mpegts_descriptor_from_custom</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-registration" title="gst_mpegts_descriptor_from_registration ()">gst_mpegts_descriptor_from_registration</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">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-iso-639-language" title="gst_mpegts_descriptor_parse_iso_639_language ()">gst_mpegts_descriptor_parse_iso_639_language</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">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-iso-639-language-idx" title="gst_mpegts_descriptor_parse_iso_639_language_idx ()">gst_mpegts_descriptor_parse_iso_639_language_idx</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-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-iso-639-language-nb" title="gst_mpegts_descriptor_parse_iso_639_language_nb ()">gst_mpegts_descriptor_parse_iso_639_language_nb</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-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-iso-639-language-descriptor-free" title="gst_mpegts_iso_639_language_descriptor_free ()">gst_mpegts_iso_639_language_descriptor_free</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">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-logical-channel" title="gst_mpegts_descriptor_parse_logical_channel ()">gst_mpegts_descriptor_parse_logical_channel</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstMpegtsDescriptor"></a><div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor-struct" title="struct GstMpegtsDescriptor">GstMpegtsDescriptor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptorType" title="enum GstMpegtsDescriptorType">GstMpegtsDescriptorType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsMiscDescriptorType" title="enum GstMpegtsMiscDescriptorType">GstMpegtsMiscDescriptorType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsISO639LanguageDescriptor" title="struct GstMpegtsISO639LanguageDescriptor">GstMpegtsISO639LanguageDescriptor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsIso639AudioType" title="enum GstMpegtsIso639AudioType">GstMpegtsIso639AudioType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsLogicalChannel" title="struct GstMpegtsLogicalChannel">GstMpegtsLogicalChannel</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsLogicalChannelDescriptor" title="struct GstMpegtsLogicalChannelDescriptor">GstMpegtsLogicalChannelDescriptor</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-Boxed-Types.html">GBoxed</a>
+    <span class="lineart">╰──</span> GstMpegtsDescriptor
+    <a href="https://developer.gnome.org/gobject/unstable/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
+    <span class="lineart">├──</span> GstMpegtsDescriptorType
+    <span class="lineart">╰──</span> GstMpegtsIso639AudioType
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;gst/mpegts/mpegts.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.description"></a><h2>Description</h2>
+<p>These are the base descriptor types and methods.</p>
+<p>For more details, refer to the ITU H.222.0 or ISO/IEC 13818-1 specifications
+and other specifications mentionned in the documentation.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gst-mpegts-find-descriptor"></a><h3>gst_mpegts_find_descriptor ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+gst_mpegts_find_descriptor (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *descriptors</code></em>,
+                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> tag</code></em>);</pre>
+<p>Finds the first descriptor of type <em class="parameter"><code>tag</code></em>
+ in the array.</p>
+<p>Note: To look for descriptors that can be present more than once in an
+array of descriptors, iterate the <a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> manually.</p>
+<div class="refsect3">
+<a name="gst-mpegts-find-descriptor.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptors</p></td>
+<td class="parameter_description"><p> an array
+of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</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> GstMpegtsDescriptor][<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>tag</p></td>
+<td class="parameter_description"><p>the tag to look for</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-find-descriptor.returns"></a><h4>Returns</h4>
+<p> the first descriptor matchin <em class="parameter"><code>tag</code></em>
+, 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="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-mpegts-parse-descriptors"></a><h3>gst_mpegts_parse_descriptors ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+gst_mpegts_parse_descriptors (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *buffer</code></em>,
+                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> buf_len</code></em>);</pre>
+<p>Parses the descriptors present in <em class="parameter"><code>buffer</code></em>
+ and returns them as an
+array.</p>
+<p>Note: The data provided in <em class="parameter"><code>buffer</code></em>
+ will not be copied.</p>
+<div class="refsect3">
+<a name="gst-mpegts-parse-descriptors.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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> descriptors to parse. </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>buf_len</p></td>
+<td class="parameter_description"><p>Size of <em class="parameter"><code>buffer</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-parse-descriptors.returns"></a><h4>Returns</h4>
+<p> an
+array of the parsed descriptors 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.
+Release with <a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#g-array-unref"><span class="type">g_array_unref</span></a> when done with it. </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> GstMpegtsDescriptor]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-from-custom"></a><h3>gst_mpegts_descriptor_from_custom ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+gst_mpegts_descriptor_from_custom (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> tag</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#gsize"><span class="type">gsize</span></a> length</code></em>);</pre>
+<p>Creates a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> with custom <em class="parameter"><code>tag</code></em>
+ and <em class="parameter"><code>data</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-from-custom.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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</p></td>
+<td class="parameter_description"><p>descriptor tag</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p> descriptor data (after tag and length field). </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>length</p></td>
+<td class="parameter_description"><p>length 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-mpegts-descriptor-from-custom.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-from-registration"></a><h3>gst_mpegts_descriptor_from_registration ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+gst_mpegts_descriptor_from_registration
+                               (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *format_identifier</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *additional_info</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> additional_info_length</code></em>);</pre>
+<p>Creates a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-REGISTRATION:CAPS"><code class="literal">GST_MTS_DESC_REGISTRATION</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p>
+<p>Return: <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a>, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on failure</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-from-registration.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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_identifier</p></td>
+<td class="parameter_description"><p> a 4 character format identifier 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>additional_info</p></td>
+<td class="parameter_description"><p> pointer to optional additional info. </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>additional_info_length</p></td>
+<td class="parameter_description"><p>length of the optional <em class="parameter"><code>additional_info</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-parse-iso-639-language"></a><h3>gst_mpegts_descriptor_parse_iso_639_language ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_iso_639_language
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsISO639LanguageDescriptor" title="struct GstMpegtsISO639LanguageDescriptor"><span class="type">GstMpegtsISO639LanguageDescriptor</span></a> **res</code></em>);</pre>
+<p>Extracts the iso 639-2 language information from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<p>Note: Use <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gsttaglanguagecodes.html#gst-tag-get-language-code"><span class="type">gst_tag_get_language_code</span></a> if you want to get the the
+ISO 639-1 language code from the returned ISO 639-2 one.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-iso-639-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>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-ISO-639-LANGUAGE:CAPS"><code class="literal">GST_MTS_DESC_ISO_639_LANGUAGE</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p> the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsISO639LanguageDescriptor" title="struct GstMpegtsISO639LanguageDescriptor"><span class="type">GstMpegtsISO639LanguageDescriptor</span></a> to fill. </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-mpegts-descriptor-parse-iso-639-language.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 succeeded, 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-mpegts-descriptor-parse-iso-639-language-idx"></a><h3>gst_mpegts_descriptor_parse_iso_639_language_idx ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_iso_639_language_idx
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</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 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 class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsIso639AudioType" title="enum GstMpegtsIso639AudioType"><span class="type">GstMpegtsIso639AudioType</span></a> *audio_type</code></em>);</pre>
+<p>Extracts the iso 639-2 language information from specific table id in <em class="parameter"><code>descriptor</code></em>
+.</p>
+<p>Note: Use <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gsttaglanguagecodes.html#gst-tag-get-language-code"><span class="type">gst_tag_get_language_code</span></a> if you want to get the the
+ISO 639-1 language code from the returned ISO 639-2 one.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-iso-639-language-idx.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-ISO-639-LANGUAGE:CAPS"><code class="literal">GST_MTS_DESC_ISO_639_LANGUAGE</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>idx</p></td>
+<td class="parameter_description"><p>Table id of the language to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>lang</p></td>
+<td class="parameter_description"><p> 4-byte gchar array to hold the language 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="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>audio_type</p></td>
+<td class="parameter_description"><p> the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsIso639AudioType" title="enum GstMpegtsIso639AudioType"><span class="type">GstMpegtsIso639AudioType</span></a> to set. </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="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-mpegts-descriptor-parse-iso-639-language-idx.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 succeeded, 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-mpegts-descriptor-parse-iso-639-language-nb"></a><h3>gst_mpegts_descriptor_parse_iso_639_language_nb ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gst_mpegts_descriptor_parse_iso_639_language_nb
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-iso-639-language-nb.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-ISO-639-LANGUAGE:CAPS"><code class="literal">GST_MTS_DESC_ISO_639_LANGUAGE</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-iso-639-language-nb.returns"></a><h4>Returns</h4>
+<p> The number of languages in <em class="parameter"><code>descriptor</code></em>
+</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-iso-639-language-descriptor-free"></a><h3>gst_mpegts_iso_639_language_descriptor_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_mpegts_iso_639_language_descriptor_free
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsISO639LanguageDescriptor" title="struct GstMpegtsISO639LanguageDescriptor"><span class="type">GstMpegtsISO639LanguageDescriptor</span></a> *desc</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-parse-logical-channel"></a><h3>gst_mpegts_descriptor_parse_logical_channel ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_logical_channel
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsLogicalChannelDescriptor" title="struct GstMpegtsLogicalChannelDescriptor"><span class="type">GstMpegtsLogicalChannelDescriptor</span></a> *res</code></em>);</pre>
+<p>Extracts the logical channels from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-logical-channel.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GST-MTS-DESC-DTG-LOGICAL-CHANNEL:CAPS"><code class="literal">GST_MTS_DESC_DTG_LOGICAL_CHANNEL</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p> the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsLogicalChannelDescriptor" title="struct GstMpegtsLogicalChannelDescriptor"><span class="type">GstMpegtsLogicalChannelDescriptor</span></a> to fill. </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>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-logical-channel.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 succeeded, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstMpegtsDescriptor-struct"></a><h3>struct GstMpegtsDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsDescriptor {
+  guint8 tag;
+  guint8 tag_extension;
+  guint8 length;
+  guint8 *data;
+};
+</pre>
+<p>Mpeg-TS descriptor (ISO/IEC 13818-1).</p>
+<div class="refsect3">
+<a name="GstMpegtsDescriptor.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="GstMpegtsDescriptor-struct.tag"></a>tag</code></em>;</p></td>
+<td class="struct_member_description"><p>the type of descriptor</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="GstMpegtsDescriptor-struct.tag-extension"></a>tag_extension</code></em>;</p></td>
+<td class="struct_member_description"><p>the extended type (if <em class="parameter"><code>descriptor_tag</code></em>
+is 0x7f)</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="GstMpegtsDescriptor-struct.length"></a>length</code></em>;</p></td>
+<td class="struct_member_description"><p>the length of the descriptor content (excluding tag/length field)</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="GstMpegtsDescriptor-struct.data"></a>data</code></em>;</p></td>
+<td class="struct_member_description"><p>the full descriptor data (including tag, extension, length). The first
+two bytes are the <em class="parameter"><code>tag</code></em>
+and <em class="parameter"><code>tag_extension</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDescriptorType"></a><h3>enum GstMpegtsDescriptorType</h3>
+<p>The type of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p>
+<p>These values correspond to the registered descriptor type from
+the base MPEG-TS specifications (ITU H.222.0 | ISO/IEC 13818-1).</p>
+<p>Consult the relevant specifications for more details.</p>
+<div class="refsect3">
+<a name="GstMpegtsDescriptorType.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-MTS-DESC-RESERVED-00:CAPS"></a>GST_MTS_DESC_RESERVED_00</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-RESERVED-01:CAPS"></a>GST_MTS_DESC_RESERVED_01</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-VIDEO-STREAM:CAPS"></a>GST_MTS_DESC_VIDEO_STREAM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-AUDIO-STREAM:CAPS"></a>GST_MTS_DESC_AUDIO_STREAM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-HIERARCHY:CAPS"></a>GST_MTS_DESC_HIERARCHY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-REGISTRATION:CAPS"></a>GST_MTS_DESC_REGISTRATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DATA-STREAM-ALIGNMENT:CAPS"></a>GST_MTS_DESC_DATA_STREAM_ALIGNMENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-TARGET-BACKGROUND-GRID:CAPS"></a>GST_MTS_DESC_TARGET_BACKGROUND_GRID</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-VIDEO-WINDOW:CAPS"></a>GST_MTS_DESC_VIDEO_WINDOW</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-CA:CAPS"></a>GST_MTS_DESC_CA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-ISO-639-LANGUAGE:CAPS"></a>GST_MTS_DESC_ISO_639_LANGUAGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-SYSTEM-CLOCK:CAPS"></a>GST_MTS_DESC_SYSTEM_CLOCK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MULTIPLEX-BUFFER-UTILISATION:CAPS"></a>GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-COPYRIGHT:CAPS"></a>GST_MTS_DESC_COPYRIGHT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MAXIMUM-BITRATE:CAPS"></a>GST_MTS_DESC_MAXIMUM_BITRATE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-PRIVATE-DATA-INDICATOR:CAPS"></a>GST_MTS_DESC_PRIVATE_DATA_INDICATOR</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-SMOOTHING-BUFFER:CAPS"></a>GST_MTS_DESC_SMOOTHING_BUFFER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-STD:CAPS"></a>GST_MTS_DESC_STD</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-IBP:CAPS"></a>GST_MTS_DESC_IBP</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-CAROUSEL-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-ASSOCIATION-TAG:CAPS"></a>GST_MTS_DESC_DSMCC_ASSOCIATION_TAG</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-DEFERRED-ASSOCIATION-TAG:CAPS"></a>GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-NPT-REFERENCE:CAPS"></a>GST_MTS_DESC_DSMCC_NPT_REFERENCE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-NPT-ENDPOINT:CAPS"></a>GST_MTS_DESC_DSMCC_NPT_ENDPOINT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-STREAM-MODE:CAPS"></a>GST_MTS_DESC_DSMCC_STREAM_MODE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-STREAM-EVENT:CAPS"></a>GST_MTS_DESC_DSMCC_STREAM_EVENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG4-VIDEO:CAPS"></a>GST_MTS_DESC_MPEG4_VIDEO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG4-AUDIO:CAPS"></a>GST_MTS_DESC_MPEG4_AUDIO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-IOD:CAPS"></a>GST_MTS_DESC_IOD</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-SL:CAPS"></a>GST_MTS_DESC_SL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-FMC:CAPS"></a>GST_MTS_DESC_FMC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXTERNAL-ES-ID:CAPS"></a>GST_MTS_DESC_EXTERNAL_ES_ID</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MUX-CODE:CAPS"></a>GST_MTS_DESC_MUX_CODE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-FMX-BUFFER-SIZE:CAPS"></a>GST_MTS_DESC_FMX_BUFFER_SIZE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MULTIPLEX-BUFFER:CAPS"></a>GST_MTS_DESC_MULTIPLEX_BUFFER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-CONTENT-LABELING:CAPS"></a>GST_MTS_DESC_CONTENT_LABELING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-METADATA-POINTER:CAPS"></a>GST_MTS_DESC_METADATA_POINTER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-METADATA:CAPS"></a>GST_MTS_DESC_METADATA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-METADATA-STD:CAPS"></a>GST_MTS_DESC_METADATA_STD</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-AVC-VIDEO:CAPS"></a>GST_MTS_DESC_AVC_VIDEO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-IPMP:CAPS"></a>GST_MTS_DESC_IPMP</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-AVC-TIMING-AND-HRD:CAPS"></a>GST_MTS_DESC_AVC_TIMING_AND_HRD</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG2-AAC-AUDIO:CAPS"></a>GST_MTS_DESC_MPEG2_AAC_AUDIO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-FLEX-MUX-TIMING:CAPS"></a>GST_MTS_DESC_FLEX_MUX_TIMING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG4-TEXT:CAPS"></a>GST_MTS_DESC_MPEG4_TEXT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG4-AUDIO-EXTENSION:CAPS"></a>GST_MTS_DESC_MPEG4_AUDIO_EXTENSION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-AUXILIARY-VIDEO-STREAM:CAPS"></a>GST_MTS_DESC_AUXILIARY_VIDEO_STREAM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-SVC-EXTENSION:CAPS"></a>GST_MTS_DESC_SVC_EXTENSION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MVC-EXTENSION:CAPS"></a>GST_MTS_DESC_MVC_EXTENSION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-J2K-VIDEO:CAPS"></a>GST_MTS_DESC_J2K_VIDEO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MVC-OPERATION-POINT:CAPS"></a>GST_MTS_DESC_MVC_OPERATION_POINT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG2-STEREOSCOPIC-VIDEO-FORMAT:CAPS"></a>GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-STEREOSCOPIC-PROGRAM-INFO:CAPS"></a>GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-STEREOSCOPIC-VIDEO-INFO:CAPS"></a>GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsMiscDescriptorType"></a><h3>enum GstMpegtsMiscDescriptorType</h3>
+<p>The type of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p>
+<p>These values correspond to miscellaneous descriptor types that are
+not yet identified from known specifications.</p>
+<div class="refsect3">
+<a name="GstMpegtsMiscDescriptorType.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-MTS-DESC-AC3-AUDIO-STREAM:CAPS"></a>GST_MTS_DESC_AC3_AUDIO_STREAM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DTG-LOGICAL-CHANNEL:CAPS"></a>GST_MTS_DESC_DTG_LOGICAL_CHANNEL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsISO639LanguageDescriptor"></a><h3>struct GstMpegtsISO639LanguageDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsISO639LanguageDescriptor {
+  guint                    nb_language;
+  gchar                    *language[64];
+  GstMpegtsIso639AudioType audio_type[64];
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsIso639AudioType"></a><h3>enum GstMpegtsIso639AudioType</h3>
+<div class="refsect3">
+<a name="GstMpegtsIso639AudioType.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-MPEGTS-AUDIO-TYPE-UNDEFINED:CAPS"></a>GST_MPEGTS_AUDIO_TYPE_UNDEFINED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-AUDIO-TYPE-CLEAN-EFFECTS:CAPS"></a>GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-AUDIO-TYPE-HEARING-IMPAIRED:CAPS"></a>GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-AUDIO-TYPE-VISUAL-IMPAIRED-COMMENTARY:CAPS"></a>GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsLogicalChannel"></a><h3>struct GstMpegtsLogicalChannel</h3>
+<pre class="programlisting">struct GstMpegtsLogicalChannel {
+  guint16   service_id;
+  gboolean  visible_service;
+  guint16   logical_channel_number;
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsLogicalChannelDescriptor"></a><h3>struct GstMpegtsLogicalChannelDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsLogicalChannelDescriptor {
+  guint                   nb_channels;
+  GstMpegtsLogicalChannel channels[64];
+};
+</pre>
+</div>
+</div>
+</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/gst-plugins-bad-libs-Base-MPEG-TS-sections.html b/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-sections.html
new file mode 100644
index 0000000..c521b5a
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-Base-MPEG-TS-sections.html
@@ -0,0 +1,1475 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Base MPEG-TS sections: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
+<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
+<link rel="prev" href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html" title="Mpeg-ts helper library">
+<link rel="next" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html" title="Base MPEG-TS descriptors">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-Base-MPEG-TS-sections.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-Base-MPEG-TS-sections.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-sections"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-Base-MPEG-TS-sections.top_of_page"></a>Base MPEG-TS sections</span></h2>
+<p>Base MPEG-TS sections — Sections for ITU H.222.0 | ISO/IEC 13818-1</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-sections.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TYPE:CAPS" title="GST_MPEGTS_SECTION_TYPE()">GST_MPEGTS_SECTION_TYPE</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-message-new-mpegts-section" title="gst_message_new_mpegts_section ()">gst_message_new_mpegts_section</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-message-parse-mpegts-section" title="gst_message_parse_mpegts_section ()">gst_message_parse_mpegts_section</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">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-send-event" title="gst_mpegts_section_send_event ()">gst_mpegts_section_send_event</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-event-parse-mpegts-section" title="gst_event_parse_mpegts_section ()">gst_event_parse_mpegts_section</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-packetize" title="gst_mpegts_section_packetize ()">gst_mpegts_section_packetize</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-new" title="gst_mpegts_section_new ()">gst_mpegts_section_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-ref" title="gst_mpegts_section_ref()">gst_mpegts_section_ref</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-unref" title="gst_mpegts_section_unref()">gst_mpegts_section_unref</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-pat" title="gst_mpegts_section_get_pat ()">gst_mpegts_section_get_pat</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pat-new" title="gst_mpegts_pat_new ()">gst_mpegts_pat_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram"><span class="returnvalue">GstMpegtsPatProgram</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pat-program-new" title="gst_mpegts_pat_program_new ()">gst_mpegts_pat_program_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-from-pat" title="gst_mpegts_section_from_pat ()">gst_mpegts_section_from_pat</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="returnvalue">GstMpegtsPMT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-pmt" title="gst_mpegts_section_get_pmt ()">gst_mpegts_section_get_pmt</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="returnvalue">GstMpegtsPMT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pmt-new" title="gst_mpegts_pmt_new ()">gst_mpegts_pmt_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream"><span class="returnvalue">GstMpegtsPMTStream</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-pmt-stream-new" title="gst_mpegts_pmt_stream_new ()">gst_mpegts_pmt_stream_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-from-pmt" title="gst_mpegts_section_from_pmt ()">gst_mpegts_section_from_pmt</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-tsdt" title="gst_mpegts_section_get_tsdt ()">gst_mpegts_section_get_tsdt</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#gst-mpegts-section-get-cat" title="gst_mpegts_section_get_cat ()">gst_mpegts_section_get_cat</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstMpegtsSection"></a><div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-sections.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection-struct" title="struct GstMpegtsSection">GstMpegtsSection</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionTableID" title="enum GstMpegtsSectionTableID">GstMpegtsSectionTableID</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionType" title="enum GstMpegtsSectionType">GstMpegtsSectionType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram">GstMpegtsPatProgram</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT">GstMpegtsPMT</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream">GstMpegtsPMTStream</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsStreamType" title="enum GstMpegtsStreamType">GstMpegtsStreamType</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-sections.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-Boxed-Types.html">GBoxed</a>
+    <span class="lineart">╰──</span> GstMpegtsSection
+    <a href="https://developer.gnome.org/gobject/unstable/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
+    <span class="lineart">├──</span> GstMpegtsSectionTableID
+    <span class="lineart">├──</span> GstMpegtsSectionType
+    <span class="lineart">╰──</span> GstMpegtsStreamType
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-sections.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;gst/mpegts/mpegts.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-sections.description"></a><h2>Description</h2>
+<p>For more details, refer to the ITU H.222.0 or ISO/IEC 13818-1 specifications
+and other specifications mentioned in the documentation.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-sections.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="GST-MPEGTS-SECTION-TYPE:CAPS"></a><h3>GST_MPEGTS_SECTION_TYPE()</h3>
+<pre class="programlisting">#define GST_MPEGTS_SECTION_TYPE(section) (GST_MPEGTS_SECTION (section)-&gt;section_type)
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-message-new-mpegts-section"></a><h3>gst_message_new_mpegts_section ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
+gst_message_new_mpegts_section (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct"><span class="type">GstObject</span></a> *parent</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Creates a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a> for a <em class="parameter"><code>GstMpegtsSection</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-message-new-mpegts-section.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p> The creator of the message. </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>section</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> to put in a message. </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-message-new-mpegts-section.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> to be posted, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the
+section is not valid. </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-message-parse-mpegts-section"></a><h3>gst_message_parse_mpegts_section ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+gst_message_parse_mpegts_section (<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>Returns the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> contained in a message.</p>
+<div class="refsect3">
+<a name="gst-message-parse-mpegts-section.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-message-parse-mpegts-section.returns"></a><h4>Returns</h4>
+<p> the contained <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</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-mpegts-section-send-event"></a><h3>gst_mpegts_section_send_event ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_section_send_event (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>,
+                               <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>);</pre>
+<p>Creates a custom <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> with a <em class="parameter"><code>GstMpegtsSection</code></em>
+.
+The <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> is sent to the <em class="parameter"><code>element</code></em>
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-send-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>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> to send to section event to. </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>section</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> to put in the event. </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-mpegts-section-send-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 event is sent</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-event-parse-mpegts-section"></a><h3>gst_event_parse_mpegts_section ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+gst_event_parse_mpegts_section (<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>Extracts the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> contained in the <em class="parameter"><code>event</code></em>
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a></p>
+<div class="refsect3">
+<a name="gst-event-parse-mpegts-section.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 href="/usr/share/gtk-doc/html/gstreamer-1.0GstEvent.html#GstEvent-struct"><span class="type">GstEvent</span></a> containing a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</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-event-parse-mpegts-section.returns"></a><h4>Returns</h4>
+<p> The extracted <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</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-mpegts-section-packetize"></a><h3>gst_mpegts_section_packetize ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
+gst_mpegts_section_packetize (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>,
+                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *output_size</code></em>);</pre>
+<p>If the data in <em class="parameter"><code>section</code></em>
+ has already been packetized, the data pointer is returned
+immediately. Otherwise, the data field is allocated and populated.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-packetize.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p> the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> that holds the data. </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>output_size</p></td>
+<td class="parameter_description"><p> <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> to hold the size of 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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-packetize.returns"></a><h4>Returns</h4>
+<p> pointer to section data, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on fail. </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-mpegts-section-new"></a><h3>gst_mpegts_section_new ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+gst_mpegts_section_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> pid</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#gsize"><span class="type">gsize</span></a> data_size</code></em>);</pre>
+<p>Creates a new <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> from the provided <em class="parameter"><code>data</code></em>
+.</p>
+<p>Note: Ensuring <em class="parameter"><code>data</code></em>
+ is big enough to contain the full section is the
+responsibility of the caller. If it is not big enough, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> will be
+returned.</p>
+<p>Note: it is the responsibility of the caller to ensure <em class="parameter"><code>data</code></em>
+ does point
+to the beginning of the section.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-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>pid</p></td>
+<td class="parameter_description"><p>the PID to which this section belongs</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p> a pointer to the beginning of the section (i.e. the first byte
+should contain the table_id field). </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>data_size</p></td>
+<td class="parameter_description"><p>size of the <em class="parameter"><code>data</code></em>
+argument.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-new.returns"></a><h4>Returns</h4>
+<p> A new <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> if the data was valid,
+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-mpegts-section-ref"></a><h3>gst_mpegts_section_ref()</h3>
+<pre class="programlisting">#define gst_mpegts_section_ref(section)   ((GstMpegtsSection*) gst_mini_object_ref (GST_MINI_OBJECT_CAST (section)))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-unref"></a><h3>gst_mpegts_section_unref()</h3>
+<pre class="programlisting">#define gst_mpegts_section_unref(section) (gst_mini_object_unref (GST_MINI_OBJECT_CAST (section)))
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-pat"></a><h3>gst_mpegts_section_get_pat ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+gst_mpegts_section_get_pat (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Parses a Program Association Table (ITU H.222.0, ISO/IEC 13818-1).</p>
+<p>Returns the array of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram"><span class="type">GstMpegtsPatProgram</span></a> contained in the section.</p>
+<p>Note: The PAT "transport_id" field corresponds to the "subtable_extension"
+field of the provided <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-pat.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-PAT:CAPS"><code class="literal">GST_MPEGTS_SECTION_PAT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-pat.returns"></a><h4>Returns</h4>
+<p> The
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram"><span class="type">GstMpegtsPatProgram</span></a> contained in the section, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
+happened. Release with <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#g-ptr-array-unref"><span class="type">g_ptr_array_unref</span></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsPatProgram]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-pat-new"></a><h3>gst_mpegts_pat_new ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+gst_mpegts_pat_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Allocates a new <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> for <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram"><span class="type">GstMpegtsPatProgram</span></a></p>
+<div class="refsect3">
+<a name="gst-mpegts-pat-new.returns"></a><h4>Returns</h4>
+<p> A newly allocated <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</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> GstMpegtsPatProgram]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-pat-program-new"></a><h3>gst_mpegts_pat_program_new ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram"><span class="returnvalue">GstMpegtsPatProgram</span></a> *
+gst_mpegts_pat_program_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Allocates a new <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram"><span class="type">GstMpegtsPatProgram</span></a>.</p>
+<div class="refsect3">
+<a name="gst-mpegts-pat-program-new.returns"></a><h4>Returns</h4>
+<p> A newly allocated <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram"><span class="type">GstMpegtsPatProgram</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-mpegts-section-from-pat"></a><h3>gst_mpegts_section_from_pat ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+gst_mpegts_section_from_pat (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *programs</code></em>,
+                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> ts_id</code></em>);</pre>
+<p>Creates a PAT <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> from the <em class="parameter"><code>programs</code></em>
+ array of <a href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram"><span class="type">GstMpegtsPatPrograms</span></a></p>
+<div class="refsect3">
+<a name="gst-mpegts-section-from-pat.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>programs</p></td>
+<td class="parameter_description"><p> an array of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram"><span class="type">GstMpegtsPatProgram</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsPatProgram]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ts_id</p></td>
+<td class="parameter_description"><p>Transport stream ID of the PAT</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-from-pat.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</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-mpegts-section-get-pmt"></a><h3>gst_mpegts_section_get_pmt ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="returnvalue">GstMpegtsPMT</span></a> *
+gst_mpegts_section_get_pmt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="type">GstMpegtsPMT</span></a> contained in the <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-pmt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-PMT:CAPS"><code class="literal">GST_MPEGTS_SECTION_PMT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-pmt.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="type">GstMpegtsPMT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-pmt-new"></a><h3>gst_mpegts_pmt_new ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="returnvalue">GstMpegtsPMT</span></a> *
+gst_mpegts_pmt_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Allocates and initializes a new <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="type">GstMpegtsPMT</span></a>.</p>
+<div class="refsect3">
+<a name="gst-mpegts-pmt-new.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="type">GstMpegtsPMT</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-mpegts-pmt-stream-new"></a><h3>gst_mpegts_pmt_stream_new ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream"><span class="returnvalue">GstMpegtsPMTStream</span></a> *
+gst_mpegts_pmt_stream_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Allocates and initializes a new <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream"><span class="type">GstMpegtsPMTStream</span></a>.</p>
+<div class="refsect3">
+<a name="gst-mpegts-pmt-stream-new.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream"><span class="type">GstMpegtsPMTStream</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-mpegts-section-from-pmt"></a><h3>gst_mpegts_section_from_pmt ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+gst_mpegts_section_from_pmt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="type">GstMpegtsPMT</span></a> *pmt</code></em>,
+                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> pid</code></em>);</pre>
+<p>Creates a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> from <em class="parameter"><code>pmt</code></em>
+ that is bound to <em class="parameter"><code>pid</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-from-pmt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>pmt</p></td>
+<td class="parameter_description"><p> a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="type">GstMpegtsPMT</span></a> to create a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> from. </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>pid</p></td>
+<td class="parameter_description"><p>The PID that the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="type">GstMpegtsPMT</span></a> belongs to</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-from-pmt.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</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-mpegts-section-get-tsdt"></a><h3>gst_mpegts_section_get_tsdt ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+gst_mpegts_section_get_tsdt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the array of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> contained in the section</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-tsdt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TSDT:CAPS"><code class="literal">GST_MPEGTS_SECTION_TSDT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-tsdt.returns"></a><h4>Returns</h4>
+<p> The
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> contained in the section, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
+happened. Release with <a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#g-array-unref"><span class="type">g_array_unref</span></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-cat"></a><h3>gst_mpegts_section_get_cat ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+gst_mpegts_section_get_cat (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the array of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> contained in the Conditional
+Access Table.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-cat.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-CAT:CAPS"><code class="literal">GST_MPEGTS_SECTION_CAT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-cat.returns"></a><h4>Returns</h4>
+<p> The
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> contained in the section, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error
+happened. Release with <a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#g-array-unref"><span class="type">g_array_unref</span></a> when done. </p>
+<p><span class="annotation">[<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Base-MPEG-TS-sections.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstMpegtsSection-struct"></a><h3>struct GstMpegtsSection</h3>
+<pre class="programlisting">struct GstMpegtsSection {
+  GstMpegtsSectionType   section_type;
+
+  guint16       pid;
+  guint8        table_id;
+
+  guint16       subtable_extension;
+  guint8        version_number;
+
+  gboolean      current_next_indicator;
+
+  guint8        section_number;
+  guint8        last_section_number;
+
+  guint32       crc;
+};
+</pre>
+<p>Mpeg-TS Section Information (SI) (ISO/IEC 13818-1)</p>
+<div class="refsect3">
+<a name="GstMpegtsSection.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-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionType" title="enum GstMpegtsSectionType"><span class="type">GstMpegtsSectionType</span></a> <em class="structfield"><code><a name="GstMpegtsSection-struct.section-type"></a>section_type</code></em>;</p></td>
+<td class="struct_member_description"><p>The type of section</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="GstMpegtsSection-struct.pid"></a>pid</code></em>;</p></td>
+<td class="struct_member_description"><p>The pid on which this section was 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsSection-struct.table-id"></a>table_id</code></em>;</p></td>
+<td class="struct_member_description"><p>The table id of this section</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="GstMpegtsSection-struct.subtable-extension"></a>subtable_extension</code></em>;</p></td>
+<td class="struct_member_description"><p>This meaning differs per section. See the documentation
+of the parsed section type for the meaning of this field</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="GstMpegtsSection-struct.version-number"></a>version_number</code></em>;</p></td>
+<td class="struct_member_description"><p>Version of the section.</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="GstMpegtsSection-struct.current-next-indicator"></a>current_next_indicator</code></em>;</p></td>
+<td class="struct_member_description"><p>Applies to current/next stream or not</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="GstMpegtsSection-struct.section-number"></a>section_number</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of the section (if multiple)</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="GstMpegtsSection-struct.last-section-number"></a>last_section_number</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of the last expected section (if multiple)</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="GstMpegtsSection-struct.crc"></a>crc</code></em>;</p></td>
+<td class="struct_member_description"><p>CRC</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsSectionTableID"></a><h3>enum GstMpegtsSectionTableID</h3>
+<p>Values for a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> table_id</p>
+<p>These are the registered ITU H.222.0 | ISO/IEC 13818-1 table_id variants.</p>
+<p>see also <a class="link" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html#GstMpegtsSectionATSCTableID" title="enum GstMpegtsSectionATSCTableID"><span class="type">GstMpegtsSectionATSCTableID</span></a>, <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSectionDVBTableID" title="enum GstMpegtsSectionDVBTableID"><span class="type">GstMpegtsSectionDVBTableID</span></a>, and
+<span class="type">GstMpegtsSectionSCTETableID</span></p>
+<div class="refsect3">
+<a name="GstMpegtsSectionTableID.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-MTS-TABLE-ID-PROGRAM-ASSOCIATION:CAPS"></a>GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CONDITIONAL-ACCESS:CAPS"></a>GST_MTS_TABLE_ID_CONDITIONAL_ACCESS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TS-PROGRAM-MAP:CAPS"></a>GST_MTS_TABLE_ID_TS_PROGRAM_MAP</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TS-DESCRIPTION:CAPS"></a>GST_MTS_TABLE_ID_TS_DESCRIPTION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-14496-SCENE-DESCRIPTION:CAPS"></a>GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-14496-OBJET-DESCRIPTOR:CAPS"></a>GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-METADATA:CAPS"></a>GST_MTS_TABLE_ID_METADATA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-IPMP-CONTROL-INFORMATION:CAPS"></a>GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-MULTIPROTO-ENCAPSULATED-DATA:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-U-N-MESSAGES:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-DOWNLOAD-DATA-MESSAGES:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-STREAM-DESCRIPTORS:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-PRIVATE-DATA:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-ADDRESSABLE-SECTIONS:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-UNSET:CAPS"></a>GST_MTS_TABLE_ID_UNSET</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsSectionType"></a><h3>enum GstMpegtsSectionType</h3>
+<p>Types of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> that the library handles.</p>
+<div class="refsect3">
+<a name="GstMpegtsSectionType.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-MPEGTS-SECTION-UNKNOWN:CAPS"></a>GST_MPEGTS_SECTION_UNKNOWN</p></td>
+<td class="enum_member_description">
+<p>Unknown section type</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-PAT:CAPS"></a>GST_MPEGTS_SECTION_PAT</p></td>
+<td class="enum_member_description">
+<p>Program Association Table (ISO/IEC 13818-1)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-PMT:CAPS"></a>GST_MPEGTS_SECTION_PMT</p></td>
+<td class="enum_member_description">
+<p>Program Map Table (ISO/IEC 13818-1)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-CAT:CAPS"></a>GST_MPEGTS_SECTION_CAT</p></td>
+<td class="enum_member_description">
+<p>Conditional Access Table (ISO/IEC 13818-1)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-TSDT:CAPS"></a>GST_MPEGTS_SECTION_TSDT</p></td>
+<td class="enum_member_description">
+<p>Transport Stream Description Table (ISO/IEC 13818-1)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-EIT:CAPS"></a>GST_MPEGTS_SECTION_EIT</p></td>
+<td class="enum_member_description">
+<p>Event Information Table (EN 300 468)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-NIT:CAPS"></a>GST_MPEGTS_SECTION_NIT</p></td>
+<td class="enum_member_description">
+<p>Network Information Table (ISO/IEC 13818-1 / EN 300 468)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-BAT:CAPS"></a>GST_MPEGTS_SECTION_BAT</p></td>
+<td class="enum_member_description">
+<p>Bouquet Association Table ((EN 300 468)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-SDT:CAPS"></a>GST_MPEGTS_SECTION_SDT</p></td>
+<td class="enum_member_description">
+<p>Service Description Table (EN 300 468)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-TDT:CAPS"></a>GST_MPEGTS_SECTION_TDT</p></td>
+<td class="enum_member_description">
+<p>Time and Date Table (EN 300 468)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-TOT:CAPS"></a>GST_MPEGTS_SECTION_TOT</p></td>
+<td class="enum_member_description">
+<p>Time Offset Table (EN 300 468)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-TVCT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_TVCT</p></td>
+<td class="enum_member_description">
+<p>ATSC Terrestrial Virtual Channel Table (A65)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-CVCT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_CVCT</p></td>
+<td class="enum_member_description">
+<p>ATSC Cable Virtual Channel Table (A65)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-MGT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_MGT</p></td>
+<td class="enum_member_description">
+<p>ATSC Master Guide Table (A65)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-ETT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_ETT</p></td>
+<td class="enum_member_description">
+<p>ATSC Extended Text Table (A65)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-EIT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_EIT</p></td>
+<td class="enum_member_description">
+<p>ATSC Event Information Table (A65)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-STT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_STT</p></td>
+<td class="enum_member_description">
+<p>ATSC System Time Table (A65)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsPatProgram"></a><h3>struct GstMpegtsPatProgram</h3>
+<pre class="programlisting">struct GstMpegtsPatProgram {
+  guint16 program_number;
+  guint16 network_or_program_map_PID;
+};
+</pre>
+<p>A program entry from a Program Association Table (ITU H.222.0, ISO/IEC 13818-1).</p>
+<div class="refsect3">
+<a name="GstMpegtsPatProgram.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsPatProgram.program-number"></a>program_number</code></em>;</p></td>
+<td class="struct_member_description"><p>the program number</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="GstMpegtsPatProgram.network-or-program-map-PID"></a>network_or_program_map_PID</code></em>;</p></td>
+<td class="struct_member_description"><p>the network of program map PID</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsPMT"></a><h3>struct GstMpegtsPMT</h3>
+<pre class="programlisting">struct GstMpegtsPMT {
+  guint16    pcr_pid;
+  guint16    program_number;
+
+  GPtrArray *descriptors;
+  GPtrArray *streams;
+};
+</pre>
+<p>Program Map Table (ISO/IEC 13818-1).</p>
+<p>The program_number is contained in the subtable_extension field of the
+container <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a>.</p>
+<div class="refsect3">
+<a name="GstMpegtsPMT.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsPMT.pcr-pid"></a>pcr_pid</code></em>;</p></td>
+<td class="struct_member_description"><p>PID of the stream containing PCR</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="GstMpegtsPMT.program-number"></a>program_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-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsPMT.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> array of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsPMT.streams"></a>streams</code></em>;</p></td>
+<td class="struct_member_description"><p> Array of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream"><span class="type">GstMpegtsPMTStream</span></a>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsPMTStream]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsPMTStream"></a><h3>struct GstMpegtsPMTStream</h3>
+<pre class="programlisting">struct GstMpegtsPMTStream {
+  guint8      stream_type;
+  guint16     pid;
+
+  GPtrArray  *descriptors;
+};
+</pre>
+<p>An individual stream definition.</p>
+<div class="refsect3">
+<a name="GstMpegtsPMTStream.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="GstMpegtsPMTStream.stream-type"></a>stream_type</code></em>;</p></td>
+<td class="struct_member_description"><p>the type of stream. See <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsStreamType" title="enum GstMpegtsStreamType"><span class="type">GstMpegtsStreamType</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsPMTStream.pid"></a>pid</code></em>;</p></td>
+<td class="struct_member_description"><p>the PID of 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-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsPMTStream.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> the descriptors of the
+stream. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsStreamType"></a><h3>enum GstMpegtsStreamType</h3>
+<p>Type of mpeg-ts stream type.</p>
+<p>These values correspond to the base standard registered types. Depending
+on the variant of mpeg-ts being used (Bluray, ATSC, DVB, ...), other
+types might also be used, but will not conflict with these.</p>
+<p>Corresponds to table 2-34 of ITU H.222.0 | ISO/IEC 13818-1</p>
+<div class="refsect3">
+<a name="GstMpegtsStreamType.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-MPEGTS-STREAM-TYPE-RESERVED-00:CAPS"></a>GST_MPEGTS_STREAM_TYPE_RESERVED_00</p></td>
+<td class="enum_member_description">
+<p>ITU-T | ISO/IEC Reserved</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG1:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 11172-2 Video</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2</p></td>
+<td class="enum_member_description">
+<p>Rec. ITU-T H.262 | ISO/IEC 13818-2
+Video or ISO/IEC 11172-2 constrained parameter video stream</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG1:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 11172-3 Audio</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG2:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 13818-3 Audio</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-PRIVATE-SECTIONS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS</p></td>
+<td class="enum_member_description">
+<p>private sections</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-PRIVATE-PES-PACKETS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS</p></td>
+<td class="enum_member_description">
+<p>PES packets containing private data</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-MHEG:CAPS"></a>GST_MPEGTS_STREAM_TYPE_MHEG</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 13522 MHEG</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-DSM-CC:CAPS"></a>GST_MPEGTS_STREAM_TYPE_DSM_CC</p></td>
+<td class="enum_member_description">
+<p>Annex A DSM-CC</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-H-222-1:CAPS"></a>GST_MPEGTS_STREAM_TYPE_H_222_1</p></td>
+<td class="enum_member_description">
+<p>Rec. ITU-T H.222.1</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-DSMCC-A:CAPS"></a>GST_MPEGTS_STREAM_TYPE_DSMCC_A</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 13818-6 type A</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-DSMCC-B:CAPS"></a>GST_MPEGTS_STREAM_TYPE_DSMCC_B</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 13818-6 type B</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-DSMCC-C:CAPS"></a>GST_MPEGTS_STREAM_TYPE_DSMCC_C</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 13818-6 type C</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-DSMCC-D:CAPS"></a>GST_MPEGTS_STREAM_TYPE_DSMCC_D</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 13818-6 type D</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUXILIARY:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUXILIARY</p></td>
+<td class="enum_member_description">
+<p>auxiliary streams</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-ADTS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 13818-7 Audio with ADTS
+transport syntax</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG4:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 14496-2 Visual</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-LATM:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 14496-3 Audio with the LATM
+transport syntax as defined in ISO/IEC 14496-3</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-PES-PACKETS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 14496-1
+SL-packetized stream or FlexMux stream carried in PES packets</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-SECTIONS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 14496-1 SL-packetized
+stream or FlexMux stream carried in ISO/IEC 14496_sections</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-SYNCHRONIZED-DOWNLOAD:CAPS"></a>GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 13818-6 Synchronized
+Download Protocol</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-METADATA-PES-PACKETS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS</p></td>
+<td class="enum_member_description">
+<p>Metadata carried in PES packets</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-METADATA-SECTIONS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS</p></td>
+<td class="enum_member_description">
+<p>Metadata carried in metadata_sections</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-METADATA-DATA-CAROUSEL:CAPS"></a>GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL</p></td>
+<td class="enum_member_description">
+<p>Metadata carried in ISO/IEC
+13818-6 Data Carousel</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-METADATA-OBJECT-CAROUSEL:CAPS"></a>GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL</p></td>
+<td class="enum_member_description">
+<p>Metadata carried in
+ISO/IEC 13818-6 Object Carousel</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-METADATA-SYNCHRONIZED-DOWNLOAD:CAPS"></a>GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD</p></td>
+<td class="enum_member_description">
+<p>Metadata carried in
+ISO/IEC 13818-6 Synchronized Download Protocol</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-MPEG2-IPMP:CAPS"></a>GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP</p></td>
+<td class="enum_member_description">
+<p>IPMP stream (defined in ISO/IEC 13818-11,
+MPEG-2 IPMP)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-H264:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_H264</p></td>
+<td class="enum_member_description">
+<p>AVC video stream conforming to one or
+more profiles defined in Annex A of Rec. ITU-T H.264 | ISO/IEC 14496-10 or
+AVC video sub-bitstream of SVC as defined in 2.1.78 or MVC base view
+sub-bitstream, as defined in 2.1.85, or AVC video sub-bitstream of MVC, as
+defined in 2.1.88</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-CLEAN:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 14496-3 Audio, without
+using any additional transport syntax, such as DST, ALS and SLS</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-MPEG4-TIMED-TEXT:CAPS"></a>GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT</p></td>
+<td class="enum_member_description">
+<p>ISO/IEC 14496-17 Text</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-RVC:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_RVC</p></td>
+<td class="enum_member_description">
+<p>Auxiliary video stream as defined in
+ISO/IEC 23002-3</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-H264-SVC-SUB-BITSTREAM:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM</p></td>
+<td class="enum_member_description">
+<p>SVC video sub-bitstream
+of an AVC video stream conforming to one or more profiles defined in Annex G
+of Rec. ITU-T H.264 | ISO/IEC 14496-10</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-H264-MVC-SUB-BITSTREAM:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM</p></td>
+<td class="enum_member_description">
+<p>MVC video sub-bitstream
+of an AVC video stream conforming to one or more profiles defined in Annex H
+of Rec. ITU-T H.264 | ISO/IEC 14496-10</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-JP2K:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K</p></td>
+<td class="enum_member_description">
+<p>Video stream conforming to one or more
+profiles as defined in Rec. ITU-T T.800 | ISO/IEC 15444-1</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2-STEREO-ADDITIONAL-VIEW:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW</p></td>
+<td class="enum_member_description">
+<p>Additional view
+Rec. ITU-T H.262 | ISO/IEC 13818-2 video stream for service-compatible
+stereoscopic 3D services</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-H264-STEREO-ADDITIONAL-VIEW:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW</p></td>
+<td class="enum_member_description">
+<p>Additional view
+Rec. ITU-T H.264 | ISO/IEC 14496-10 video stream conforming to one or more
+profiles defined in Annex A for service-compatible stereoscopic 3D services</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-HEVC:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-IPMP-STREAM:CAPS"></a>GST_MPEGTS_STREAM_TYPE_IPMP_STREAM</p></td>
+<td class="enum_member_description">
+<p>IPMP stream</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</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/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html b/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html
new file mode 100644
index 0000000..7cff3fe
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html
@@ -0,0 +1,4033 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DVB variants of MPEG-TS descriptors: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
+<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
+<link rel="prev" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html" title="ATSC variants of MPEG-TS descriptors">
+<link rel="next" href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html" title="ISDB variants of MPEG-TS descriptors">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.top_of_page"></a>DVB variants of MPEG-TS descriptors</span></h2>
+<p>DVB variants of MPEG-TS descriptors — Descriptors for the various DVB specifications</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-content" title="gst_mpegts_descriptor_parse_dvb_content ()">gst_mpegts_descriptor_parse_dvb_content</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-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-component-descriptor-free" title="gst_mpegts_dvb_component_descriptor_free ()">gst_mpegts_dvb_component_descriptor_free</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-component" title="gst_mpegts_descriptor_parse_dvb_component ()">gst_mpegts_descriptor_parse_dvb_component</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-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-extended-event-descriptor-free" title="gst_mpegts_extended_event_descriptor_free ()">gst_mpegts_extended_event_descriptor_free</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-extended-event" title="gst_mpegts_descriptor_parse_dvb_extended_event ()">gst_mpegts_descriptor_parse_dvb_extended_event</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-satellite-delivery-system" title="gst_mpegts_descriptor_parse_satellite_delivery_system ()">gst_mpegts_descriptor_parse_satellite_delivery_system</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-cable-delivery-system" title="gst_mpegts_descriptor_parse_cable_delivery_system ()">gst_mpegts_descriptor_parse_cable_delivery_system</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-terrestrial-delivery-system" title="gst_mpegts_descriptor_parse_terrestrial_delivery_system ()">gst_mpegts_descriptor_parse_terrestrial_delivery_system</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-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-t2-delivery-system-descriptor-free" title="gst_mpegts_t2_delivery_system_descriptor_free ()">gst_mpegts_t2_delivery_system_descriptor_free</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-t2-delivery-system" title="gst_mpegts_descriptor_parse_dvb_t2_delivery_system ()">gst_mpegts_descriptor_parse_dvb_t2_delivery_system</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-short-event" title="gst_mpegts_descriptor_parse_dvb_short_event ()">gst_mpegts_descriptor_parse_dvb_short_event</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-network-name" title="gst_mpegts_descriptor_parse_dvb_network_name ()">gst_mpegts_descriptor_parse_dvb_network_name</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-dvb-network-name" title="gst_mpegts_descriptor_from_dvb_network_name ()">gst_mpegts_descriptor_from_dvb_network_name</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-service" title="gst_mpegts_descriptor_parse_dvb_service ()">gst_mpegts_descriptor_parse_dvb_service</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-dvb-service" title="gst_mpegts_descriptor_from_dvb_service ()">gst_mpegts_descriptor_from_dvb_service</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-teletext-idx" title="gst_mpegts_descriptor_parse_dvb_teletext_idx ()">gst_mpegts_descriptor_parse_dvb_teletext_idx</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-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-teletext-nb" title="gst_mpegts_descriptor_parse_dvb_teletext_nb ()">gst_mpegts_descriptor_parse_dvb_teletext_nb</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-subtitling-idx" title="gst_mpegts_descriptor_parse_dvb_subtitling_idx ()">gst_mpegts_descriptor_parse_dvb_subtitling_idx</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-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-subtitling-nb" title="gst_mpegts_descriptor_parse_dvb_subtitling_nb ()">gst_mpegts_descriptor_parse_dvb_subtitling_nb</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-from-dvb-subtitling" title="gst_mpegts_descriptor_from_dvb_subtitling ()">gst_mpegts_descriptor_from_dvb_subtitling</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-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-free" title="gst_mpegts_dvb_linkage_descriptor_free ()">gst_mpegts_dvb_linkage_descriptor_free</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageMobileHandOver" title="struct GstMpegtsDVBLinkageMobileHandOver"><span class="returnvalue">GstMpegtsDVBLinkageMobileHandOver</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-get-mobile-hand-over" title="gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over ()">gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageEvent" title="struct GstMpegtsDVBLinkageEvent"><span class="returnvalue">GstMpegtsDVBLinkageEvent</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-get-event" title="gst_mpegts_dvb_linkage_descriptor_get_event ()">gst_mpegts_dvb_linkage_descriptor_get_event</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-linkage-descriptor-get-extended-event" title="gst_mpegts_dvb_linkage_descriptor_get_extended_event ()">gst_mpegts_dvb_linkage_descriptor_get_extended_event</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-linkage" title="gst_mpegts_descriptor_parse_dvb_linkage ()">gst_mpegts_descriptor_parse_dvb_linkage</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-private-data-specifier" title="gst_mpegts_descriptor_parse_dvb_private_data_specifier ()">gst_mpegts_descriptor_parse_dvb_private_data_specifier</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-frequency-list" title="gst_mpegts_descriptor_parse_dvb_frequency_list ()">gst_mpegts_descriptor_parse_dvb_frequency_list</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-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-dvb-data-broadcast-descriptor-free" title="gst_mpegts_dvb_data_broadcast_descriptor_free ()">gst_mpegts_dvb_data_broadcast_descriptor_free</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-data-broadcast" title="gst_mpegts_descriptor_parse_dvb_data_broadcast ()">gst_mpegts_descriptor_parse_dvb_data_broadcast</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-scrambling" title="gst_mpegts_descriptor_parse_dvb_scrambling ()">gst_mpegts_descriptor_parse_dvb_scrambling</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-data-broadcast-id" title="gst_mpegts_descriptor_parse_dvb_data_broadcast_id ()">gst_mpegts_descriptor_parse_dvb_data_broadcast_id</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-parental-rating" title="gst_mpegts_descriptor_parse_dvb_parental_rating ()">gst_mpegts_descriptor_parse_dvb_parental_rating</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-stream-identifier" title="gst_mpegts_descriptor_parse_dvb_stream_identifier ()">gst_mpegts_descriptor_parse_dvb_stream_identifier</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-ca-identifier" title="gst_mpegts_descriptor_parse_dvb_ca_identifier ()">gst_mpegts_descriptor_parse_dvb_ca_identifier</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-service-list" title="gst_mpegts_descriptor_parse_dvb_service_list ()">gst_mpegts_descriptor_parse_dvb_service_list</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-stuffing" title="gst_mpegts_descriptor_parse_dvb_stuffing ()">gst_mpegts_descriptor_parse_dvb_stuffing</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-bouquet-name" title="gst_mpegts_descriptor_parse_dvb_bouquet_name ()">gst_mpegts_descriptor_parse_dvb_bouquet_name</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-network-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_network_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_network_name</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-bouquet-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-service-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_service_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_service_name</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">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#gst-mpegts-descriptor-parse-dvb-multilingual-component" title="gst_mpegts_descriptor_parse_dvb_multilingual_component ()">gst_mpegts_descriptor_parse_dvb_multilingual_component</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.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>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBDescriptorType" title="enum GstMpegtsDVBDescriptorType">GstMpegtsDVBDescriptorType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBExtendedDescriptorType" title="enum GstMpegtsDVBExtendedDescriptorType">GstMpegtsDVBExtendedDescriptorType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsContent" title="struct GstMpegtsContent">GstMpegtsContent</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsComponentDescriptor" title="struct GstMpegtsComponentDescriptor">GstMpegtsComponentDescriptor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventItem" title="struct GstMpegtsExtendedEventItem">GstMpegtsExtendedEventItem</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor" title="struct GstMpegtsExtendedEventDescriptor">GstMpegtsExtendedEventDescriptor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor" title="struct GstMpegtsSatelliteDeliverySystemDescriptor">GstMpegtsSatelliteDeliverySystemDescriptor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBCodeRate" title="enum GstMpegtsDVBCodeRate">GstMpegtsDVBCodeRate</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsModulationType" title="enum GstMpegtsModulationType">GstMpegtsModulationType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatellitePolarizationType" title="enum GstMpegtsSatellitePolarizationType">GstMpegtsSatellitePolarizationType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteRolloff" title="enum GstMpegtsSatelliteRolloff">GstMpegtsSatelliteRolloff</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor" title="struct GstMpegtsCableDeliverySystemDescriptor">GstMpegtsCableDeliverySystemDescriptor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableOuterFECScheme" title="enum GstMpegtsCableOuterFECScheme">GstMpegtsCableOuterFECScheme</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor" title="struct GstMpegtsTerrestrialDeliverySystemDescriptor">GstMpegtsTerrestrialDeliverySystemDescriptor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialTransmissionMode" title="enum GstMpegtsTerrestrialTransmissionMode">GstMpegtsTerrestrialTransmissionMode</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialGuardInterval" title="enum GstMpegtsTerrestrialGuardInterval">GstMpegtsTerrestrialGuardInterval</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialHierarchy" title="enum GstMpegtsTerrestrialHierarchy">GstMpegtsTerrestrialHierarchy</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCellExtension" title="struct GstMpegtsT2DeliverySystemCellExtension">GstMpegtsT2DeliverySystemCellExtension</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemCell" title="struct GstMpegtsT2DeliverySystemCell">GstMpegtsT2DeliverySystemCell</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor" title="struct GstMpegtsT2DeliverySystemDescriptor">GstMpegtsT2DeliverySystemDescriptor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType">GstMpegtsDVBServiceType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBTeletextType" title="enum GstMpegtsDVBTeletextType">GstMpegtsDVBTeletextType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageType" title="enum GstMpegtsDVBLinkageType">GstMpegtsDVBLinkageType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageHandOverType" title="enum GstMpegtsDVBLinkageHandOverType">GstMpegtsDVBLinkageHandOverType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageMobileHandOver" title="struct GstMpegtsDVBLinkageMobileHandOver">GstMpegtsDVBLinkageMobileHandOver</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageEvent" title="struct GstMpegtsDVBLinkageEvent">GstMpegtsDVBLinkageEvent</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageExtendedEvent" title="struct GstMpegtsDVBLinkageExtendedEvent">GstMpegtsDVBLinkageExtendedEvent</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor">GstMpegtsDVBLinkageDescriptor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor" title="struct GstMpegtsDataBroadcastDescriptor">GstMpegtsDataBroadcastDescriptor</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBScramblingModeType" title="enum GstMpegtsDVBScramblingModeType">GstMpegtsDVBScramblingModeType</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBParentalRatingItem" title="struct GstMpegtsDVBParentalRatingItem">GstMpegtsDVBParentalRatingItem</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceListItem" title="struct GstMpegtsDVBServiceListItem">GstMpegtsDVBServiceListItem</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualNetworkNameItem" title="struct GstMpegtsDvbMultilingualNetworkNameItem">GstMpegtsDvbMultilingualNetworkNameItem</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualBouquetNameItem" title="struct GstMpegtsDvbMultilingualBouquetNameItem">GstMpegtsDvbMultilingualBouquetNameItem</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualServiceNameItem" title="struct GstMpegtsDvbMultilingualServiceNameItem">GstMpegtsDvbMultilingualServiceNameItem</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualComponentItem" title="struct GstMpegtsDvbMultilingualComponentItem">GstMpegtsDvbMultilingualComponentItem</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
+    <span class="lineart">├──</span> GstMpegtsCableOuterFECScheme
+    <span class="lineart">├──</span> GstMpegtsDVBCodeRate
+    <span class="lineart">├──</span> GstMpegtsDVBServiceType
+    <span class="lineart">├──</span> GstMpegtsModulationType
+    <span class="lineart">├──</span> GstMpegtsSatellitePolarizationType
+    <span class="lineart">╰──</span> GstMpegtsSatelliteRolloff
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;gst/mpegts/mpegts.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-parse-dvb-content"></a><h3>gst_mpegts_descriptor_parse_dvb_content ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_content
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **content</code></em>);</pre>
+<p>Extracts the DVB content information from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-content.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CONTENT:CAPS"><code class="literal">GST_MTS_DESC_DVB_CONTENT</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>content</p></td>
+<td class="parameter_description"><p> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsContent" title="struct GstMpegtsContent"><span class="type">GstMpegtsContent</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsContent]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-content.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 parsing happened correctly, 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-mpegts-dvb-component-descriptor-free"></a><h3>gst_mpegts_dvb_component_descriptor_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_mpegts_dvb_component_descriptor_free
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsComponentDescriptor" title="struct GstMpegtsComponentDescriptor"><span class="type">GstMpegtsComponentDescriptor</span></a> *source</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-parse-dvb-component"></a><h3>gst_mpegts_descriptor_parse_dvb_component ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_component
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsComponentDescriptor" title="struct GstMpegtsComponentDescriptor"><span class="type">GstMpegtsComponentDescriptor</span></a> **res</code></em>);</pre>
+<p>Extracts the DVB component information from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-component.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-COMPONENT:CAPS"><code class="literal">GST_MTS_DESC_DVB_COMPONENT</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p> the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsComponentDescriptor" title="struct GstMpegtsComponentDescriptor"><span class="type">GstMpegtsComponentDescriptor</span></a> to fill. </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-mpegts-descriptor-parse-dvb-component.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 succeeded, 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-mpegts-extended-event-descriptor-free"></a><h3>gst_mpegts_extended_event_descriptor_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_mpegts_extended_event_descriptor_free
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor" title="struct GstMpegtsExtendedEventDescriptor"><span class="type">GstMpegtsExtendedEventDescriptor</span></a> *source</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-parse-dvb-extended-event"></a><h3>gst_mpegts_descriptor_parse_dvb_extended_event ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_extended_event
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor" title="struct GstMpegtsExtendedEventDescriptor"><span class="type">GstMpegtsExtendedEventDescriptor</span></a> **res</code></em>);</pre>
+<p>Extracts the DVB extended event information from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-extended-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>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-EXTENDED-EVENT:CAPS"><code class="literal">GST_MTS_DESC_DVB_EXTENDED_EVENT</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p> the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventDescriptor" title="struct GstMpegtsExtendedEventDescriptor"><span class="type">GstMpegtsExtendedEventDescriptor</span></a> to fill. </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-mpegts-descriptor-parse-dvb-extended-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 parsing succeeded, 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-mpegts-descriptor-parse-satellite-delivery-system"></a><h3>gst_mpegts_descriptor_parse_satellite_delivery_system ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_satellite_delivery_system
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor" title="struct GstMpegtsSatelliteDeliverySystemDescriptor"><span class="type">GstMpegtsSatelliteDeliverySystemDescriptor</span></a> *res</code></em>);</pre>
+<p>Extracts the satellite delivery system information from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-satellite-delivery-system.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SATELLITE-DELIVERY-SYSTEM:CAPS"><code class="literal">GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p> the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteDeliverySystemDescriptor" title="struct GstMpegtsSatelliteDeliverySystemDescriptor"><span class="type">GstMpegtsSatelliteDeliverySystemDescriptor</span></a> to fill. </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>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-satellite-delivery-system.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 succeeded, 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-mpegts-descriptor-parse-cable-delivery-system"></a><h3>gst_mpegts_descriptor_parse_cable_delivery_system ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_cable_delivery_system
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor" title="struct GstMpegtsCableDeliverySystemDescriptor"><span class="type">GstMpegtsCableDeliverySystemDescriptor</span></a> *res</code></em>);</pre>
+<p>Extracts the cable delivery system information from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-cable-delivery-system.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CABLE-DELIVERY-SYSTEM:CAPS"><code class="literal">GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p> the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableDeliverySystemDescriptor" title="struct GstMpegtsCableDeliverySystemDescriptor"><span class="type">GstMpegtsCableDeliverySystemDescriptor</span></a> to fill. </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>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-cable-delivery-system.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 succeeded, 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-mpegts-descriptor-parse-terrestrial-delivery-system"></a><h3>gst_mpegts_descriptor_parse_terrestrial_delivery_system ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_terrestrial_delivery_system
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor" title="struct GstMpegtsTerrestrialDeliverySystemDescriptor"><span class="type">GstMpegtsTerrestrialDeliverySystemDescriptor</span></a> *res</code></em>);</pre>
+<p>Parses out the terrestrial delivery system from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-terrestrial-delivery-system.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TERRESTRIAL-DELIVERY-SYSTEM:CAPS"><code class="literal">GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialDeliverySystemDescriptor" title="struct GstMpegtsTerrestrialDeliverySystemDescriptor"><span class="type">GstMpegtsTerrestrialDeliverySystemDescriptor</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="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-mpegts-descriptor-parse-terrestrial-delivery-system.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 parsing happened correctly, 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-mpegts-t2-delivery-system-descriptor-free"></a><h3>gst_mpegts_t2_delivery_system_descriptor_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_mpegts_t2_delivery_system_descriptor_free
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor" title="struct GstMpegtsT2DeliverySystemDescriptor"><span class="type">GstMpegtsT2DeliverySystemDescriptor</span></a> *source</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-parse-dvb-t2-delivery-system"></a><h3>gst_mpegts_descriptor_parse_dvb_t2_delivery_system ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_t2_delivery_system
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor" title="struct GstMpegtsT2DeliverySystemDescriptor"><span class="type">GstMpegtsT2DeliverySystemDescriptor</span></a> **res</code></em>);</pre>
+<p>Parses out the DVB-T2 delivery system from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-t2-delivery-system.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-EXT-DVB-T2-DELIVERY-SYSTEM:CAPS"><code class="literal">GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsT2DeliverySystemDescriptor" title="struct GstMpegtsT2DeliverySystemDescriptor"><span class="type">GstMpegtsT2DeliverySystemDescriptor</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-mpegts-descriptor-parse-dvb-t2-delivery-system.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-short-event"></a><h3>gst_mpegts_descriptor_parse_dvb_short_event ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_short_event
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **language_code</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **event_name</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **text</code></em>);</pre>
+<p>Extracts the DVB short event information from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-short-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>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SHORT-EVENT:CAPS"><code class="literal">GST_MTS_DESC_DVB_SHORT_EVENT</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>language_code</p></td>
+<td class="parameter_description"><p> the language 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="Free data after the code is done."><span class="acronym">transfer full</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>event_name</p></td>
+<td class="parameter_description"><p> the event name. </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="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>text</p></td>
+<td class="parameter_description"><p> the event text. </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="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-mpegts-descriptor-parse-dvb-short-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 parsing succeeded, 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-mpegts-descriptor-parse-dvb-network-name"></a><h3>gst_mpegts_descriptor_parse_dvb_network_name ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_network_name
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **name</code></em>);</pre>
+<p>Parses out the dvb network name from the <em class="parameter"><code>descriptor</code></em>
+:</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-network-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>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-NETWORK-NAME:CAPS"><code class="literal">GST_MTS_DESC_DVB_NETWORK_NAME</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</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 extracted name. </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-mpegts-descriptor-parse-dvb-network-name.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 parsing happened correctly, 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-mpegts-descriptor-from-dvb-network-name"></a><h3>gst_mpegts_descriptor_from_dvb_network_name ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+gst_mpegts_descriptor_from_dvb_network_name
+                               (<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>Creates a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> to be a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-NETWORK-NAME:CAPS"><code class="literal">GST_MTS_DESC_DVB_NETWORK_NAME</code></a>,
+with the network name <em class="parameter"><code>name</code></em>
+. The data field of the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a>
+will be allocated, and transferred to the caller.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-from-dvb-network-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>name</p></td>
+<td class="parameter_description"><p>the network name to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-from-dvb-network-name.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on fail. </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-mpegts-descriptor-parse-dvb-service"></a><h3>gst_mpegts_descriptor_parse_dvb_service ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_service
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType"><span class="type">GstMpegtsDVBServiceType</span></a> *service_type</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **service_name</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **provider_name</code></em>);</pre>
+<p>Extracts the dvb service information from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-service.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE:CAPS"><code class="literal">GST_MTS_DESC_DVB_SERVICE</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>service_type</p></td>
+<td class="parameter_description"><p> the service type. </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>service_name</p></td>
+<td class="parameter_description"><p> the service name. </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="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>provider_name</p></td>
+<td class="parameter_description"><p> the provider name. </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="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-mpegts-descriptor-parse-dvb-service.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 succeeded, 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-mpegts-descriptor-from-dvb-service"></a><h3>gst_mpegts_descriptor_from_dvb_service ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+gst_mpegts_descriptor_from_dvb_service
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType"><span class="type">GstMpegtsDVBServiceType</span></a> service_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> *service_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> *service_provider</code></em>);</pre>
+<p>Fills a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> to be a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE:CAPS"><code class="literal">GST_MTS_DESC_DVB_SERVICE</code></a>.
+The data field of the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> will be allocated,
+and transferred to the caller.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-from-dvb-service.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>service_type</p></td>
+<td class="parameter_description"><p>Service type defined as a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType"><span class="type">GstMpegtsDVBServiceType</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>service_name</p></td>
+<td class="parameter_description"><p> Name of the service. </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>service_provider</p></td>
+<td class="parameter_description"><p> Name of the service provider. </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-mpegts-descriptor-from-dvb-service.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on fail. </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-mpegts-descriptor-parse-dvb-teletext-idx"></a><h3>gst_mpegts_descriptor_parse_dvb_teletext_idx ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_teletext_idx
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</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 href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **language_code</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBTeletextType" title="enum GstMpegtsDVBTeletextType"><span class="type">GstMpegtsDVBTeletextType</span></a> *teletext_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> *magazine_number</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *page_number</code></em>);</pre>
+<p>Parses teletext number <em class="parameter"><code>idx</code></em>
+ in the <em class="parameter"><code>descriptor</code></em>
+. The language is in ISO639 format.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-teletext-idx.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TELETEXT:CAPS"><code class="literal">GST_MTS_DESC_DVB_TELETEXT</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</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 id of the teletext to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>language_code</p></td>
+<td class="parameter_description"><p> a null-terminated string. </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="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>teletext_type</p></td>
+<td class="parameter_description"><p> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBTeletextType" title="enum GstMpegtsDVBTeletextType"><span class="type">GstMpegtsDVBTeletextType</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="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>magazine_number</p></td>
+<td class="parameter_description"><p>. </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>page_number</p></td>
+<td class="parameter_description"><p>. </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-mpegts-descriptor-parse-dvb-teletext-idx.returns"></a><h4>Returns</h4>
+<p> FALSE on out-of-bounds and errors</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-parse-dvb-teletext-nb"></a><h3>gst_mpegts_descriptor_parse_dvb_teletext_nb ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gst_mpegts_descriptor_parse_dvb_teletext_nb
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>);</pre>
+<p>Find the number of teletext entries in <em class="parameter"><code>descriptor</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-teletext-nb.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-TELETEXT:CAPS"><code class="literal">GST_MTS_DESC_DVB_TELETEXT</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-teletext-nb.returns"></a><h4>Returns</h4>
+<p> Number of teletext entries</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-parse-dvb-subtitling-idx"></a><h3>gst_mpegts_descriptor_parse_dvb_subtitling_idx ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_subtitling_idx
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</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 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#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#guint16"><span class="type">guint16</span></a> *composition_page_id</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> *ancillary_page_id</code></em>);</pre>
+<p>Extracts the DVB subtitling informatio from specific table id in <em class="parameter"><code>descriptor</code></em>
+.</p>
+<p>Note: Use <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gsttaglanguagecodes.html#gst-tag-get-language-code"><span class="type">gst_tag_get_language_code</span></a> if you want to get the the
+ISO 639-1 language code from the returned ISO 639-2 one.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-subtitling-idx.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SUBTITLING:CAPS"><code class="literal">GST_MTS_DESC_DVB_SUBTITLING</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>idx</p></td>
+<td class="parameter_description"><p>Table id of the entry to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>lang</p></td>
+<td class="parameter_description"><p> the language 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="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p> the type of subtitling. </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="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>composition_page_id</p></td>
+<td class="parameter_description"><p> the composition page id. </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="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>ancillary_page_id</p></td>
+<td class="parameter_description"><p> the ancillary page id. </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="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-mpegts-descriptor-parse-dvb-subtitling-idx.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 succeeded, 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-mpegts-descriptor-parse-dvb-subtitling-nb"></a><h3>gst_mpegts_descriptor_parse_dvb_subtitling_nb ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gst_mpegts_descriptor_parse_dvb_subtitling_nb
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-subtitling-nb.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SUBTITLING:CAPS"><code class="literal">GST_MTS_DESC_DVB_SUBTITLING</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-subtitling-nb.returns"></a><h4>Returns</h4>
+<p> The number of entries in <em class="parameter"><code>descriptor</code></em>
+</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-from-dvb-subtitling"></a><h3>gst_mpegts_descriptor_from_dvb_subtitling ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
+gst_mpegts_descriptor_from_dvb_subtitling
+                               (<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></em>,
+                                <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#guint16"><span class="type">guint16</span></a> composition</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> ancillary</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-from-dvb-subtitling.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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</p></td>
+<td class="parameter_description"><p> a string containing the ISO639 language. </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>type</p></td>
+<td class="parameter_description"><p>subtitling type</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>composition</p></td>
+<td class="parameter_description"><p>composition page id</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>ancillary</p></td>
+<td class="parameter_description"><p>ancillary page id</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-dvb-linkage-descriptor-free"></a><h3>gst_mpegts_dvb_linkage_descriptor_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_mpegts_dvb_linkage_descriptor_free
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *source</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-dvb-linkage-descriptor-get-mobile-hand-over"></a><h3>gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageMobileHandOver" title="struct GstMpegtsDVBLinkageMobileHandOver"><span class="returnvalue">GstMpegtsDVBLinkageMobileHandOver</span></a> *
+gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *desc</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-mpegts-dvb-linkage-descriptor-get-mobile-hand-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>desc</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-dvb-linkage-descriptor-get-mobile-hand-over.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageMobileHandOver" title="struct GstMpegtsDVBLinkageMobileHandOver"><span class="type">GstMpegtsDVBLinkageMobileHandOver</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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-dvb-linkage-descriptor-get-event"></a><h3>gst_mpegts_dvb_linkage_descriptor_get_event ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageEvent" title="struct GstMpegtsDVBLinkageEvent"><span class="returnvalue">GstMpegtsDVBLinkageEvent</span></a> *
+gst_mpegts_dvb_linkage_descriptor_get_event
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *desc</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-mpegts-dvb-linkage-descriptor-get-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>desc</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-dvb-linkage-descriptor-get-event.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageEvent" title="struct GstMpegtsDVBLinkageEvent"><span class="type">GstMpegtsDVBLinkageEvent</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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-dvb-linkage-descriptor-get-extended-event"></a><h3>gst_mpegts_dvb_linkage_descriptor_get_extended_event ()</h3>
+<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
+gst_mpegts_dvb_linkage_descriptor_get_extended_event
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *desc</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-mpegts-dvb-linkage-descriptor-get-extended-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>desc</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-dvb-linkage-descriptor-get-extended-event.returns"></a><h4>Returns</h4>
+<p> an <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageExtendedEvent" title="struct GstMpegtsDVBLinkageExtendedEvent"><span class="type">GstMpegtsDVBLinkageExtendedEvent</span></a> array 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>
+<p><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDVBLinkageExtendedEvent]</span></p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-parse-dvb-linkage"></a><h3>gst_mpegts_descriptor_parse_dvb_linkage ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_linkage
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> **res</code></em>);</pre>
+<p>Extracts the DVB linkage information from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-linkage.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-LINKAGE:CAPS"><code class="literal">GST_MTS_DESC_DVB_LINKAGE</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p> the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> to fill. </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-mpegts-descriptor-parse-dvb-linkage.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 succeeded, 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-mpegts-descriptor-parse-dvb-private-data-specifier"></a><h3>gst_mpegts_descriptor_parse_dvb_private_data_specifier ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_private_data_specifier
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *private_data_specifier</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **private_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> *length</code></em>);</pre>
+<p>Parses out the private data specifier from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-private-data-specifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-PRIVATE-DATA-SPECIFIER:CAPS"><code class="literal">GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>private_data_specifier</p></td>
+<td class="parameter_description"><p> the private data specifier id
+registered by http://www.dvbservices.com/. </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>private_data</p></td>
+<td class="parameter_description"><p> additional data or NULL. </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="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>length</p></td>
+<td class="parameter_description"><p> length of <code class="literal">private_data</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>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-private-data-specifier.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-frequency-list"></a><h3>gst_mpegts_descriptor_parse_dvb_frequency_list ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_frequency_list
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *offset</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> **list</code></em>);</pre>
+<p>Parses out a list of frequencies from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-frequency-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>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-FREQUENCY-LIST:CAPS"><code class="literal">GST_MTS_DESC_DVB_FREQUENCY_LIST</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>offset</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> in Hz, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> in kHz. </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>list</p></td>
+<td class="parameter_description"><p> a list of all frequencies in Hz/kHz
+depending on <code class="literal">offset</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="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> guint32]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-frequency-list.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 parsing happened correctly, 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-mpegts-dvb-data-broadcast-descriptor-free"></a><h3>gst_mpegts_dvb_data_broadcast_descriptor_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_mpegts_dvb_data_broadcast_descriptor_free
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor" title="struct GstMpegtsDataBroadcastDescriptor"><span class="type">GstMpegtsDataBroadcastDescriptor</span></a> *source</code></em>);</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-descriptor-parse-dvb-data-broadcast"></a><h3>gst_mpegts_descriptor_parse_dvb_data_broadcast ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_data_broadcast
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor" title="struct GstMpegtsDataBroadcastDescriptor"><span class="type">GstMpegtsDataBroadcastDescriptor</span></a> **res</code></em>);</pre>
+<p>Parses out the data broadcast from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-data-broadcast.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DATA-BROADCAST:CAPS"><code class="literal">GST_MTS_DESC_DVB_DATA_BROADCAST</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>res</p></td>
+<td class="parameter_description"><p> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDataBroadcastDescriptor" title="struct GstMpegtsDataBroadcastDescriptor"><span class="type">GstMpegtsDataBroadcastDescriptor</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-mpegts-descriptor-parse-dvb-data-broadcast.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-scrambling"></a><h3>gst_mpegts_descriptor_parse_dvb_scrambling ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_scrambling
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBScramblingModeType" title="enum GstMpegtsDVBScramblingModeType"><span class="type">GstMpegtsDVBScramblingModeType</span></a> *scrambling_mode</code></em>);</pre>
+<p>Parses out the scrambling mode from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-scrambling.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SCRAMBLING:CAPS"><code class="literal">GST_MTS_DESC_DVB_SCRAMBLING</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>scrambling_mode</p></td>
+<td class="parameter_description"><p> This 8-bit field identifies the selected
+mode of the scrambling algorithm (<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBScramblingModeType" title="enum GstMpegtsDVBScramblingModeType"><span class="type">GstMpegtsDVBScramblingModeType</span></a>).
+The technical details of the scrambling algorithm are available only
+to bona-fide users upon signature of a Non Disclosure Agreement (NDA)
+administered by the DVB Common Scrambling Algorithm Custodian. </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-mpegts-descriptor-parse-dvb-scrambling.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-data-broadcast-id"></a><h3>gst_mpegts_descriptor_parse_dvb_data_broadcast_id ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_data_broadcast_id
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</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_broadcast_id</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **id_selector_bytes</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>Parses out the data broadcast id from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-data-broadcast-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>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-DATA-BROADCAST-ID:CAPS"><code class="literal">GST_MTS_DESC_DVB_DATA_BROADCAST_ID</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data_broadcast_id</p></td>
+<td class="parameter_description"><p> the data broadcast id. </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_selector_bytes</p></td>
+<td class="parameter_description"><p> the selector bytes, if present. </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>len</p></td>
+<td class="parameter_description"><p> the length of <span class="type">id_selector_bytes</span>. </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-mpegts-descriptor-parse-dvb-data-broadcast-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> if the parsing happened correctly, 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-mpegts-descriptor-parse-dvb-parental-rating"></a><h3>gst_mpegts_descriptor_parse_dvb_parental_rating ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_parental_rating
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **rating</code></em>);</pre>
+<p>Extracts the DVB parental rating information from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-parental-rating.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-PARENTAL-RATING:CAPS"><code class="literal">GST_MTS_DESC_DVB_PARENTAL_RATING</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rating</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBParentalRatingItem" title="struct GstMpegtsDVBParentalRatingItem"><span class="type">GstMpegtsDVBParentalRatingItem</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDVBParentalRatingItem]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-parental-rating.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-stream-identifier"></a><h3>gst_mpegts_descriptor_parse_dvb_stream_identifier ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_stream_identifier
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *component_tag</code></em>);</pre>
+<p>Extracts the component tag from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-stream-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CONTENT:CAPS"><code class="literal">GST_MTS_DESC_DVB_CONTENT</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>component_tag</p></td>
+<td class="parameter_description"><p> the component tag. </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>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-stream-identifier.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 parsing happended correctly, 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-mpegts-descriptor-parse-dvb-ca-identifier"></a><h3>gst_mpegts_descriptor_parse_dvb_ca_identifier ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_ca_identifier
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> **list</code></em>);</pre>
+<p>Extracts ca id's from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-ca-identifier.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-CA-IDENTIFIER:CAPS"><code class="literal">GST_MTS_DESC_DVB_CA_IDENTIFIER</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</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 list of ca identifier.
+Edge entry identifies the CA system. Allocations of the value of this field
+are found in http://www.dvbservices.com. </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="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint16]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-ca-identifier.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-service-list"></a><h3>gst_mpegts_descriptor_parse_dvb_service_list ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_service_list
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **list</code></em>);</pre>
+<p>Parses out a list of services from the <em class="parameter"><code>descriptor</code></em>
+:</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-service-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>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-SERVICE-LIST:CAPS"><code class="literal">GST_MTS_DESC_DVB_SERVICE_LIST</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>list</p></td>
+<td class="parameter_description"><p>the list of services. </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="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDVBServiceListItem]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-service-list.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-stuffing"></a><h3>gst_mpegts_descriptor_parse_dvb_stuffing ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_stuffing
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **stuffing_bytes</code></em>);</pre>
+<p>Parses out the stuffing bytes from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-stuffing.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-STUFFING:CAPS"><code class="literal">GST_MTS_DESC_DVB_STUFFING</code></a> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stuffing_bytes</p></td>
+<td class="parameter_description"><p> the stuffing 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="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-mpegts-descriptor-parse-dvb-stuffing.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-bouquet-name"></a><h3>gst_mpegts_descriptor_parse_dvb_bouquet_name ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_bouquet_name
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **bouquet_name</code></em>);</pre>
+<p>Extracts the bouquet name from <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-bouquet-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>bouquet_name</p></td>
+<td class="parameter_description"><p> the bouquet name. </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="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-mpegts-descriptor-parse-dvb-bouquet-name.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 succeeded, 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-mpegts-descriptor-parse-dvb-multilingual-network-name"></a><h3>gst_mpegts_descriptor_parse_dvb_multilingual_network_name ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_multilingual_network_name
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **network_name_items</code></em>);</pre>
+<p>Parses out the multilingual network name from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-multilingual-network-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>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-NETWORK-NAME:CAPS"><code class="literal">GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME</code></a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>network_name_items</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualNetworkNameItem" title="struct GstMpegtsDvbMultilingualNetworkNameItem"><span class="type">GstMpegtsDvbMultilingualNetworkNameItem</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDvbMultilingualNetworkNameItem]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-multilingual-network-name.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-multilingual-bouquet-name"></a><h3>gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **bouquet_name_items</code></em>);</pre>
+<p>Parses out the multilingual bouquet name from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-multilingual-bouquet-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>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-BOUQUET-NAME:CAPS"><code class="literal">GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME</code></a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bouquet_name_items</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualBouquetNameItem" title="struct GstMpegtsDvbMultilingualBouquetNameItem"><span class="type">GstMpegtsDvbMultilingualBouquetNameItem</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDvbMultilingualBouquetNameItem]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-multilingual-bouquet-name.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-multilingual-service-name"></a><h3>gst_mpegts_descriptor_parse_dvb_multilingual_service_name ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_multilingual_service_name
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **service_name_items</code></em>);</pre>
+<p>Parses out the multilingual service name from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-multilingual-service-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>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-SERVICE-NAME:CAPS"><code class="literal">GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME</code></a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>service_name_items</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualServiceNameItem" title="struct GstMpegtsDvbMultilingualServiceNameItem"><span class="type">GstMpegtsDvbMultilingualServiceNameItem</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDvbMultilingualServiceNameItem]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-multilingual-service-name.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 parsing happened correctly, 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-mpegts-descriptor-parse-dvb-multilingual-component"></a><h3>gst_mpegts_descriptor_parse_dvb_multilingual_component ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_mpegts_descriptor_parse_dvb_multilingual_component
+                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *component_tag</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **component_description_items</code></em>);</pre>
+<p>Parses out the multilingual component from the <em class="parameter"><code>descriptor</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-multilingual-component.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>descriptor</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GST-MTS-DESC-DVB-MULTILINGUAL-COMPONENT:CAPS"><code class="literal">GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT</code></a>
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>component_tag</p></td>
+<td class="parameter_description"><p>the component tag</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>component_description_items</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDvbMultilingualComponentItem" title="struct GstMpegtsDvbMultilingualComponentItem"><span class="type">GstMpegtsDvbMultilingualComponentItem</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDvbMultilingualComponentItem]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-descriptor-parse-dvb-multilingual-component.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 parsing happened correctly, else <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</p>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstMpegtsDVBDescriptorType"></a><h3>enum GstMpegtsDVBDescriptorType</h3>
+<p>The type of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p>
+<p>These values correspond to the registered descriptor type from
+the various DVB specifications.</p>
+<p>Consult the relevant specifications for more details.</p>
+<div class="refsect3">
+<a name="GstMpegtsDVBDescriptorType.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-MTS-DESC-DVB-NETWORK-NAME:CAPS"></a>GST_MTS_DESC_DVB_NETWORK_NAME</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SERVICE-LIST:CAPS"></a>GST_MTS_DESC_DVB_SERVICE_LIST</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-STUFFING:CAPS"></a>GST_MTS_DESC_DVB_STUFFING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SATELLITE-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CABLE-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-VBI-DATA:CAPS"></a>GST_MTS_DESC_DVB_VBI_DATA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-VBI-TELETEXT:CAPS"></a>GST_MTS_DESC_DVB_VBI_TELETEXT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-BOUQUET-NAME:CAPS"></a>GST_MTS_DESC_DVB_BOUQUET_NAME</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SERVICE:CAPS"></a>GST_MTS_DESC_DVB_SERVICE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-COUNTRY-AVAILABILITY:CAPS"></a>GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-LINKAGE:CAPS"></a>GST_MTS_DESC_DVB_LINKAGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-NVOD-REFERENCE:CAPS"></a>GST_MTS_DESC_DVB_NVOD_REFERENCE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TIME-SHIFTED-SERVICE:CAPS"></a>GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SHORT-EVENT:CAPS"></a>GST_MTS_DESC_DVB_SHORT_EVENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-EXTENDED-EVENT:CAPS"></a>GST_MTS_DESC_DVB_EXTENDED_EVENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TIME-SHIFTED-EVENT:CAPS"></a>GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-COMPONENT:CAPS"></a>GST_MTS_DESC_DVB_COMPONENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-MOSAIC:CAPS"></a>GST_MTS_DESC_DVB_MOSAIC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-STREAM-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DVB_STREAM_IDENTIFIER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CA-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DVB_CA_IDENTIFIER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CONTENT:CAPS"></a>GST_MTS_DESC_DVB_CONTENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-PARENTAL-RATING:CAPS"></a>GST_MTS_DESC_DVB_PARENTAL_RATING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TELETEXT:CAPS"></a>GST_MTS_DESC_DVB_TELETEXT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TELEPHONE:CAPS"></a>GST_MTS_DESC_DVB_TELEPHONE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-LOCAL-TIME-OFFSET:CAPS"></a>GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SUBTITLING:CAPS"></a>GST_MTS_DESC_DVB_SUBTITLING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TERRESTRIAL-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-MULTILINGUAL-NETWORK-NAME:CAPS"></a>GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-MULTILINGUAL-BOUQUET-NAME:CAPS"></a>GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-MULTILINGUAL-SERVICE-NAME:CAPS"></a>GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-MULTILINGUAL-COMPONENT:CAPS"></a>GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-PRIVATE-DATA-SPECIFIER:CAPS"></a>GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SERVICE-MOVE:CAPS"></a>GST_MTS_DESC_DVB_SERVICE_MOVE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SHORT-SMOOTHING-BUFFER:CAPS"></a>GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-FREQUENCY-LIST:CAPS"></a>GST_MTS_DESC_DVB_FREQUENCY_LIST</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-PARTIAL-TRANSPORT-STREAM:CAPS"></a>GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-DATA-BROADCAST:CAPS"></a>GST_MTS_DESC_DVB_DATA_BROADCAST</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SCRAMBLING:CAPS"></a>GST_MTS_DESC_DVB_SCRAMBLING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-DATA-BROADCAST-ID:CAPS"></a>GST_MTS_DESC_DVB_DATA_BROADCAST_ID</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TRANSPORT-STREAM:CAPS"></a>GST_MTS_DESC_DVB_TRANSPORT_STREAM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-DSNG:CAPS"></a>GST_MTS_DESC_DVB_DSNG</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-PDC:CAPS"></a>GST_MTS_DESC_DVB_PDC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-AC3:CAPS"></a>GST_MTS_DESC_DVB_AC3</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-ANCILLARY-DATA:CAPS"></a>GST_MTS_DESC_DVB_ANCILLARY_DATA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CELL-LIST:CAPS"></a>GST_MTS_DESC_DVB_CELL_LIST</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CELL-FREQUENCY-LINK:CAPS"></a>GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-ANNOUNCEMENT-SUPPORT:CAPS"></a>GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-APPLICATION-SIGNALLING:CAPS"></a>GST_MTS_DESC_DVB_APPLICATION_SIGNALLING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-ADAPTATION-FIELD-DATA:CAPS"></a>GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SERVICE-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DVB_SERVICE_IDENTIFIER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SERVICE-AVAILABILITY:CAPS"></a>GST_MTS_DESC_DVB_SERVICE_AVAILABILITY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-DEFAULT-AUTHORITY:CAPS"></a>GST_MTS_DESC_DVB_DEFAULT_AUTHORITY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-RELATED-CONTENT:CAPS"></a>GST_MTS_DESC_DVB_RELATED_CONTENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TVA-ID:CAPS"></a>GST_MTS_DESC_DVB_TVA_ID</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CONTENT-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DVB_CONTENT_IDENTIFIER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TIMESLICE-FEC-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-ECM-REPETITION-RATE:CAPS"></a>GST_MTS_DESC_DVB_ECM_REPETITION_RATE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-S2-SATELLITE-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-ENHANCED-AC3:CAPS"></a>GST_MTS_DESC_DVB_ENHANCED_AC3</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-DTS:CAPS"></a>GST_MTS_DESC_DVB_DTS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-AAC:CAPS"></a>GST_MTS_DESC_DVB_AAC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-XAIT-LOCATION:CAPS"></a>GST_MTS_DESC_DVB_XAIT_LOCATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-FTA-CONTENT-MANAGEMENT:CAPS"></a>GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-EXTENSION:CAPS"></a>GST_MTS_DESC_DVB_EXTENSION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBExtendedDescriptorType"></a><h3>enum GstMpegtsDVBExtendedDescriptorType</h3>
+<p>The type of <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a></p>
+<p>These values correspond to the registered extended descriptor
+type from the various DVB specifications.</p>
+<p>Consult the relevant specifications for more details.</p>
+<div class="refsect3">
+<a name="GstMpegtsDVBExtendedDescriptorType.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-MTS-DESC-EXT-DVB-IMAGE-ICON:CAPS"></a>GST_MTS_DESC_EXT_DVB_IMAGE_ICON</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-CPCM-DELIVERY-SIGNALLING:CAPS"></a>GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-CP:CAPS"></a>GST_MTS_DESC_EXT_DVB_CP</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-CP-IDENTIFIER:CAPS"></a>GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-T2-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-SH-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-SUPPLEMENTARY-AUDIO:CAPS"></a>GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-NETWORK-CHANGE-NOTIFY:CAPS"></a>GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-MESSAGE:CAPS"></a>GST_MTS_DESC_EXT_DVB_MESSAGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-TARGET-REGION:CAPS"></a>GST_MTS_DESC_EXT_DVB_TARGET_REGION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-TARGET-REGION-NAME:CAPS"></a>GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-SERVICE-RELOCATED:CAPS"></a>GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-XAIT-PID:CAPS"></a>GST_MTS_DESC_EXT_DVB_XAIT_PID</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-C2-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-DTS-HD-AUDIO-STREAM:CAPS"></a>GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-DTS-NEUTRAL:CAPS"></a>GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-VIDEO-DEPTH-RANGE:CAPS"></a>GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-T2MI:CAPS"></a>GST_MTS_DESC_EXT_DVB_T2MI</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-URI-LINKAGE:CAPS"></a>GST_MTS_DESC_EXT_DVB_URI_LINKAGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsContent"></a><h3>struct GstMpegtsContent</h3>
+<pre class="programlisting">struct GstMpegtsContent {
+  GstMpegtsContentNibbleHi content_nibble_1;
+  guint8 content_nibble_2;
+  guint8 user_byte;
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsComponentDescriptor"></a><h3>struct GstMpegtsComponentDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsComponentDescriptor {
+  guint8 stream_content;
+  guint8 component_type;
+  guint8 component_tag;
+  gchar  *language_code;
+  gchar  *text;
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsExtendedEventItem"></a><h3>struct GstMpegtsExtendedEventItem</h3>
+<pre class="programlisting">struct GstMpegtsExtendedEventItem {
+  gchar *item_description;
+  gchar *item;
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsExtendedEventDescriptor"></a><h3>struct GstMpegtsExtendedEventDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsExtendedEventDescriptor {
+  guint8 descriptor_number;
+  guint8 last_descriptor_number;
+  gchar  *language_code;
+  GPtrArray *items;
+  gchar *text;
+};
+</pre>
+<p>Extended Event Descriptor (EN 300 468 v.1.13.1)</p>
+<div class="refsect3">
+<a name="GstMpegtsExtendedEventDescriptor.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="GstMpegtsExtendedEventDescriptor.descriptor-number"></a>descriptor_number</code></em>;</p></td>
+<td class="struct_member_description"> </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="GstMpegtsExtendedEventDescriptor.last-descriptor-number"></a>last_descriptor_number</code></em>;</p></td>
+<td class="struct_member_description"> </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="GstMpegtsExtendedEventDescriptor.language-code"></a>language_code</code></em>;</p></td>
+<td class="struct_member_description"><p>NULL terminated language code.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsExtendedEventDescriptor.items"></a>items</code></em>;</p></td>
+<td class="struct_member_description"><p> the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsExtendedEventItem" title="struct GstMpegtsExtendedEventItem"><span class="type">GstMpegtsExtendedEventItem</span></a>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsExtendedEventItem]</span></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="GstMpegtsExtendedEventDescriptor.text"></a>text</code></em>;</p></td>
+<td class="struct_member_description"> </td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsSatelliteDeliverySystemDescriptor"></a><h3>struct GstMpegtsSatelliteDeliverySystemDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsSatelliteDeliverySystemDescriptor {
+  guint32                            frequency;
+  gfloat                             orbital_position;
+  gboolean                           west_east; 
+  GstMpegtsSatellitePolarizationType polarization;
+
+  GstMpegtsSatelliteRolloff          roll_off;
+  gboolean                           modulation_system;
+  GstMpegtsModulationType            modulation_type;
+
+  guint32                            symbol_rate;
+  GstMpegtsDVBCodeRate               fec_inner;
+};
+</pre>
+<p>Satellite Delivery System Descriptor (EN 300 468 v.1.13.1)</p>
+<div class="refsect3">
+<a name="GstMpegtsSatelliteDeliverySystemDescriptor.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="GstMpegtsSatelliteDeliverySystemDescriptor.frequency"></a>frequency</code></em>;</p></td>
+<td class="struct_member_description"><p>the frequency in kHz (kiloHertz)</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="GstMpegtsSatelliteDeliverySystemDescriptor.orbital-position"></a>orbital_position</code></em>;</p></td>
+<td class="struct_member_description"><p>the orbital position in degrees</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="GstMpegtsSatelliteDeliverySystemDescriptor.west-east"></a>west_east</code></em>;</p></td>
+<td class="struct_member_description"><p>If <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, the satellite is in the eastern part of the orbit,
+else in the western part.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatellitePolarizationType" title="enum GstMpegtsSatellitePolarizationType"><span class="type">GstMpegtsSatellitePolarizationType</span></a> <em class="structfield"><code><a name="GstMpegtsSatelliteDeliverySystemDescriptor.polarization"></a>polarization</code></em>;</p></td>
+<td class="struct_member_description"><p>The polarization of the transmitted signal</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteRolloff" title="enum GstMpegtsSatelliteRolloff"><span class="type">GstMpegtsSatelliteRolloff</span></a> <em class="structfield"><code><a name="GstMpegtsSatelliteDeliverySystemDescriptor.roll-off"></a>roll_off</code></em>;</p></td>
+<td class="struct_member_description"><p>Roll-off factor used in DVB-S2</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="GstMpegtsSatelliteDeliverySystemDescriptor.modulation-system"></a>modulation_system</code></em>;</p></td>
+<td class="struct_member_description"><p>modulation system, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if DVB-S2, else DVB-S</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsModulationType" title="enum GstMpegtsModulationType"><span class="type">GstMpegtsModulationType</span></a> <em class="structfield"><code><a name="GstMpegtsSatelliteDeliverySystemDescriptor.modulation-type"></a>modulation_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Modulation scheme used</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="GstMpegtsSatelliteDeliverySystemDescriptor.symbol-rate"></a>symbol_rate</code></em>;</p></td>
+<td class="struct_member_description"><p>Symbol rate (in symbols per second)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBCodeRate" title="enum GstMpegtsDVBCodeRate"><span class="type">GstMpegtsDVBCodeRate</span></a> <em class="structfield"><code><a name="GstMpegtsSatelliteDeliverySystemDescriptor.fec-inner"></a>fec_inner</code></em>;</p></td>
+<td class="struct_member_description"><p>inner FEC scheme used</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBCodeRate"></a><h3>enum GstMpegtsDVBCodeRate</h3>
+<div class="refsect3">
+<a name="GstMpegtsDVBCodeRate.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-MPEGTS-FEC-NONE:CAPS"></a>GST_MPEGTS_FEC_NONE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-1-2:CAPS"></a>GST_MPEGTS_FEC_1_2</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-2-3:CAPS"></a>GST_MPEGTS_FEC_2_3</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-3-4:CAPS"></a>GST_MPEGTS_FEC_3_4</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-4-5:CAPS"></a>GST_MPEGTS_FEC_4_5</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-5-6:CAPS"></a>GST_MPEGTS_FEC_5_6</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-6-7:CAPS"></a>GST_MPEGTS_FEC_6_7</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-7-8:CAPS"></a>GST_MPEGTS_FEC_7_8</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-8-9:CAPS"></a>GST_MPEGTS_FEC_8_9</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-AUTO:CAPS"></a>GST_MPEGTS_FEC_AUTO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-3-5:CAPS"></a>GST_MPEGTS_FEC_3_5</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-9-10:CAPS"></a>GST_MPEGTS_FEC_9_10</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-2-5:CAPS"></a>GST_MPEGTS_FEC_2_5</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsModulationType"></a><h3>enum GstMpegtsModulationType</h3>
+<div class="refsect3">
+<a name="GstMpegtsModulationType.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-MPEGTS-MODULATION-QPSK:CAPS"></a>GST_MPEGTS_MODULATION_QPSK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-16:CAPS"></a>GST_MPEGTS_MODULATION_QAM_16</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-32:CAPS"></a>GST_MPEGTS_MODULATION_QAM_32</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-64:CAPS"></a>GST_MPEGTS_MODULATION_QAM_64</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-128:CAPS"></a>GST_MPEGTS_MODULATION_QAM_128</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-256:CAPS"></a>GST_MPEGTS_MODULATION_QAM_256</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-AUTO:CAPS"></a>GST_MPEGTS_MODULATION_QAM_AUTO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-VSB-8:CAPS"></a>GST_MPEGTS_MODULATION_VSB_8</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-VSB-16:CAPS"></a>GST_MPEGTS_MODULATION_VSB_16</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-PSK-8:CAPS"></a>GST_MPEGTS_MODULATION_PSK_8</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-APSK-16:CAPS"></a>GST_MPEGTS_MODULATION_APSK_16</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-APSK-32:CAPS"></a>GST_MPEGTS_MODULATION_APSK_32</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-DQPSK:CAPS"></a>GST_MPEGTS_MODULATION_DQPSK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-4-NR-:CAPS"></a>GST_MPEGTS_MODULATION_QAM_4_NR_</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-NONE:CAPS"></a>GST_MPEGTS_MODULATION_NONE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsSatellitePolarizationType"></a><h3>enum GstMpegtsSatellitePolarizationType</h3>
+<div class="refsect3">
+<a name="GstMpegtsSatellitePolarizationType.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-MPEGTS-POLARIZATION-LINEAR-HORIZONTAL:CAPS"></a>GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-POLARIZATION-LINEAR-VERTICAL:CAPS"></a>GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-POLARIZATION-CIRCULAR-LEFT:CAPS"></a>GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-POLARIZATION-CIRCULAR-RIGHT:CAPS"></a>GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsSatelliteRolloff"></a><h3>enum GstMpegtsSatelliteRolloff</h3>
+<div class="refsect3">
+<a name="GstMpegtsSatelliteRolloff.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-MPEGTS-ROLLOFF-35:CAPS"></a>GST_MPEGTS_ROLLOFF_35</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-ROLLOFF-20:CAPS"></a>GST_MPEGTS_ROLLOFF_20</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-ROLLOFF-25:CAPS"></a>GST_MPEGTS_ROLLOFF_25</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-ROLLOFF-RESERVED:CAPS"></a>GST_MPEGTS_ROLLOFF_RESERVED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-ROLLOFF-AUTO:CAPS"></a>GST_MPEGTS_ROLLOFF_AUTO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsCableDeliverySystemDescriptor"></a><h3>struct GstMpegtsCableDeliverySystemDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsCableDeliverySystemDescriptor {
+  guint32                            frequency;
+  GstMpegtsCableOuterFECScheme       outer_fec;
+  GstMpegtsModulationType            modulation;
+
+  guint32                            symbol_rate;
+  GstMpegtsDVBCodeRate               fec_inner;
+};
+</pre>
+<p>Cable Delivery System Descriptor (EN 300 468 v.1.13.1)</p>
+<div class="refsect3">
+<a name="GstMpegtsCableDeliverySystemDescriptor.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="GstMpegtsCableDeliverySystemDescriptor.frequency"></a>frequency</code></em>;</p></td>
+<td class="struct_member_description"><p>the frequency in Hz (Hertz)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableOuterFECScheme" title="enum GstMpegtsCableOuterFECScheme"><span class="type">GstMpegtsCableOuterFECScheme</span></a> <em class="structfield"><code><a name="GstMpegtsCableDeliverySystemDescriptor.outer-fec"></a>outer_fec</code></em>;</p></td>
+<td class="struct_member_description"><p>the outer FEC scheme used</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsModulationType" title="enum GstMpegtsModulationType"><span class="type">GstMpegtsModulationType</span></a> <em class="structfield"><code><a name="GstMpegtsCableDeliverySystemDescriptor.modulation"></a>modulation</code></em>;</p></td>
+<td class="struct_member_description"><p>Modulation scheme used</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="GstMpegtsCableDeliverySystemDescriptor.symbol-rate"></a>symbol_rate</code></em>;</p></td>
+<td class="struct_member_description"><p>Symbol rate (in symbols per second)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBCodeRate" title="enum GstMpegtsDVBCodeRate"><span class="type">GstMpegtsDVBCodeRate</span></a> <em class="structfield"><code><a name="GstMpegtsCableDeliverySystemDescriptor.fec-inner"></a>fec_inner</code></em>;</p></td>
+<td class="struct_member_description"><p>inner FEC scheme used</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsCableOuterFECScheme"></a><h3>enum GstMpegtsCableOuterFECScheme</h3>
+<div class="refsect3">
+<a name="GstMpegtsCableOuterFECScheme.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-MPEGTS-CABLE-OUTER-FEC-UNDEFINED:CAPS"></a>GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-CABLE-OUTER-FEC-NONE:CAPS"></a>GST_MPEGTS_CABLE_OUTER_FEC_NONE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-CABLE-OUTER-FEC-RS-204-188:CAPS"></a>GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsTerrestrialDeliverySystemDescriptor"></a><h3>struct GstMpegtsTerrestrialDeliverySystemDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsTerrestrialDeliverySystemDescriptor {
+  guint32				frequency;
+  guint32				bandwidth;
+  gboolean				priority;
+  gboolean				time_slicing;
+  gboolean				mpe_fec;
+  GstMpegtsModulationType		constellation;
+  GstMpegtsTerrestrialHierarchy		hierarchy;
+  GstMpegtsDVBCodeRate			code_rate_hp;
+  GstMpegtsDVBCodeRate			code_rate_lp;
+  GstMpegtsTerrestrialGuardInterval guard_interval;
+  GstMpegtsTerrestrialTransmissionMode transmission_mode;
+  gboolean				other_frequency;
+};
+</pre>
+<p>Terrestrial Delivery System Descriptor (EN 300 468 v.1.13.1)</p>
+<div class="refsect3">
+<a name="GstMpegtsTerrestrialDeliverySystemDescriptor.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="GstMpegtsTerrestrialDeliverySystemDescriptor.frequency"></a>frequency</code></em>;</p></td>
+<td class="struct_member_description"><p>the frequency in Hz (Hertz)</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="GstMpegtsTerrestrialDeliverySystemDescriptor.bandwidth"></a>bandwidth</code></em>;</p></td>
+<td class="struct_member_description"><p>the bandwidth in Hz (Hertz)</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="GstMpegtsTerrestrialDeliverySystemDescriptor.priority"></a>priority</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> High Priority <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> Low Priority</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="GstMpegtsTerrestrialDeliverySystemDescriptor.time-slicing"></a>time_slicing</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> no time slicing <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> time slicing</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="GstMpegtsTerrestrialDeliverySystemDescriptor.mpe-fec"></a>mpe_fec</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> no mpe-fec is used <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> mpe-fec is use</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsModulationType" title="enum GstMpegtsModulationType"><span class="type">GstMpegtsModulationType</span></a> <em class="structfield"><code><a name="GstMpegtsTerrestrialDeliverySystemDescriptor.constellation"></a>constellation</code></em>;</p></td>
+<td class="struct_member_description"><p>the constallation</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialHierarchy" title="enum GstMpegtsTerrestrialHierarchy"><span class="type">GstMpegtsTerrestrialHierarchy</span></a> <em class="structfield"><code><a name="GstMpegtsTerrestrialDeliverySystemDescriptor.hierarchy"></a>hierarchy</code></em>;</p></td>
+<td class="struct_member_description"><p>the hierarchy</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBCodeRate" title="enum GstMpegtsDVBCodeRate"><span class="type">GstMpegtsDVBCodeRate</span></a> <em class="structfield"><code><a name="GstMpegtsTerrestrialDeliverySystemDescriptor.code-rate-hp"></a>code_rate_hp</code></em>;</p></td>
+<td class="struct_member_description"> </td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBCodeRate" title="enum GstMpegtsDVBCodeRate"><span class="type">GstMpegtsDVBCodeRate</span></a> <em class="structfield"><code><a name="GstMpegtsTerrestrialDeliverySystemDescriptor.code-rate-lp"></a>code_rate_lp</code></em>;</p></td>
+<td class="struct_member_description"> </td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialGuardInterval" title="enum GstMpegtsTerrestrialGuardInterval"><span class="type">GstMpegtsTerrestrialGuardInterval</span></a> <em class="structfield"><code><a name="GstMpegtsTerrestrialDeliverySystemDescriptor.guard-interval"></a>guard_interval</code></em>;</p></td>
+<td class="struct_member_description"> </td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialTransmissionMode" title="enum GstMpegtsTerrestrialTransmissionMode"><span class="type">GstMpegtsTerrestrialTransmissionMode</span></a> <em class="structfield"><code><a name="GstMpegtsTerrestrialDeliverySystemDescriptor.transmission-mode"></a>transmission_mode</code></em>;</p></td>
+<td class="struct_member_description"> </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="GstMpegtsTerrestrialDeliverySystemDescriptor.other-frequency"></a>other_frequency</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> more frequency are use, else not</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsTerrestrialTransmissionMode"></a><h3>enum GstMpegtsTerrestrialTransmissionMode</h3>
+<div class="refsect3">
+<a name="GstMpegtsTerrestrialTransmissionMode.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-MPEGTS-TRANSMISSION-MODE-2K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_2K</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-8K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_8K</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-AUTO:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_AUTO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-4K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_4K</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-1K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_1K</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-16K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_16K</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-32K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_32K</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-C1:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_C1</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-C3780:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_C3780</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsTerrestrialGuardInterval"></a><h3>enum GstMpegtsTerrestrialGuardInterval</h3>
+<div class="refsect3">
+<a name="GstMpegtsTerrestrialGuardInterval.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-MPEGTS-GUARD-INTERVAL-1-32:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_1_32</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-1-16:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_1_16</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-1-8:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_1_8</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-1-4:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_1_4</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-AUTO:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_AUTO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-1-128:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_1_128</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-19-128:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_19_128</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-19-256:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_19_256</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-PN420:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_PN420</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-PN595:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_PN595</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-PN945:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_PN945</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsTerrestrialHierarchy"></a><h3>enum GstMpegtsTerrestrialHierarchy</h3>
+<div class="refsect3">
+<a name="GstMpegtsTerrestrialHierarchy.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-MPEGTS-HIERARCHY-NONE:CAPS"></a>GST_MPEGTS_HIERARCHY_NONE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-HIERARCHY-1:CAPS"></a>GST_MPEGTS_HIERARCHY_1</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-HIERARCHY-2:CAPS"></a>GST_MPEGTS_HIERARCHY_2</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-HIERARCHY-4:CAPS"></a>GST_MPEGTS_HIERARCHY_4</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-HIERARCHY-AUTO:CAPS"></a>GST_MPEGTS_HIERARCHY_AUTO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsT2DeliverySystemCellExtension"></a><h3>struct GstMpegtsT2DeliverySystemCellExtension</h3>
+<pre class="programlisting">struct GstMpegtsT2DeliverySystemCellExtension {
+  guint8  cell_id_extension;
+  guint32 transposer_frequency;
+};
+</pre>
+<div class="refsect3">
+<a name="GstMpegtsT2DeliverySystemCellExtension.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="GstMpegtsT2DeliverySystemCellExtension.cell-id-extension"></a>cell_id_extension</code></em>;</p></td>
+<td class="struct_member_description"><p>id of the sub cell</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="GstMpegtsT2DeliverySystemCellExtension.transposer-frequency"></a>transposer_frequency</code></em>;</p></td>
+<td class="struct_member_description"><p>centre frequency of the sub cell in Hz</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsT2DeliverySystemCell"></a><h3>struct GstMpegtsT2DeliverySystemCell</h3>
+<pre class="programlisting">struct GstMpegtsT2DeliverySystemCell {
+  guint16      cell_id;
+  GArray       *centre_frequencies;
+  GPtrArray    *sub_cells;
+};
+</pre>
+<div class="refsect3">
+<a name="GstMpegtsT2DeliverySystemCell.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsT2DeliverySystemCell.cell-id"></a>cell_id</code></em>;</p></td>
+<td class="struct_member_description"><p>id of the cell</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="GstMpegtsT2DeliverySystemCell.centre-frequencies"></a>centre_frequencies</code></em>;</p></td>
+<td class="struct_member_description"><p> centre frequencies in Hz. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> guint32]</span></td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsT2DeliverySystemCell.sub-cells"></a>sub_cells</code></em>;</p></td>
+<td class="struct_member_description"><p>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsT2DeliverySystemCellExtension]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsT2DeliverySystemDescriptor"></a><h3>struct GstMpegtsT2DeliverySystemDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsT2DeliverySystemDescriptor {
+  guint8                                plp_id;
+  guint16                               t2_system_id;
+  /* FIXME: */
+  guint8                                siso_miso;
+  guint32                               bandwidth;
+  GstMpegtsTerrestrialGuardInterval     guard_interval;
+  GstMpegtsTerrestrialTransmissionMode  transmission_mode;
+  gboolean                              other_frequency;
+  gboolean                              tfs;
+  GPtrArray                             *cells;
+};
+</pre>
+<p>describe DVB-T2 transmissions according to EN 302 755</p>
+<div class="refsect3">
+<a name="GstMpegtsT2DeliverySystemDescriptor.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="GstMpegtsT2DeliverySystemDescriptor.plp-id"></a>plp_id</code></em>;</p></td>
+<td class="struct_member_description"> </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="GstMpegtsT2DeliverySystemDescriptor.t2-system-id"></a>t2_system_id</code></em>;</p></td>
+<td class="struct_member_description"> </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="GstMpegtsT2DeliverySystemDescriptor.siso-miso"></a>siso_miso</code></em>;</p></td>
+<td class="struct_member_description"> </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="GstMpegtsT2DeliverySystemDescriptor.bandwidth"></a>bandwidth</code></em>;</p></td>
+<td class="struct_member_description"> </td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialGuardInterval" title="enum GstMpegtsTerrestrialGuardInterval"><span class="type">GstMpegtsTerrestrialGuardInterval</span></a> <em class="structfield"><code><a name="GstMpegtsT2DeliverySystemDescriptor.guard-interval"></a>guard_interval</code></em>;</p></td>
+<td class="struct_member_description"> </td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsTerrestrialTransmissionMode" title="enum GstMpegtsTerrestrialTransmissionMode"><span class="type">GstMpegtsTerrestrialTransmissionMode</span></a> <em class="structfield"><code><a name="GstMpegtsT2DeliverySystemDescriptor.transmission-mode"></a>transmission_mode</code></em>;</p></td>
+<td class="struct_member_description"> </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="GstMpegtsT2DeliverySystemDescriptor.other-frequency"></a>other_frequency</code></em>;</p></td>
+<td class="struct_member_description"> </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="GstMpegtsT2DeliverySystemDescriptor.tfs"></a>tfs</code></em>;</p></td>
+<td class="struct_member_description"> </td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsT2DeliverySystemDescriptor.cells"></a>cells</code></em>;</p></td>
+<td class="struct_member_description"><p>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsT2DeliverySystemCell]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBServiceType"></a><h3>enum GstMpegtsDVBServiceType</h3>
+<p>The type of service of a channel.</p>
+<p>As specified in Table 87 of ETSI EN 300 468 v1.13.1</p>
+<div class="refsect3">
+<a name="GstMpegtsDVBServiceType.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-DVB-SERVICE-RESERVED-00:CAPS"></a>GST_DVB_SERVICE_RESERVED_00</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-DIGITAL-TELEVISION:CAPS"></a>GST_DVB_SERVICE_DIGITAL_TELEVISION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-DIGITAL-RADIO-SOUND:CAPS"></a>GST_DVB_SERVICE_DIGITAL_RADIO_SOUND</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-TELETEXT:CAPS"></a>GST_DVB_SERVICE_TELETEXT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-NVOD-REFERENCE:CAPS"></a>GST_DVB_SERVICE_NVOD_REFERENCE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-NVOD-TIME-SHIFTED:CAPS"></a>GST_DVB_SERVICE_NVOD_TIME_SHIFTED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-MOSAIC:CAPS"></a>GST_DVB_SERVICE_MOSAIC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-FM-RADIO:CAPS"></a>GST_DVB_SERVICE_FM_RADIO</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-DVB-SRM:CAPS"></a>GST_DVB_SERVICE_DVB_SRM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-RESERVED-09:CAPS"></a>GST_DVB_SERVICE_RESERVED_09</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-DIGITAL-RADIO-SOUND:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-MOSAIC:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-DATA-BROADCAST:CAPS"></a>GST_DVB_SERVICE_DATA_BROADCAST</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-RESERVED-0D-COMMON-INTERFACE:CAPS"></a>GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-RCS-MAP:CAPS"></a>GST_DVB_SERVICE_RCS_MAP</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-RCS-FLS:CAPS"></a>GST_DVB_SERVICE_RCS_FLS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-DVB-MHP:CAPS"></a>GST_DVB_SERVICE_DVB_MHP</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-MPEG2-HD-DIGITAL-TELEVISION:CAPS"></a>GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-SD-DIGITAL-TELEVISION:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-TIME-SHIFTED:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-REFERENCE:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-HD-DIGITAL-TELEVISION:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-TIME-SHIFTED:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-REFERENCE:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-DIGITAL-TELEVISION:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-TIME-SHIFTED:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-REFERENCE:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-RESERVED-FF:CAPS"></a>GST_DVB_SERVICE_RESERVED_FF</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBTeletextType"></a><h3>enum GstMpegtsDVBTeletextType</h3>
+<p>The type of teletext page.</p>
+<p>As specified in Table 100 of ETSI EN 300 468 v1.13.1</p>
+<div class="refsect3">
+<a name="GstMpegtsDVBTeletextType.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="INITIAL-PAGE:CAPS"></a>INITIAL_PAGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="SUBTITLE-PAGE:CAPS"></a>SUBTITLE_PAGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="ADDITIONAL-INFO-PAGE:CAPS"></a>ADDITIONAL_INFO_PAGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="PROGRAMME-SCHEDULE-PAGE:CAPS"></a>PROGRAMME_SCHEDULE_PAGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="HEARING-IMPAIRED-PAGE:CAPS"></a>HEARING_IMPAIRED_PAGE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBLinkageType"></a><h3>enum GstMpegtsDVBLinkageType</h3>
+<p>Linkage Type (EN 300 468 v.1.13.1)</p>
+<div class="refsect3">
+<a name="GstMpegtsDVBLinkageType.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-MPEGTS-DVB-LINKAGE-RESERVED-00:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_RESERVED_00</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-INFORMATION:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_INFORMATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-EPG:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_EPG</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-CA-REPLACEMENT:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-COMPLETE-SI:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-SERVICE-REPLACEMENT:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-DATA-BROADCAST:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-RCS-MAP:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_RCS_MAP</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-MOBILE-HAND-OVER:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-SYSTEM-SOFTWARE-UPDATE:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-SSU:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-IP-MAC-NOTIFICATION:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-INT:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-EVENT:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_EVENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-EXTENDED-EVENT:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBLinkageHandOverType"></a><h3>enum GstMpegtsDVBLinkageHandOverType</h3>
+<div class="refsect3">
+<a name="GstMpegtsDVBLinkageHandOverType.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-MPEGTS-DVB-LINKAGE-HAND-OVER-RESERVED:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-HAND-OVER-IDENTICAL:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-HAND-OVER-LOCAL-VARIATION:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-HAND-OVER-ASSOCIATED:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBLinkageMobileHandOver"></a><h3>struct GstMpegtsDVBLinkageMobileHandOver</h3>
+<pre class="programlisting">struct GstMpegtsDVBLinkageMobileHandOver {
+  GstMpegtsDVBLinkageHandOverType hand_over_type;
+  /* 0 = NIT, 1 = SDT */
+  gboolean                        origin_type;
+  guint16                         network_id;
+  guint16                         initial_service_id;
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBLinkageEvent"></a><h3>struct GstMpegtsDVBLinkageEvent</h3>
+<pre class="programlisting">struct GstMpegtsDVBLinkageEvent {
+  guint16  target_event_id;
+  gboolean target_listed;
+  gboolean event_simulcast;
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBLinkageExtendedEvent"></a><h3>struct GstMpegtsDVBLinkageExtendedEvent</h3>
+<pre class="programlisting">struct GstMpegtsDVBLinkageExtendedEvent {
+  guint16        target_event_id;
+  gboolean       target_listed;
+  gboolean       event_simulcast;
+  /* FIXME: */
+  guint8         link_type;
+  /* FIXME: */
+  guint8         target_id_type;
+  gboolean       original_network_id_flag;
+  gboolean       service_id_flag;
+  /* if (target_id_type == 3) */
+  guint16        user_defined_id;
+  /* else */
+  guint16        target_transport_stream_id;
+  guint16        target_original_network_id;
+  guint16        target_service_id;
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBLinkageDescriptor"></a><h3>struct GstMpegtsDVBLinkageDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsDVBLinkageDescriptor {
+  guint16                           transport_stream_id;
+  guint16                           original_network_id;
+  guint16                           service_id;
+  GstMpegtsDVBLinkageType           linkage_type;
+  guint8                            private_data_length;
+  guint8                            *private_data_bytes;
+};
+</pre>
+<div class="refsect3">
+<a name="GstMpegtsDVBLinkageDescriptor.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsDVBLinkageDescriptor.transport-stream-id"></a>transport_stream_id</code></em>;</p></td>
+<td class="struct_member_description"><p>the transport id</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="GstMpegtsDVBLinkageDescriptor.original-network-id"></a>original_network_id</code></em>;</p></td>
+<td class="struct_member_description"><p>the original network id</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="GstMpegtsDVBLinkageDescriptor.service-id"></a>service_id</code></em>;</p></td>
+<td class="struct_member_description"><p>the service id</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBLinkageType" title="enum GstMpegtsDVBLinkageType"><span class="type">GstMpegtsDVBLinkageType</span></a> <em class="structfield"><code><a name="GstMpegtsDVBLinkageDescriptor.linkage-type"></a>linkage_type</code></em>;</p></td>
+<td class="struct_member_description"><p>the type which <code class="literal">linkage_data</code> has</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="GstMpegtsDVBLinkageDescriptor.private-data-length"></a>private_data_length</code></em>;</p></td>
+<td class="struct_member_description"><p>the length for <code class="literal">private_data_bytes</code></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="GstMpegtsDVBLinkageDescriptor.private-data-bytes"></a>private_data_bytes</code></em>;</p></td>
+<td class="struct_member_description"><p>additional data bytes</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDataBroadcastDescriptor"></a><h3>struct GstMpegtsDataBroadcastDescriptor</h3>
+<pre class="programlisting">struct GstMpegtsDataBroadcastDescriptor {
+  guint16     data_broadcast_id;
+  guint8      component_tag;
+  guint8      length;
+  guint8      *selector_bytes;
+  gchar       *language_code;
+  gchar       *text;
+};
+</pre>
+<div class="refsect3">
+<a name="GstMpegtsDataBroadcastDescriptor.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsDataBroadcastDescriptor.data-broadcast-id"></a>data_broadcast_id</code></em>;</p></td>
+<td class="struct_member_description"><p>the data broadcast id</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="GstMpegtsDataBroadcastDescriptor.component-tag"></a>component_tag</code></em>;</p></td>
+<td class="struct_member_description"><p>the component tag</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="GstMpegtsDataBroadcastDescriptor.length"></a>length</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#guint8"><span class="type">guint8</span></a> *<em class="structfield"><code><a name="GstMpegtsDataBroadcastDescriptor.selector-bytes"></a>selector_bytes</code></em>;</p></td>
+<td class="struct_member_description"><p>the selector byte field</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="GstMpegtsDataBroadcastDescriptor.language-code"></a>language_code</code></em>;</p></td>
+<td class="struct_member_description"><p>language of <em class="parameter"><code>text</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="GstMpegtsDataBroadcastDescriptor.text"></a>text</code></em>;</p></td>
+<td class="struct_member_description"><p>description of data broadcast</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBScramblingModeType"></a><h3>enum GstMpegtsDVBScramblingModeType</h3>
+<div class="refsect3">
+<a name="GstMpegtsDVBScramblingModeType.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-MPEGTS-DVB-SCRAMBLING-MODE-RESERVED:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA1:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA2:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-STANDARD:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-MINIMAL-ENHANCED:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-FULL-ENHANCED:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CISSA:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-0:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-F:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBParentalRatingItem"></a><h3>struct GstMpegtsDVBParentalRatingItem</h3>
+<pre class="programlisting">struct GstMpegtsDVBParentalRatingItem {
+  gchar  *country_code;
+  guint8 rating;
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDVBServiceListItem"></a><h3>struct GstMpegtsDVBServiceListItem</h3>
+<pre class="programlisting">struct GstMpegtsDVBServiceListItem {
+  guint16                 service_id;
+  GstMpegtsDVBServiceType type;
+};
+</pre>
+<div class="refsect3">
+<a name="GstMpegtsDVBServiceListItem.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsDVBServiceListItem.service-id"></a>service_id</code></em>;</p></td>
+<td class="struct_member_description"><p>the id of a service</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType"><span class="type">GstMpegtsDVBServiceType</span></a> <em class="structfield"><code><a name="GstMpegtsDVBServiceListItem.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>the type of a service</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDvbMultilingualNetworkNameItem"></a><h3>struct GstMpegtsDvbMultilingualNetworkNameItem</h3>
+<pre class="programlisting">struct GstMpegtsDvbMultilingualNetworkNameItem {
+  gchar *language_code;
+  gchar *network_name;
+};
+</pre>
+<p>a multilingual network name entry</p>
+<div class="refsect3">
+<a name="GstMpegtsDvbMultilingualNetworkNameItem.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="GstMpegtsDvbMultilingualNetworkNameItem.language-code"></a>language_code</code></em>;</p></td>
+<td class="struct_member_description"><p>the ISO 639 language code</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="GstMpegtsDvbMultilingualNetworkNameItem.network-name"></a>network_name</code></em>;</p></td>
+<td class="struct_member_description"><p>the network name</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDvbMultilingualBouquetNameItem"></a><h3>struct GstMpegtsDvbMultilingualBouquetNameItem</h3>
+<pre class="programlisting">struct GstMpegtsDvbMultilingualBouquetNameItem {
+  gchar *language_code;
+  gchar *bouquet_name;
+};
+</pre>
+<p>a multilingual bouquet name entry</p>
+<div class="refsect3">
+<a name="GstMpegtsDvbMultilingualBouquetNameItem.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="GstMpegtsDvbMultilingualBouquetNameItem.language-code"></a>language_code</code></em>;</p></td>
+<td class="struct_member_description"><p>the ISO 639 language code</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="GstMpegtsDvbMultilingualBouquetNameItem.bouquet-name"></a>bouquet_name</code></em>;</p></td>
+<td class="struct_member_description"><p>the bouquet name</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDvbMultilingualServiceNameItem"></a><h3>struct GstMpegtsDvbMultilingualServiceNameItem</h3>
+<pre class="programlisting">struct GstMpegtsDvbMultilingualServiceNameItem {
+  gchar *language_code;
+  gchar *provider_name;
+  gchar *service_name;
+};
+</pre>
+<p>a multilingual service name entry</p>
+<div class="refsect3">
+<a name="GstMpegtsDvbMultilingualServiceNameItem.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="GstMpegtsDvbMultilingualServiceNameItem.language-code"></a>language_code</code></em>;</p></td>
+<td class="struct_member_description"><p>the ISO 639 language code</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="GstMpegtsDvbMultilingualServiceNameItem.provider-name"></a>provider_name</code></em>;</p></td>
+<td class="struct_member_description"><p>the provider 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="GstMpegtsDvbMultilingualServiceNameItem.service-name"></a>service_name</code></em>;</p></td>
+<td class="struct_member_description"><p>the service name</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsDvbMultilingualComponentItem"></a><h3>struct GstMpegtsDvbMultilingualComponentItem</h3>
+<pre class="programlisting">struct GstMpegtsDvbMultilingualComponentItem {
+  gchar *language_code;
+  gchar *description;
+};
+</pre>
+<div class="refsect3">
+<a name="GstMpegtsDvbMultilingualComponentItem.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="GstMpegtsDvbMultilingualComponentItem.language-code"></a>language_code</code></em>;</p></td>
+<td class="struct_member_description"><p>the ISO 639 language code</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="GstMpegtsDvbMultilingualComponentItem.description"></a>description</code></em>;</p></td>
+<td class="struct_member_description"><p>the component description</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</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/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html b/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html
new file mode 100644
index 0000000..10563a6
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html
@@ -0,0 +1,1131 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>DVB variants of MPEG-TS sections: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
+<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
+<link rel="prev" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html" title="ATSC variants of MPEG-TS sections">
+<link rel="next" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html" title="ATSC variants of MPEG-TS descriptors">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.top_of_page"></a>DVB variants of MPEG-TS sections</span></h2>
+<p>DVB variants of MPEG-TS sections — Sections for the various DVB specifications</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="returnvalue">GstMpegtsNIT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-nit" title="gst_mpegts_section_get_nit ()">gst_mpegts_section_get_nit</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="returnvalue">GstMpegtsNIT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-nit-new" title="gst_mpegts_nit_new ()">gst_mpegts_nit_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream" title="struct GstMpegtsNITStream"><span class="returnvalue">GstMpegtsNITStream</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-nit-stream-new" title="gst_mpegts_nit_stream_new ()">gst_mpegts_nit_stream_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-from-nit" title="gst_mpegts_section_from_nit ()">gst_mpegts_section_from_nit</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBAT" title="struct GstMpegtsBAT"><span class="returnvalue">GstMpegtsBAT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-bat" title="gst_mpegts_section_get_bat ()">gst_mpegts_section_get_bat</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="returnvalue">GstMpegtsSDT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-sdt" title="gst_mpegts_section_get_sdt ()">gst_mpegts_section_get_sdt</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="returnvalue">GstMpegtsSDT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-sdt-new" title="gst_mpegts_sdt_new ()">gst_mpegts_sdt_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService" title="struct GstMpegtsSDTService"><span class="returnvalue">GstMpegtsSDTService</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-sdt-service-new" title="gst_mpegts_sdt_service_new ()">gst_mpegts_sdt_service_new</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-from-sdt" title="gst_mpegts_section_from_sdt ()">gst_mpegts_section_from_sdt</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT" title="struct GstMpegtsEIT"><span class="returnvalue">GstMpegtsEIT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-eit" title="gst_mpegts_section_get_eit ()">gst_mpegts_section_get_eit</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="returnvalue">GstDateTime</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-tdt" title="gst_mpegts_section_get_tdt ()">gst_mpegts_section_get_tdt</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsTOT" title="struct GstMpegtsTOT"><span class="returnvalue">GstMpegtsTOT</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#gst-mpegts-section-get-tot" title="gst_mpegts_section_get_tot ()">gst_mpegts_section_get_tot</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.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>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSectionDVBTableID" title="enum GstMpegtsSectionDVBTableID">GstMpegtsSectionDVBTableID</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT">GstMpegtsNIT</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream" title="struct GstMpegtsNITStream">GstMpegtsNITStream</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBAT" title="struct GstMpegtsBAT">GstMpegtsBAT</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBATStream" title="struct GstMpegtsBATStream">GstMpegtsBATStream</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT">GstMpegtsSDT</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService" title="struct GstMpegtsSDTService">GstMpegtsSDTService</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT" title="struct GstMpegtsEIT">GstMpegtsEIT</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEITEvent" title="struct GstMpegtsEITEvent">GstMpegtsEITEvent</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsRunningStatus" title="enum GstMpegtsRunningStatus">GstMpegtsRunningStatus</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsTOT" title="struct GstMpegtsTOT">GstMpegtsTOT</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
+    <span class="lineart">╰──</span> GstMpegtsRunningStatus
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;gst/mpegts/mpegts.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-nit"></a><h3>gst_mpegts_section_get_nit ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="returnvalue">GstMpegtsNIT</span></a> *
+gst_mpegts_section_get_nit (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="type">GstMpegtsNIT</span></a> contained in the <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-nit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-NIT:CAPS"><code class="literal">GST_MPEGTS_SECTION_NIT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-nit.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="type">GstMpegtsNIT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-nit-new"></a><h3>gst_mpegts_nit_new ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="returnvalue">GstMpegtsNIT</span></a> *
+gst_mpegts_nit_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Allocates and initializes a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="type">GstMpegtsNIT</span></a>.</p>
+<div class="refsect3">
+<a name="gst-mpegts-nit-new.returns"></a><h4>Returns</h4>
+<p> A newly allocated <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="type">GstMpegtsNIT</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-mpegts-nit-stream-new"></a><h3>gst_mpegts_nit_stream_new ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream" title="struct GstMpegtsNITStream"><span class="returnvalue">GstMpegtsNITStream</span></a> *
+gst_mpegts_nit_stream_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Allocates and initializes a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream" title="struct GstMpegtsNITStream"><span class="type">GstMpegtsNITStream</span></a></p>
+<div class="refsect3">
+<a name="gst-mpegts-nit-stream-new.returns"></a><h4>Returns</h4>
+<p> A newly allocated <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNITStream" title="struct GstMpegtsNITStream"><span class="type">GstMpegtsNITStream</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-mpegts-section-from-nit"></a><h3>gst_mpegts_section_from_nit ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+gst_mpegts_section_from_nit (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="type">GstMpegtsNIT</span></a> *nit</code></em>);</pre>
+<p>Ownership of <em class="parameter"><code>nit</code></em>
+ is taken. The data in <em class="parameter"><code>nit</code></em>
+ is managed by the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a></p>
+<div class="refsect3">
+<a name="gst-mpegts-section-from-nit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>nit</p></td>
+<td class="parameter_description"><p> a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="type">GstMpegtsNIT</span></a> to create the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> from. </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-mpegts-section-from-nit.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</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-mpegts-section-get-bat"></a><h3>gst_mpegts_section_get_bat ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBAT" title="struct GstMpegtsBAT"><span class="returnvalue">GstMpegtsBAT</span></a> *
+gst_mpegts_section_get_bat (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBAT" title="struct GstMpegtsBAT"><span class="type">GstMpegtsBAT</span></a> contained in the <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-bat.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-BAT:CAPS"><code class="literal">GST_MPEGTS_SECTION_BAT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-bat.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsBAT" title="struct GstMpegtsBAT"><span class="type">GstMpegtsBAT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-sdt"></a><h3>gst_mpegts_section_get_sdt ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="returnvalue">GstMpegtsSDT</span></a> *
+gst_mpegts_section_get_sdt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="type">GstMpegtsSDT</span></a> contained in the <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-sdt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-SDT:CAPS"><code class="literal">GST_MPEGTS_SECTION_SDT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-sdt.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="type">GstMpegtsSDT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-sdt-new"></a><h3>gst_mpegts_sdt_new ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="returnvalue">GstMpegtsSDT</span></a> *
+gst_mpegts_sdt_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Allocates and initializes a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="type">GstMpegtsSDT</span></a>.</p>
+<div class="refsect3">
+<a name="gst-mpegts-sdt-new.returns"></a><h4>Returns</h4>
+<p> A newly allocated <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="type">GstMpegtsSDT</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-mpegts-sdt-service-new"></a><h3>gst_mpegts_sdt_service_new ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService" title="struct GstMpegtsSDTService"><span class="returnvalue">GstMpegtsSDTService</span></a> *
+gst_mpegts_sdt_service_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Allocates and initializes a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService" title="struct GstMpegtsSDTService"><span class="type">GstMpegtsSDTService</span></a>.</p>
+<div class="refsect3">
+<a name="gst-mpegts-sdt-service-new.returns"></a><h4>Returns</h4>
+<p> A newly allocated <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDTService" title="struct GstMpegtsSDTService"><span class="type">GstMpegtsSDTService</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-mpegts-section-from-sdt"></a><h3>gst_mpegts_section_from_sdt ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
+gst_mpegts_section_from_sdt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="type">GstMpegtsSDT</span></a> *sdt</code></em>);</pre>
+<p>Ownership of <em class="parameter"><code>sdt</code></em>
+ is taken. The data in <em class="parameter"><code>sdt</code></em>
+ is managed by the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a></p>
+<div class="refsect3">
+<a name="gst-mpegts-section-from-sdt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>sdt</p></td>
+<td class="parameter_description"><p> a <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="type">GstMpegtsSDT</span></a> to create the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> from. </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-mpegts-section-from-sdt.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</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-mpegts-section-get-eit"></a><h3>gst_mpegts_section_get_eit ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT" title="struct GstMpegtsEIT"><span class="returnvalue">GstMpegtsEIT</span></a> *
+gst_mpegts_section_get_eit (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT" title="struct GstMpegtsEIT"><span class="type">GstMpegtsEIT</span></a> contained in the <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-eit.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-EIT:CAPS"><code class="literal">GST_MPEGTS_SECTION_EIT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-eit.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsEIT" title="struct GstMpegtsEIT"><span class="type">GstMpegtsEIT</span></a> contained in the section, 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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-tdt"></a><h3>gst_mpegts_section_get_tdt ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="returnvalue">GstDateTime</span></a> *
+gst_mpegts_section_get_tdt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="type">GstDateTime</span></a> of the TDT</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-tdt.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TDT:CAPS"><code class="literal">GST_MPEGTS_SECTION_TDT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-tdt.returns"></a><h4>Returns</h4>
+<p> The <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="type">GstDateTime</span></a> contained in the section, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+if an error happened. Release with <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#gst-date-time-unref"><span class="type">gst_date_time_unref</span></a> when done.</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-mpegts-section-get-tot"></a><h3>gst_mpegts_section_get_tot ()</h3>
+<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsTOT" title="struct GstMpegtsTOT"><span class="returnvalue">GstMpegtsTOT</span></a> *
+gst_mpegts_section_get_tot (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
+<p>Returns the <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsTOT" title="struct GstMpegtsTOT"><span class="type">GstMpegtsTOT</span></a> contained in the <em class="parameter"><code>section</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-tot.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>section</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> of type <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GST-MPEGTS-SECTION-TOT:CAPS"><code class="literal">GST_MPEGTS_SECTION_TOT</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpegts-section-get-tot.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsTOT" title="struct GstMpegtsTOT"><span class="type">GstMpegtsTOT</span></a> contained in the section, 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>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstMpegtsSectionDVBTableID"></a><h3>enum GstMpegtsSectionDVBTableID</h3>
+<p>Values for a <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> table_id.</p>
+<p>These are the registered DVB table_id variants.</p>
+<p>see also: <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionTableID" title="enum GstMpegtsSectionTableID"><span class="type">GstMpegtsSectionTableID</span></a></p>
+<div class="refsect3">
+<a name="GstMpegtsSectionDVBTableID.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-MTS-TABLE-ID-NETWORK-INFORMATION-ACTUAL-NETWORK:CAPS"></a>GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-NETWORK-INFORMATION-OTHER-NETWORK:CAPS"></a>GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-ACTUAL-TS:CAPS"></a>GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-OTHER-TS:CAPS"></a>GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-BOUQUET-ASSOCIATION:CAPS"></a>GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-PRESENT:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-PRESENT:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-1:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-N:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-1:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-N:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TIME-DATE:CAPS"></a>GST_MTS_TABLE_ID_TIME_DATE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-RUNNING-STATUS:CAPS"></a>GST_MTS_TABLE_ID_RUNNING_STATUS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-STUFFING:CAPS"></a>GST_MTS_TABLE_ID_STUFFING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TIME-OFFSET:CAPS"></a>GST_MTS_TABLE_ID_TIME_OFFSET</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-APPLICATION-INFORMATION-TABLE:CAPS"></a>GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CONTAINER:CAPS"></a>GST_MTS_TABLE_ID_CONTAINER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-RELATED-CONTENT:CAPS"></a>GST_MTS_TABLE_ID_RELATED_CONTENT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CONTENT-IDENTIFIER:CAPS"></a>GST_MTS_TABLE_ID_CONTENT_IDENTIFIER</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-MPE-FEC:CAPS"></a>GST_MTS_TABLE_ID_MPE_FEC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-RESOLUTION-NOTIFICATION:CAPS"></a>GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-MPE-IFEC:CAPS"></a>GST_MTS_TABLE_ID_MPE_IFEC</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DISCONTINUITY-INFORMATION:CAPS"></a>GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-SELECTION-INFORMATION:CAPS"></a>GST_MTS_TABLE_ID_SELECTION_INFORMATION</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CA-MESSAGE-ECM-0:CAPS"></a>GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CA-MESSAGE-ECM-1:CAPS"></a>GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-1:CAPS"></a>GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-N:CAPS"></a>GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-SCT:CAPS"></a>GST_MTS_TABLE_ID_SCT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-FCT:CAPS"></a>GST_MTS_TABLE_ID_FCT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TCT:CAPS"></a>GST_MTS_TABLE_ID_TCT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-SPT:CAPS"></a>GST_MTS_TABLE_ID_SPT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CMT:CAPS"></a>GST_MTS_TABLE_ID_CMT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TBTP:CAPS"></a>GST_MTS_TABLE_ID_TBTP</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-PCR-PACKET-PAYLOAD:CAPS"></a>GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TRANSMISSION-MODE-SUPPORT-PAYLOAD:CAPS"></a>GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TIM:CAPS"></a>GST_MTS_TABLE_ID_TIM</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-LL-FEC-PARITY-DATA-TABLE:CAPS"></a>GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsNIT"></a><h3>struct GstMpegtsNIT</h3>
+<pre class="programlisting">struct GstMpegtsNIT {
+  gboolean   actual_network;
+  guint16    network_id;
+
+  GPtrArray  *descriptors;
+
+  GPtrArray *streams;
+};
+</pre>
+<p>Network Information Table (ISO/IEC 13818-1 / EN 300 468)</p>
+<div class="refsect3">
+<a name="GstMpegtsNIT.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="GstMpegtsNIT.actual-network"></a>actual_network</code></em>;</p></td>
+<td class="struct_member_description"><p>Whether this NIT corresponds to the actual 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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsNIT.network-id"></a>network_id</code></em>;</p></td>
+<td class="struct_member_description"><p>ID of the network that this NIT describes</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsNIT.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> the global descriptors. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsNIT.streams"></a>streams</code></em>;</p></td>
+<td class="struct_member_description"><p> the streams. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsNITStream]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsNITStream"></a><h3>struct GstMpegtsNITStream</h3>
+<pre class="programlisting">struct GstMpegtsNITStream {
+  guint16  transport_stream_id;
+  guint16  original_network_id;
+
+  GPtrArray  *descriptors;
+};
+</pre>
+<div class="refsect3">
+<a name="GstMpegtsNITStream.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsNITStream.transport-stream-id"></a>transport_stream_id</code></em>;</p></td>
+<td class="struct_member_description"> </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="GstMpegtsNITStream.original-network-id"></a>original_network_id</code></em>;</p></td>
+<td class="struct_member_description"> </td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsNITStream.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsBAT"></a><h3>struct GstMpegtsBAT</h3>
+<pre class="programlisting">struct GstMpegtsBAT {
+  GPtrArray  *descriptors;
+
+  GPtrArray  *streams;
+};
+</pre>
+<p>DVB Bouquet Association Table (EN 300 468)</p>
+<div class="refsect3">
+<a name="GstMpegtsBAT.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-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsBAT.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsBAT.streams"></a>streams</code></em>;</p></td>
+<td class="struct_member_description"><p>. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsBATStream]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsBATStream"></a><h3>struct GstMpegtsBATStream</h3>
+<pre class="programlisting">struct GstMpegtsBATStream {
+  guint16   transport_stream_id;
+  guint16   original_network_id;
+
+  GPtrArray   *descriptors;
+};
+</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsSDT"></a><h3>struct GstMpegtsSDT</h3>
+<pre class="programlisting">struct GstMpegtsSDT {
+  guint16    original_network_id;
+  gboolean   actual_ts;
+  guint16    transport_stream_id;
+
+  GPtrArray *services;
+};
+</pre>
+<p>Service Description Table (EN 300 468)</p>
+<div class="refsect3">
+<a name="GstMpegtsSDT.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsSDT.original-network-id"></a>original_network_id</code></em>;</p></td>
+<td class="struct_member_description"><p>Network ID of the originating delivery system</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="GstMpegtsSDT.actual-ts"></a>actual_ts</code></em>;</p></td>
+<td class="struct_member_description"><p>True if the table describes this transport 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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsSDT.transport-stream-id"></a>transport_stream_id</code></em>;</p></td>
+<td class="struct_member_description"><p>ID of this transport 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-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsSDT.services"></a>services</code></em>;</p></td>
+<td class="struct_member_description"><p> List of services. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsSDTService]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsSDTService"></a><h3>struct GstMpegtsSDTService</h3>
+<pre class="programlisting">struct GstMpegtsSDTService {
+  guint16    service_id;
+
+  gboolean   EIT_schedule_flag;
+  gboolean   EIT_present_following_flag;
+  GstMpegtsRunningStatus running_status;
+  gboolean   free_CA_mode;
+
+  GPtrArray    *descriptors;
+};
+</pre>
+<div class="refsect3">
+<a name="GstMpegtsSDTService.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsSDTService.service-id"></a>service_id</code></em>;</p></td>
+<td class="struct_member_description"><p>The program number this table belongs to</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="GstMpegtsSDTService.EIT-schedule-flag"></a>EIT_schedule_flag</code></em>;</p></td>
+<td class="struct_member_description"><p>EIT schedule information is present in this transport 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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMpegtsSDTService.EIT-present-following-flag"></a>EIT_present_following_flag</code></em>;</p></td>
+<td class="struct_member_description"><p>EIT present/following information is present in this transport stream</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsRunningStatus" title="enum GstMpegtsRunningStatus"><span class="type">GstMpegtsRunningStatus</span></a> <em class="structfield"><code><a name="GstMpegtsSDTService.running-status"></a>running_status</code></em>;</p></td>
+<td class="struct_member_description"><p>Status of this service</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="GstMpegtsSDTService.free-CA-mode"></a>free_CA_mode</code></em>;</p></td>
+<td class="struct_member_description"><p>True if one or more streams is controlled by a CA system</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsSDTService.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> List of descriptors. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsEIT"></a><h3>struct GstMpegtsEIT</h3>
+<pre class="programlisting">struct GstMpegtsEIT {
+  guint16        transport_stream_id;
+  guint16        original_network_id;
+  guint8         segment_last_section_number;
+  guint8         last_table_id;
+
+  gboolean       actual_stream;
+  gboolean       present_following;
+
+  GPtrArray     *events;
+};
+</pre>
+<p>Event Information Table (EN 300 468)</p>
+<div class="refsect3">
+<a name="GstMpegtsEIT.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsEIT.transport-stream-id"></a>transport_stream_id</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsEIT.original-network-id"></a>original_network_id</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsEIT.segment-last-section-number"></a>segment_last_section_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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegtsEIT.last-table-id"></a>last_table_id</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMpegtsEIT.actual-stream"></a>actual_stream</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMpegtsEIT.present-following"></a>present_following</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsEIT.events"></a>events</code></em>;</p></td>
+<td class="struct_member_description"><p> List of events. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsEITEvent]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsEITEvent"></a><h3>struct GstMpegtsEITEvent</h3>
+<pre class="programlisting">struct GstMpegtsEITEvent {
+  guint16      event_id;
+
+  GstDateTime *start_time;
+  guint32      duration;
+
+  GstMpegtsRunningStatus running_status;
+  gboolean     free_CA_mode;
+
+  GPtrArray   *descriptors;
+};
+</pre>
+<p>Event from a <em class="parameter"><code>GstMpegtsEIT</code></em>
+</p>
+<div class="refsect3">
+<a name="GstMpegtsEITEvent.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegtsEITEvent.event-id"></a>event_id</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.0GstDateTime.html#GstDateTime-struct"><span class="type">GstDateTime</span></a> *<em class="structfield"><code><a name="GstMpegtsEITEvent.start-time"></a>start_time</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="GstMpegtsEITEvent.duration"></a>duration</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsRunningStatus" title="enum GstMpegtsRunningStatus"><span class="type">GstMpegtsRunningStatus</span></a> <em class="structfield"><code><a name="GstMpegtsEITEvent.running-status"></a>running_status</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstMpegtsEITEvent.free-CA-mode"></a>free_CA_mode</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsEITEvent.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> List of descriptors. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsRunningStatus"></a><h3>enum GstMpegtsRunningStatus</h3>
+<p>Running status of a service.</p>
+<p>Corresponds to table 6 of ETSI EN 300 468 (v1.13.0)</p>
+<div class="refsect3">
+<a name="GstMpegtsRunningStatus.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-MPEGTS-RUNNING-STATUS-UNDEFINED:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_UNDEFINED</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-RUNNING-STATUS-NOT-RUNNING:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-RUNNING-STATUS-STARTS-IN-FEW-SECONDS:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-RUNNING-STATUS-PAUSING:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_PAUSING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-RUNNING-STATUS-RUNNING:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_RUNNING</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-MPEGTS-RUNNING-STATUS-OFF-AIR:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_OFF_AIR</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstMpegtsTOT"></a><h3>struct GstMpegtsTOT</h3>
+<pre class="programlisting">struct GstMpegtsTOT {
+  GstDateTime   *utc_time;
+
+  GPtrArray     *descriptors;
+};
+</pre>
+<p>Time Offset Table (EN 300 468)</p>
+<div class="refsect3">
+<a name="GstMpegtsTOT.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.0GstDateTime.html#GstDateTime-struct"><span class="type">GstDateTime</span></a> *<em class="structfield"><code><a name="GstMpegtsTOT.utc-time"></a>utc_time</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *<em class="structfield"><code><a name="GstMpegtsTOT.descriptors"></a>descriptors</code></em>;</p></td>
+<td class="struct_member_description"><p> List of descriptors. </p></td>
+<td class="struct_member_annotations"><span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstMpegtsDescriptor]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+</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/gst-plugins-bad-libs-GstAggregator.html b/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html
index 594b1b0..ca5e940 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstAggregator.html
@@ -27,7 +27,8 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-GstAggregator.top_of_page"></a>GstAggregator</span></h2>
-<p>GstAggregator</p>
+<p>GstAggregator — manages a set of pads with the purpose of
+aggregating their buffers.</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -95,6 +96,42 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstAggregator.description"></a><h2>Description</h2>
+<p>Manages a set of pads with the purpose of aggregating their buffers.
+Control is given to the subclass when all pads have data.</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+   Base class for mixers and muxers. Subclasses should at least implement
+   the <a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregatorClass.aggregate"><code class="function">GstAggregatorClass.aggregate()</code></a> virtual method.
+ </p></li>
+<li class="listitem"><p>
+   When data is queued on all pads, tha aggregate vmethod is called.
+ </p></li>
+<li class="listitem"><p>
+   One can peek at the data on any given GstAggregatorPad with the
+   <a class="link" href="gst-plugins-bad-libs-GstAggregatorPad.html#gst-aggregator-pad-get-buffer" title="gst_aggregator_pad_get_buffer ()"><code class="function">gst_aggregator_pad_get_buffer()</code></a> method, and take ownership of it
+   with the <a class="link" href="gst-plugins-bad-libs-GstAggregatorPad.html#gst-aggregator-pad-steal-buffer" title="gst_aggregator_pad_steal_buffer ()"><code class="function">gst_aggregator_pad_steal_buffer()</code></a> method. When a buffer
+   has been taken with <code class="function">steal_buffer()</code>, a new buffer can be queued
+   on that pad.
+ </p></li>
+<li class="listitem"><p>
+   If the subclass wishes to push a buffer downstream in its aggregate
+   implementation, it should do so through the
+   <a class="link" href="gst-plugins-bad-libs-GstAggregator.html#gst-aggregator-finish-buffer" title="gst_aggregator_finish_buffer ()"><code class="function">gst_aggregator_finish_buffer()</code></a> method. This method will take care
+   of sending and ordering mandatory events such as stream start, caps
+   and segment.
+ </p></li>
+<li class="listitem"><p>
+   Same goes for EOS events, which should not be pushed directly by the
+   subclass, it should instead return GST_FLOW_EOS in its aggregate
+   implementation.
+ </p></li>
+<li class="listitem"><p>
+   Note that the aggregator logic regarding gap event handling is to turn
+   these into gap buffers with matching PTS and duration. It will also
+   flag these buffers with GST_BUFFER_FLAG_GAP and GST_BUFFER_FLAG_DROPPABLE
+   to ease their identification and subsequent processing.
+ </p></li>
+</ul></div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstAggregator.functions_details"></a><h2>Functions</h2>
@@ -103,6 +140,31 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>
 gst_aggregator_finish_buffer (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</span></a> *agg</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>This method will push the provided output buffer downstream. If needed,
+mandatory events such as stream-start, caps, and segment events will be
+sent before pushing the buffer.</p>
+<div class="refsect3">
+<a name="gst-aggregator-finish-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>self</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</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 <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>
 <hr>
 <div class="refsect2">
@@ -110,6 +172,29 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_aggregator_set_src_caps (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</span></a> *agg</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>Sets the caps to be used on the src pad.</p>
+<div class="refsect3">
+<a name="gst-aggregator-set-src-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>self</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</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 set on the src pad.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -118,12 +203,68 @@
 gst_aggregator_iterate_sinkpads (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</span></a> *self</code></em>,
                                  <em class="parameter"><code><span class="type">GstAggregatorPadForeachFunc</span> 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>Iterate the sinkpads of aggregator to call a function on them.</p>
+<p>This method guarantees that <em class="parameter"><code>func</code></em>
+ will be called only once for each
+sink pad.</p>
+<div class="refsect3">
+<a name="gst-aggregator-iterate-sinkpads.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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>The <a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>func</p></td>
+<td class="parameter_description"><p> The function to call. </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> The data to pass to <em class="parameter"><code>func</code></em>
+. </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>
 <hr>
 <div class="refsect2">
 <a name="gst-aggregator-get-latency"></a><h3>gst_aggregator_get_latency ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_aggregator_get_latency (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</span></a> *self</code></em>);</pre>
+<p>Retrieves the latency values reported by <em class="parameter"><code>self</code></em>
+ in response to the latency
+query, or <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> if there is not live source connected and the element
+will not wait for the clock.</p>
+<p>Typically only called by subclasses.</p>
+<div class="refsect3">
+<a name="gst-aggregator-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>self</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-aggregator-get-latency.returns"></a><h4>Returns</h4>
+<p> The latency or <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> if the element does not sync</p>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -139,6 +280,34 @@
   GstSegment               segment;
 };
 </pre>
+<p>Aggregator base class object structure.</p>
+<div class="refsect3">
+<a name="GstAggregator.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="GstAggregator.parent"></a>parent</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.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> *<em class="structfield"><code><a name="GstAggregator.srcpad"></a>srcpad</code></em>;</p></td>
+<td class="struct_member_description"><p>the aggregator's source pad</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.0GstSegment.html#GstSegment-struct"><span class="type">GstSegment</span></a> <em class="structfield"><code><a name="GstAggregator.segment"></a>segment</code></em>;</p></td>
+<td class="struct_member_description"><p>the output segment</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -190,9 +359,132 @@
                                         const GstCaps  * caps);
 };
 </pre>
+<p>The aggregator base class will handle in a thread-safe way all manners of
+concurrent flushes, seeks, pad additions and removals, leaving to the
+subclass the responsibility of clipping buffers, and aggregating buffers in
+the way the implementor sees fit.</p>
+<p>It will also take care of event ordering (stream-start, segment, eos).</p>
+<p>Basically, a basic implementation will override <em class="parameter"><code>aggregate</code></em>
+, and call
+_finish_buffer from inside that function.</p>
+<div class="refsect3">
+<a name="GstAggregatorClass.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#GType"><span class="type">GType</span></a> <em class="structfield"><code><a name="GstAggregatorClass.sinkpads-type"></a>sinkpads_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Optional.
+The type of the pads that should be created when
+GstElement.request_new_pad is called.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.flush"></a>flush</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Called after a succesful flushing seek, once all the flush
+stops have been received. Flush pad-specific data in
+<a class="link" href="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad" title="struct GstAggregatorPad"><span class="type">GstAggregatorPad</span></a>-&gt;flush.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.clip"></a>clip</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Called when a buffer is received on a sink pad, the task
+of clipping it and translating it to the current segment
+falls on the subclass.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.sink-event"></a>sink_event</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Called when an event is received on a sink pad, the subclass
+should always chain up.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.sink-query"></a>sink_query</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Called when a query is received on a sink pad, the subclass
+should always chain up.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.src-event"></a>src_event</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Called when an event is received on the src pad, the subclass
+should always chain up.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.src-query"></a>src_query</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Called when a query is received on the src pad, the subclass
+should always chain up.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.src-activate"></a>src_activate</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Called when the src pad is activated, it will start/stop its
+pad task right after that call.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.aggregate"></a>aggregate</code></em> ()</p></td>
+<td class="struct_member_description"><p>Mandatory.
+Called when buffers are queued on all sinkpads. Classes
+should iterate the GstElement-&gt;sinkpads and peek or steal
+buffers from the <a href="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad"><span class="type">GstAggregatorPads</span></a>. If the subclass returns
+GST_FLOW_EOS, sending of the eos event will be taken care
+of. Once / if a buffer has been constructed from the
+aggregated buffers, the subclass should call _finish_buffer.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.stop"></a>stop</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Called when the element goes from PAUSED to READY.
+The subclass should free all resources and reset its state.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.start"></a>start</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Called when the element goes from READY to PAUSED.
+The subclass should get ready to process
+aggregated buffers.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.get-next-time"></a>get_next_time</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Called when the element needs to know the running time of the next
+rendered buffer for live pipelines. This causes deadline
+based aggregation to occur. Defaults to returning
+GST_CLOCK_TIME_NONE causing the element to wait for buffers
+on all sink pads before aggregating.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAggregatorClass.create-new-pad"></a>create_new_pad</code></em> ()</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
 </div>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-GstAggregator.see-also"></a><h2>See Also</h2>
+<p>gstcollectpads for historical reasons.</p>
+</div>
+</div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
 </body>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html b/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
index 8b474f87..e3564ee 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstAggregatorPad.html
@@ -102,18 +102,87 @@
 <a name="gst-aggregator-pad-steal-buffer"></a><h3>gst_aggregator_pad_steal_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_aggregator_pad_steal_buffer (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad" title="struct GstAggregatorPad"><span class="type">GstAggregatorPad</span></a> *pad</code></em>);</pre>
+<p>Steal the ref to the buffer currently queued in <em class="parameter"><code>pad</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-aggregator-pad-steal-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>pad</p></td>
+<td class="parameter_description"><p>the pad to get buffer from</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-aggregator-pad-steal-buffer.returns"></a><h4>Returns</h4>
+<p> The buffer in <em class="parameter"><code>pad</code></em>
+or NULL if no buffer was
+queued. You should unref the buffer 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-aggregator-pad-get-buffer"></a><h3>gst_aggregator_pad_get_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_aggregator_pad_get_buffer (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad" title="struct GstAggregatorPad"><span class="type">GstAggregatorPad</span></a> *pad</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-aggregator-pad-get-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>pad</p></td>
+<td class="parameter_description"><p>the pad to get buffer from</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-aggregator-pad-get-buffer.returns"></a><h4>Returns</h4>
+<p> A reference to the buffer in <em class="parameter"><code>pad</code></em>
+or
+NULL if no buffer was queued. You should unref the buffer 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-aggregator-pad-drop-buffer"></a><h3>gst_aggregator_pad_drop_buffer ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_aggregator_pad_drop_buffer (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstAggregatorPad.html#GstAggregatorPad" title="struct GstAggregatorPad"><span class="type">GstAggregatorPad</span></a> *pad</code></em>);</pre>
+<p>Drop the buffer currently queued in <em class="parameter"><code>pad</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-aggregator-pad-drop-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>pad</p></td>
+<td class="parameter_description"><p>the pad where to drop any pending buffer</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-aggregator-pad-drop-buffer.returns"></a><h4>Returns</h4>
+<p> TRUE if there was a buffer queued in <em class="parameter"><code>pad</code></em>
+, or FALSE if not.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -140,6 +209,44 @@
   gpointer _gst_reserved[GST_PADDING];
 };
 </pre>
+<p>The implementation the GstPad to use with <a class="link" href="gst-plugins-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</span></a></p>
+<div class="refsect3">
+<a name="GstAggregatorPad.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.0GstPad.html#GstPad-struct"><span class="type">GstPad</span></a> <em class="structfield"><code><a name="GstAggregatorPad.parent"></a>parent</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.0GstSegment.html#GstSegment-struct"><span class="type">GstSegment</span></a> <em class="structfield"><code><a name="GstAggregatorPad.segment"></a>segment</code></em>;</p></td>
+<td class="struct_member_description"><p>last segment received.</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.0GstSegment.html#GstSegment-struct"><span class="type">GstSegment</span></a> <em class="structfield"><code><a name="GstAggregatorPad.clip-segment"></a>clip_segment</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">GstAggregatorPadPrivate</span> *<em class="structfield"><code><a name="GstAggregatorPad.priv"></a>priv</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#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstAggregatorPad.-gst-reserved"></a>_gst_reserved</code></em>[GST_PADDING];</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -150,6 +257,24 @@
   GstFlowReturn (*flush)     (GstAggregatorPad * aggpad, GstAggregator * aggregator);
 };
 </pre>
+<div class="refsect3">
+<a name="GstAggregatorPadClass.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="GstAggregatorPadClass.flush"></a>flush</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional
+Called when the pad has received a flush stop, this is the place
+to flush any information specific to the pad, it allows for individual
+pads to be flushed while others might not be.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html b/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
index cb4eca1..d83958b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLAPI.html
@@ -118,24 +118,104 @@
 <a name="gst-gl-api-to-string"></a><h3>gst_gl_api_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_gl_api_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> api</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-api-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>api</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> to stringify</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-api-to-string.returns"></a><h4>Returns</h4>
+<p> A space seperated string of the OpenGL api's enabled in <em class="parameter"><code>api</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-api-from-string"></a><h3>gst_gl_api_from_string ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="returnvalue">GstGLAPI</span></a>
 gst_gl_api_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> *api_s</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-api-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>api_s</p></td>
+<td class="parameter_description"><p>a space seperated string of OpenGL apis</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-api-from-string.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLAPI" title="enum GstGLAPI"><span class="type">GstGLAPI</span></a> represented by <em class="parameter"><code>api_s</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-platform-to-string"></a><h3>gst_gl_platform_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_gl_platform_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> platform</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-platform-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>platform</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> to stringify</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-platform-to-string.returns"></a><h4>Returns</h4>
+<p> A space seperated string of the OpenGL platforms enabled in <em class="parameter"><code>platform</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-platform-from-string"></a><h3>gst_gl_platform_from_string ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="returnvalue">GstGLPlatform</span></a>
 gst_gl_platform_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> *platform_s</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-platform-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>platform_s</p></td>
+<td class="parameter_description"><p>a space seperated string of OpenGL platformss</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-platform-from-string.returns"></a><h4>Returns</h4>
+<p> The <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GstGLPlatform" title="enum GstGLPlatform"><span class="type">GstGLPlatform</span></a> represented by <em class="parameter"><code>platform_s</code></em>
+</p>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -153,33 +233,46 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-NONE:CAPS"></a>GST_GL_API_NONE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>no API</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-OPENGL:CAPS"></a>GST_GL_API_OPENGL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Desktop OpenGL up to and including 3.1.  The
+                   compatibility profile when the OpenGL version is &gt;= 3.2</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-OPENGL3:CAPS"></a>GST_GL_API_OPENGL3</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Desktop OpenGL &gt;= 3.2 core profile</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-GLES1:CAPS"></a>GST_GL_API_GLES1</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>OpenGL ES 1.x</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-GLES2:CAPS"></a>GST_GL_API_GLES2</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>OpenGL ES 2.x and 3.x</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-API-ANY:CAPS"></a>GST_GL_API_ANY</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Any OpenGL API</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -199,38 +292,53 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-NONE:CAPS"></a>GST_GL_PLATFORM_NONE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>no platform</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-EGL:CAPS"></a>GST_GL_PLATFORM_EGL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the EGL platform used primarily with the X11, wayland
+                     and android window systems as well as on embedded Linux</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-GLX:CAPS"></a>GST_GL_PLATFORM_GLX</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the GLX platform used primarily with the X11 window system</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-WGL:CAPS"></a>GST_GL_PLATFORM_WGL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the WGL platform used primarily on Windows</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-CGL:CAPS"></a>GST_GL_PLATFORM_CGL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the CGL platform used primarily on OS X</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-EAGL:CAPS"></a>GST_GL_PLATFORM_EAGL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the EAGL platform used primarily on iOS</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-PLATFORM-ANY:CAPS"></a>GST_GL_PLATFORM_ANY</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>any OpenGL platform</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -241,24 +349,28 @@
 <a name="GST-GL-API-GLES1-NAME:CAPS"></a><h3>GST_GL_API_GLES1_NAME</h3>
 <pre class="programlisting">#define GST_GL_API_GLES1_NAME "gles1"
 </pre>
+<p>The name for <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-GLES1:CAPS"><code class="literal">GST_GL_API_GLES1</code></a> used in various places</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-GL-API-GLES2-NAME:CAPS"></a><h3>GST_GL_API_GLES2_NAME</h3>
 <pre class="programlisting">#define GST_GL_API_GLES2_NAME "gles2"
 </pre>
+<p>The name for <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-GLES2:CAPS"><code class="literal">GST_GL_API_GLES2</code></a> used in various places</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-GL-API-OPENGL3-NAME:CAPS"></a><h3>GST_GL_API_OPENGL3_NAME</h3>
 <pre class="programlisting">#define GST_GL_API_OPENGL3_NAME "opengl3"
 </pre>
+<p>The name for <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-OPENGL3:CAPS"><code class="literal">GST_GL_API_OPENGL3</code></a> used in various places</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-GL-API-OPENGL-NAME:CAPS"></a><h3>GST_GL_API_OPENGL_NAME</h3>
 <pre class="programlisting">#define GST_GL_API_OPENGL_NAME "opengl"
 </pre>
+<p>The name for <a class="link" href="gst-plugins-bad-libs-GstGLAPI.html#GST-GL-API-OPENGL:CAPS"><code class="literal">GST_GL_API_OPENGL</code></a> used in various places</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLBuffer.html b/docs/libs/html/gst-plugins-bad-libs-GstGLBuffer.html
index 9ef90bd..7ef9099 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLBuffer.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLBuffer.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-GstGLBuffer.top_of_page"></a>GstGLBuffer</span></h2>
-<p>GstGLBuffer</p>
+<p>GstGLBuffer — memory subclass for GL buffers</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -126,6 +126,9 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstGLBuffer.description"></a><h2>Description</h2>
+<p>GstGLBuffer is a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> subclass providing support for the mapping of
+GL buffers.  </p>
+<p>Data is uploaded or downloaded from the GPU as is necessary.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstGLBuffer.functions_details"></a><h2>Functions</h2>
@@ -133,12 +136,36 @@
 <a name="gst-gl-buffer-init-once"></a><h3>gst_gl_buffer_init_once ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_buffer_init_once (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Initializes the GL Buffer allocator. It is safe to call this function
+multiple times.  This must be called before any other <a class="link" href="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBuffer" title="GstGLBuffer"><span class="type">GstGLBuffer</span></a> operation.</p>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-is-gl-buffer"></a><h3>gst_is_gl_buffer ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_is_gl_buffer (<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>
+<div class="refsect3">
+<a name="gst-is-gl-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>mem</p></td>
+<td class="parameter_description"><p>a <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-gl-buffer.returns"></a><h4>Returns</h4>
+<p> whether the memory at <em class="parameter"><code>mem</code></em>
+is a <a class="link" href="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBuffer" title="GstGLBuffer"><span class="type">GstGLBuffer</span></a></p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -159,6 +186,50 @@
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *alloc_params</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> gl_target</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> gl_usage</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-buffer-allocation-params-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alloc_size</p></td>
+<td class="parameter_description"><p>the size in bytes to allocate</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alloc_params</p></td>
+<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for <em class="parameter"><code>tex_id</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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gl_target</p></td>
+<td class="parameter_description"><p>the OpenGL target to allocate</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gl_usage</p></td>
+<td class="parameter_description"><p>the OpenGL usage hint to allocate with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-buffer-allocation-params-new.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBufferAllocationParams" title="struct GstGLBufferAllocationParams"><span class="type">GstGLBufferAllocationParams</span></a> for allocating OpenGL buffer
+objects</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 </div>
 <div class="refsect1">
@@ -173,6 +244,39 @@
   guint                 usage_hints;     /* XXX: put this in the allocator? */
 } GstGLBuffer;
 </pre>
+<p>Represents information about a GL buffer</p>
+<div class="refsect3">
+<a name="GstGLBuffer.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-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> <em class="structfield"><code><a name="GstGLBuffer.mem"></a>mem</code></em>;</p></td>
+<td class="struct_member_description"><p>the parent object</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="GstGLBuffer.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>the buffer id for this memory</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="GstGLBuffer.target"></a>target</code></em>;</p></td>
+<td class="struct_member_description"><p>the OpenGL target of this texture for binding purposes</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="GstGLBuffer.usage-hints"></a>usage_hints</code></em>;</p></td>
+<td class="struct_member_description"><p>the OpenGL usage hints this buffer was created with</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -184,6 +288,33 @@
   guint                     gl_usage;
 };
 </pre>
+<div class="refsect3">
+<a name="GstGLBufferAllocationParams.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-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> <em class="structfield"><code><a name="GstGLBufferAllocationParams.parent"></a>parent</code></em>;</p></td>
+<td class="struct_member_description"><p>parent object</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="GstGLBufferAllocationParams.gl-target"></a>gl_target</code></em>;</p></td>
+<td class="struct_member_description"><p>the OpenGL target to bind the buffer to</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="GstGLBufferAllocationParams.gl-usage"></a>gl_usage</code></em>;</p></td>
+<td class="struct_member_description"><p>the OpenGL usage hint to create the buffer with</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -195,6 +326,7 @@
 <div class="refsect2">
 <a name="GstGLBufferAllocator-struct"></a><h3>GstGLBufferAllocator</h3>
 <pre class="programlisting">typedef struct _GstGLBufferAllocator GstGLBufferAllocator;</pre>
+<p>Opaque <span class="type">GstGLAllocator</span> struct</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -203,12 +335,14 @@
   GstGLBaseMemoryAllocatorClass parent_class;
 } GstGLBufferAllocatorClass;
 </pre>
+<p>The <a class="link" href="gst-plugins-bad-libs-GstGLBuffer.html#GstGLBufferAllocatorClass" title="GstGLBufferAllocatorClass"><span class="type">GstGLBufferAllocatorClass</span></a> only contains private data</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-GL-BUFFER-ALLOCATOR-NAME:CAPS"></a><h3>GST_GL_BUFFER_ALLOCATOR_NAME</h3>
 <pre class="programlisting">#define GST_GL_BUFFER_ALLOCATOR_NAME   "GLBuffer"
 </pre>
+<p>The name of the GL buffer allocator</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -217,6 +351,10 @@
 </pre>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-GstGLBuffer.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>, <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html b/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html
index 04e867e..2f8ad01 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLContextEGL.html
@@ -116,12 +116,17 @@
   EGLSurface egl_surface;
   EGLConfig  egl_config;
 
+  gint egl_major;
+  gint egl_minor;
+
   GstGLAPI gl_api;
 
   const gchar *egl_exts;
 
-  EGLImageKHR (*eglCreateImage) (EGLDisplay dpy, EGLContext ctx, EGLenum target,
+  EGLImageKHR (*eglCreateImageKHR) (EGLDisplay dpy, EGLContext ctx, EGLenum target,
       EGLClientBuffer buffer, const EGLint *attrib_list);
+  EGLImageKHR (*eglCreateImage) (EGLDisplay dpy, EGLContext ctx, EGLenum target,
+      EGLClientBuffer buffer, const EGLAttrib *attrib_list);
   EGLBoolean (*eglDestroyImage) (EGLDisplay dpy, EGLImageKHR image);
 
   /* Cached handle */
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLMemory.html b/docs/libs/html/gst-plugins-bad-libs-GstGLMemory.html
index 2368c1e..996f1fd 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLMemory.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLMemory.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-GstGLMemory.top_of_page"></a>GstGLMemory</span></h2>
-<p>GstGLMemory</p>
+<p>GstGLMemory — memory subclass for GL textures</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -263,6 +263,11 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstGLMemory.description"></a><h2>Description</h2>
+<p>GstGLMemory is a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> subclass providing support for the mapping of
+OpenGL textures.  </p>
+<p><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> is created or wrapped through <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-alloc" title="gst_gl_base_memory_alloc ()"><code class="function">gst_gl_base_memory_alloc()</code></a>
+with <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a>.</p>
+<p>Data is uploaded or downloaded from the GPU as is necessary.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstGLMemory.functions_details"></a><h2>Functions</h2>
@@ -272,6 +277,32 @@
 gst_gl_video_allocation_params_copy_data
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> *src_vid</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> *dest_vid</code></em>);</pre>
+<p>Copy and set any dynamically allocated resources in <em class="parameter"><code>dest_vid</code></em>
+.  Intended
+for subclass usage only to chain up at the end of a subclass copy function.</p>
+<div class="refsect3">
+<a name="gst-gl-video-allocation-params-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>src_vid</p></td>
+<td class="parameter_description"><p>source <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> to copy from</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dest_vid</p></td>
+<td class="parameter_description"><p>destination <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> to copy into</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -279,6 +310,24 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_video_allocation_params_free_data
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> *params</code></em>);</pre>
+<p>Unset and free any dynamically allocated resources.  Intended for subclass
+usage only to chain up at the end of a subclass free function.</p>
+<div class="refsect3">
+<a name="gst-gl-video-allocation-params-free-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>params</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -301,6 +350,111 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> gl_handle</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>Intended for subclass usage</p>
+<div class="refsect3">
+<a name="gst-gl-video-allocation-params-init-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>params</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> to initialize</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>struct_size</p></td>
+<td class="parameter_description"><p>the size of the struct in <em class="parameter"><code>params</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alloc_flags</p></td>
+<td class="parameter_description"><p>some allocation flags</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>copy</p></td>
+<td class="parameter_description"><p>a copy function</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>free</p></td>
+<td class="parameter_description"><p>a free function</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alloc_params</p></td>
+<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for <em class="parameter"><code>wrapped_data</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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>v_info</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> for <em class="parameter"><code>wrapped_data</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>plane</p></td>
+<td class="parameter_description"><p>the video plane <em class="parameter"><code>wrapped_data</code></em>
+represents</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>valign</p></td>
+<td class="parameter_description"><p> any <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> applied to symem mappings of <em class="parameter"><code>wrapped_data</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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tex_type</p></td>
+<td class="parameter_description"><p>the <span class="type">GstVideoGLTextureType</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>wrapped_data</p></td>
+<td class="parameter_description"><p> the optional data pointer to wrap. </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>gl_handle</p></td>
+<td class="parameter_description"><p>the optional OpenGL handle to wrap or 0</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 call <em class="parameter"><code>notify</code></em>
+with. </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>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="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-gl-video-allocation-params-init-full.returns"></a><h4>Returns</h4>
+<p> initializes <em class="parameter"><code>params</code></em>
+with the parameters specified</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -313,6 +467,59 @@
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *valign</code></em>,
                                     <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>,
                                     <em class="parameter"><code><span class="type">GstVideoGLTextureType</span> tex_type</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-video-allocation-params-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alloc_params</p></td>
+<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for sysmem mappings of the texture. </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>v_info</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> for the texture</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>plane</p></td>
+<td class="parameter_description"><p>the video plane of <em class="parameter"><code>v_info</code></em>
+to allocate</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>valign</p></td>
+<td class="parameter_description"><p> any <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> applied to symem mappings of the texture. </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>target</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> for the created textures</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>the <span class="type">GstVideoGLTextureType</span> for the created textures</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-video-allocation-params-new.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> for allocating <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a>'s</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -329,6 +536,81 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> wrapped_data</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>
+<div class="refsect3">
+<a name="gst-gl-video-allocation-params-new-wrapped-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alloc_params</p></td>
+<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for <em class="parameter"><code>wrapped_data</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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>v_info</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> for <em class="parameter"><code>wrapped_data</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>plane</p></td>
+<td class="parameter_description"><p>the video plane <em class="parameter"><code>wrapped_data</code></em>
+represents</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>valign</p></td>
+<td class="parameter_description"><p> any <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> applied to symem mappings of <em class="parameter"><code>wrapped_data</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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> for <em class="parameter"><code>wrapped_data</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tex_type</p></td>
+<td class="parameter_description"><p>the <span class="type">GstVideoGLTextureType</span> for <em class="parameter"><code>wrapped_data</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>wrapped_data</p></td>
+<td class="parameter_description"><p>the data pointer to wrap</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 call <em class="parameter"><code>notify</code></em>
+with. </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>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="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-gl-video-allocation-params-new-wrapped-data.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> for wrapping <em class="parameter"><code>wrapped_data</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -345,6 +627,85 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> gl_handle</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><em class="parameter"><code>gl_handle</code></em>
+ is defined by the specific OpenGL handle being wrapped
+For <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> and <a class="link" href="gst-plugins-bad-libs-gstglmemorypbo.html#GstGLMemoryPBO" title="GstGLMemoryPBO"><span class="type">GstGLMemoryPBO</span></a> it is an OpenGL texture id.
+Other memory types may define it to require a different type of parameter.</p>
+<div class="refsect3">
+<a name="gst-gl-video-allocation-params-new-wrapped-gl-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alloc_params</p></td>
+<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for <em class="parameter"><code>tex_id</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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>v_info</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> for <em class="parameter"><code>tex_id</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>plane</p></td>
+<td class="parameter_description"><p>the video plane <em class="parameter"><code>tex_id</code></em>
+represents</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>valign</p></td>
+<td class="parameter_description"><p> any <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> applied to symem mappings of <em class="parameter"><code>tex_id</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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> for <em class="parameter"><code>tex_id</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tex_type</p></td>
+<td class="parameter_description"><p>the <span class="type">GstVideoGLTextureType</span> for <em class="parameter"><code>tex_id</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>gl_handle</p></td>
+<td class="parameter_description"><p>the GL handle to wrap</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 call <em class="parameter"><code>notify</code></em>
+with. </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>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="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-gl-video-allocation-params-new-wrapped-gl-handle.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> for wrapping <em class="parameter"><code>gl_handle</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -361,18 +722,117 @@
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> tex_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> 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>
+<div class="refsect3">
+<a name="gst-gl-video-allocation-params-new-wrapped-texture.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alloc_params</p></td>
+<td class="parameter_description"><p> the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> for <em class="parameter"><code>tex_id</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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>v_info</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> for <em class="parameter"><code>tex_id</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>plane</p></td>
+<td class="parameter_description"><p>the video plane <em class="parameter"><code>tex_id</code></em>
+represents</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>valign</p></td>
+<td class="parameter_description"><p> any <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> applied to symem mappings of <em class="parameter"><code>tex_id</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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> for <em class="parameter"><code>tex_id</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tex_type</p></td>
+<td class="parameter_description"><p>the <span class="type">GstGLTextureType</span> for <em class="parameter"><code>tex_id</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tex_id</p></td>
+<td class="parameter_description"><p>the GL texture to wrap</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 call <em class="parameter"><code>notify</code></em>
+with. </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>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="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-gl-video-allocation-params-new-wrapped-texture.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> for wrapping <em class="parameter"><code>tex_id</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-memory-allocator-get-default"></a><h3>gst_gl_memory_allocator_get_default ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemoryAllocator"><span class="returnvalue">GstGLMemoryAllocator</span></a> *
 gst_gl_memory_allocator_get_default (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-memory-allocator-get-default.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-memory-allocator-get-default.returns"></a><h4>Returns</h4>
+<p> the default <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemoryAllocator"><span class="type">GstGLMemoryAllocator</span></a> supported by <em class="parameter"><code>context</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-memory-init-once"></a><h3>gst_gl_memory_init_once ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_memory_init_once (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Initializes the GL Base Texture allocator. It is safe to call this function
+multiple times.  This must be called before any other GstGLMemory operation.</p>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -390,12 +850,107 @@
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> *valign</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>Initializes <em class="parameter"><code>mem</code></em>
+ with the required parameters.  <em class="parameter"><code>info</code></em>
+ is assumed to have
+already have been modified with <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#gst-video-info-align"><code class="function">gst_video_info_align()</code></a>.</p>
+<div class="refsect3">
+<a name="gst-gl-memory-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>mem</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> to initialize</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> to initialize with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p> the parent <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> to initialize with. </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>context</p></td>
+<td class="parameter_description"><p>the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> to initialize with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> for this <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>params</p></td>
+<td class="parameter_description"><p> the <em class="parameter"><code>GstAllocationParams</code></em>
+to initialize with. </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>info</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> for this <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>plane</p></td>
+<td class="parameter_description"><p>the plane number (starting from 0) for this <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>valign</p></td>
+<td class="parameter_description"><p> optional <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> parameters. </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>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="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>user_data</p></td>
+<td class="parameter_description"><p> user data to call <em class="parameter"><code>notify</code></em>
+with. </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>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-is-gl-memory"></a><h3>gst_is_gl_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_gl_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>
+<div class="refsect3">
+<a name="gst-is-gl-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 <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-gl-memory.returns"></a><h4>Returns</h4>
+<p> whether the memory at <em class="parameter"><code>mem</code></em>
+is a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -407,6 +962,63 @@
                          <em class="parameter"><code><span class="type">GstVideoGLTextureType</span> tex_type</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>Copies <em class="parameter"><code>gl_mem</code></em>
+ into the texture specfified by <em class="parameter"><code>tex_id</code></em>
+.  The format of <em class="parameter"><code>tex_id</code></em>
+
+is specified by <em class="parameter"><code>tex_type</code></em>
+, <em class="parameter"><code>width</code></em>
+ and <em class="parameter"><code>height</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-gl-memory-copy-into.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>gl_mem</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tex_id</p></td>
+<td class="parameter_description"><p>OpenGL texture id</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tex_type</p></td>
+<td class="parameter_description"><p>the <span class="type">GstVideoGLTextureType</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>width</p></td>
+<td class="parameter_description"><p>width of <em class="parameter"><code>tex_id</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p>height of <em class="parameter"><code>tex_id</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-memory-copy-into.returns"></a><h4>Returns</h4>
+<p> Whether the copy suceeded</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -425,6 +1037,40 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_memory_read_pixels (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> read_pointer</code></em>);</pre>
+<p>Reads the texture in <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> into <em class="parameter"><code>read_pointer</code></em>
+ if no buffer is bound
+to <code class="literal">GL_PIXEL_PACK_BUFFER</code>.  Otherwise <em class="parameter"><code>read_pointer</code></em>
+ is the byte offset into
+the currently bound <code class="literal">GL_PIXEL_PACK_BUFFER</code> buffer to store the result of
+glReadPixels.  See the OpenGL specification for glReadPixels for more
+details.</p>
+<div class="refsect3">
+<a name="gst-gl-memory-read-pixels.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>gl_mem</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>read_pointer</p></td>
+<td class="parameter_description"><p>the data pointer to pass to glReadPixels</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-memory-read-pixels.returns"></a><h4>Returns</h4>
+<p> whether theread operation succeeded</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -432,36 +1078,166 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_memory_texsubimage (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> read_pointer</code></em>);</pre>
+<p>See <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#gst-gl-memory-read-pixels" title="gst_gl_memory_read_pixels ()"><code class="function">gst_gl_memory_read_pixels()</code></a> for what <em class="parameter"><code>read_pointer</code></em>
+ signifies.</p>
+<div class="refsect3">
+<a name="gst-gl-memory-texsubimage.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>gl_mem</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>read_pointer</p></td>
+<td class="parameter_description"><p>the data pointer to pass to glTexSubImage</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-memory-get-texture-height"></a><h3>gst_gl_memory_get_texture_height ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_gl_memory_get_texture_height (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-memory-get-texture-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>gl_mem</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-memory-get-texture-height.returns"></a><h4>Returns</h4>
+<p> the texture height of <em class="parameter"><code>gl_mem</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-memory-get-texture-id"></a><h3>gst_gl_memory_get_texture_id ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_gl_memory_get_texture_id (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-memory-get-texture-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>gl_mem</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-memory-get-texture-id.returns"></a><h4>Returns</h4>
+<p> the OpenGL texture handle of <em class="parameter"><code>gl_mem</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-memory-get-texture-target"></a><h3>gst_gl_memory_get_texture_target ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="returnvalue">GstGLTextureTarget</span></a>
 gst_gl_memory_get_texture_target (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-memory-get-texture-target.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>gl_mem</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-memory-get-texture-target.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> of <em class="parameter"><code>gl_mem</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-memory-get-texture-type"></a><h3>gst_gl_memory_get_texture_type ()</h3>
 <pre class="programlisting"><span class="returnvalue">GstVideoGLTextureType</span>
 gst_gl_memory_get_texture_type (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-memory-get-texture-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>gl_mem</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-memory-get-texture-type.returns"></a><h4>Returns</h4>
+<p> the <span class="type">GstVideoGLTextureType</span> of <em class="parameter"><code>gl_mem</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-memory-get-texture-width"></a><h3>gst_gl_memory_get_texture_width ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_gl_memory_get_texture_width (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> *gl_mem</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-memory-get-texture-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>gl_mem</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-memory-get-texture-width.returns"></a><h4>Returns</h4>
+<p> the texture width of <em class="parameter"><code>gl_mem</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -473,6 +1249,44 @@
                             <em class="parameter"><code><span class="type">GstVideoGLTextureType</span> *tex_types</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> *wrapped_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> n_wrapped_pointers</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-memory-setup-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>allocator</p></td>
+<td class="parameter_description"><p>the <em class="parameter"><code>GstGLMemoryAllocator</code></em>
+to allocate from</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 setup</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>params</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a> to allocate with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tex_types</p></td>
+<td class="parameter_description"><p> a list of <span class="type">GstVideoGLTextureType</span>'s to allocate with. </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-gl-memory-setup-buffer.returns"></a><h4>Returns</h4>
+<p> whether the buffer was correctly setup</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 </div>
 <div class="refsect1">
@@ -505,6 +1319,7 @@
 <div class="refsect2">
 <a name="GstGLMemoryAllocator-struct"></a><h3>GstGLMemoryAllocator</h3>
 <pre class="programlisting">typedef struct _GstGLMemoryAllocator GstGLMemoryAllocator;</pre>
+<p>Opaque <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemoryAllocator"><span class="type">GstGLMemoryAllocator</span></a> struct</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -517,6 +1332,7 @@
   GstGLBaseMemoryAllocatorUnmapFunction     unmap;
 } GstGLMemoryAllocatorClass;
 </pre>
+<p>The <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemoryAllocatorClass" title="GstGLMemoryAllocatorClass"><span class="type">GstGLMemoryAllocatorClass</span></a> only contains private data</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -533,14 +1349,74 @@
   gfloat                    tex_scaling[2];
 } GstGLMemory;
 </pre>
+<p>Represents information about a GL texture</p>
+<div class="refsect3">
+<a name="GstGLMemory.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-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> <em class="structfield"><code><a name="GstGLMemory.mem"></a>mem</code></em>;</p></td>
+<td class="struct_member_description"><p>the parent object</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="GstGLMemory.tex-id"></a>tex_id</code></em>;</p></td>
+<td class="struct_member_description"><p>the GL texture id for this memory</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> <em class="structfield"><code><a name="GstGLMemory.tex-target"></a>tex_target</code></em>;</p></td>
+<td class="struct_member_description"><p>the GL texture target for this memory</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="GstGLMemory.tex-type"></a>tex_type</code></em>;</p></td>
+<td class="struct_member_description"><p>the texture type</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstGLMemory.info"></a>info</code></em>;</p></td>
+<td class="struct_member_description"><p>the texture's <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</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/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoAlignment"><span class="type">GstVideoAlignment</span></a> <em class="structfield"><code><a name="GstGLMemory.valign"></a>valign</code></em>;</p></td>
+<td class="struct_member_description"><p>data alignment for system memory mapping</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="GstGLMemory.plane"></a>plane</code></em>;</p></td>
+<td class="struct_member_description"><p>data plane in <em class="parameter"><code>info</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#gfloat"><span class="type">gfloat</span></a> <em class="structfield"><code><a name="GstGLMemory.tex-scaling"></a>tex_scaling</code></em>[2];</p></td>
+<td class="struct_member_description"><p>GL shader scaling parameters for <em class="parameter"><code>valign</code></em>
+and/or width/height</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-GL-MEMORY-ALLOCATOR-NAME:CAPS"></a><h3>GST_GL_MEMORY_ALLOCATOR_NAME</h3>
 <pre class="programlisting">#define GST_GL_MEMORY_ALLOCATOR_NAME   "GLMemory"
 </pre>
+<p>The name of the GL memory allocator</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-GstGLMemory.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>, <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a>, <a class="link" href="GstGLBufferPool.html" title="GstGLBufferPool"><span class="type">GstGLBufferPool</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLSL.html b/docs/libs/html/gst-plugins-bad-libs-GstGLSL.html
index 8a05c20..7352290 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLSL.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLSL.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="gl.html" title="OpenGL Helper Library">
 <link rel="prev" href="GstGLShader.html" title="GstGLShader">
-<link rel="next" href=".html" title="">
+<link rel="next" href=".html" title="GstGLSLStage">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -27,7 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-GstGLSL.top_of_page"></a>GstGLSL</span></h2>
-<p>GstGLSL</p>
+<p>GstGLSL — helpers for dealing with OpenGL shaders</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -408,6 +408,10 @@
 </div>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-GstGLSL.see-also"></a><h2>See Also</h2>
+<p><a class="link" href=".html#GstGLSLStage"><span class="type">GstGLSLStage</span></a>, <a class="link" href="GstGLShader.html" title="GstGLShader"><span class="type">GstGLShader</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html b/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html
index 665f20c..32a5453 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLSyncMeta.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="gl.html" title="OpenGL Helper Library">
-<link rel="prev" href=".html" title="">
+<link rel="prev" href=".html" title="GstGLSLStage">
 <link rel="next" href="GstGLUpload.html" title="GstGLUpload">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html
index b60238a..1aa6750 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstGLWindowX11.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="gl.html" title="OpenGL Helper Library">
 <link rel="prev" href="gst-plugins-bad-libs-GstGLWindowWin32.html" title="GstGLWindowWin32">
-<link rel="next" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">
+<link rel="next" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -20,7 +20,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="gl.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-bad-libs-GstGLWindowWin32.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-libs-gstgldebug.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-libs-OpenGL-debugging.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-bad-libs-GstGLWindowX11"></a><div class="titlepage"></div>
@@ -114,12 +114,18 @@
 <a name="gst-gl-window-x11-trap-x-errors"></a><h3>gst_gl_window_x11_trap_x_errors ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_window_x11_trap_x_errors (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Traps every X error until <a class="link" href="gst-plugins-bad-libs-GstGLWindowX11.html#gst-gl-window-x11-untrap-x-errors" title="gst_gl_window_x11_untrap_x_errors ()"><code class="function">gst_gl_window_x11_untrap_x_errors()</code></a> is called.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-window-x11-untrap-x-errors"></a><h3>gst_gl_window_x11_untrap_x_errors ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_gl_window_x11_untrap_x_errors (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Removes the X error trap and returns the current status.</p>
+<div class="refsect3">
+<a name="gst-gl-window-x11-untrap-x-errors.returns"></a><h4>Returns</h4>
+<p> the trapped error code, or 0 for success</p>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -129,6 +135,7 @@
 <pre class="programlisting">struct GstGLWindowX11 {
 };
 </pre>
+<p>Opaque <a class="link" href="gst-plugins-bad-libs-GstGLWindowX11.html#GstGLWindowX11" title="struct GstGLWindowX11"><span class="type">GstGLWindowX11</span></a> object</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -136,6 +143,7 @@
 <pre class="programlisting">struct GstGLWindowX11Class {
 };
 </pre>
+<p>Opaque <a class="link" href="gst-plugins-bad-libs-GstGLWindowX11.html#GstGLWindowX11Class" title="struct GstGLWindowX11Class"><span class="type">GstGLWindowX11Class</span></a> object</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html b/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html
index 99ca08f..453c1b0 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstInsertbin.html
@@ -30,7 +30,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-GstInsertbin.top_of_page"></a>GstInsertbin</span></h2>
-<p>GstInsertbin</p>
+<p>GstInsertbin — A <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#GstBin-struct"><span class="type">GstBin</span></a> to insertally link filter-like elements.</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -175,6 +175,16 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstInsertbin.description"></a><h2>Description</h2>
+<p>This element is a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#GstBin-struct"><span class="type">GstBin</span></a> that has a single source and sink pad. It allows
+the user (the application) to easily add and remove filter-like element
+(that has a single source and sink pad), to the pipeline while it is running.
+It features a fully asynchronous API inspired by GLib's GAsyncResult based
+APIs.</p>
+<p>Each operation (addition or removal) can take a callback, this callback
+is guaranteed to be called. Unlike GIO, there is no guarantee about where
+this callback will be called from, it could be called before the action
+returns or it could be called later from another thread. The signature of
+this callback <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBinCallback" title="GstInsertBinCallback ()"><code class="function">GstInsertBinCallback()</code></a>.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstInsertbin.functions_details"></a><h2>Functions</h2>
@@ -185,12 +195,68 @@
                          <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/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> success</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 is the prototype of callbacks to be called when the operation completes.
+It could be called at any time, including as a re-entrant call while the
+operation is requested.</p>
+<div class="refsect3">
+<a name="GstInsertBinCallback.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>insertbin</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<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> on which the operation was performed</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>success</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 operation was successful</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</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-insert-bin-new"></a><h3>gst_insert_bin_new ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="returnvalue">GstElement</span></a> *
 gst_insert_bin_new (<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>Creates a new <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a></p>
+<div class="refsect3">
+<a name="gst-insert-bin-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 new <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> element (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="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-insert-bin-new.returns"></a><h4>Returns</h4>
+<p> The new <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a></p>
+</div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -200,6 +266,38 @@
                        <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 class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBinCallback" title="GstInsertBinCallback ()"><span class="type">GstInsertBinCallback</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>);</pre>
+<p>This action signal adds the filter like element after any other element
+in the bin.</p>
+<p>Same as the <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-append" title="The “append” signal"><span class="type">“append”</span></a> signal.</p>
+<div class="refsect3">
+<a name="gst-insert-bin-append.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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> to add</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p> the callback to call when the element has been
+added or not, 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="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 data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -209,6 +307,38 @@
                         <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 class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBinCallback" title="GstInsertBinCallback ()"><span class="type">GstInsertBinCallback</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>);</pre>
+<p>This action signal adds the filter like element before any other element
+in the bin.</p>
+<p>Same as the <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-prepend" title="The “prepend” signal"><span class="type">“prepend”</span></a> signal.</p>
+<div class="refsect3">
+<a name="gst-insert-bin-prepend.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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> to add</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p> the callback to call when the element has been
+added or not, 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="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 data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -219,6 +349,45 @@
                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *sibling</code></em>,
                              <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBinCallback" title="GstInsertBinCallback ()"><span class="type">GstInsertBinCallback</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>);</pre>
+<p>This action signal adds the filter like element after the <em class="parameter"><code>sibling</code></em>
+
+element in the bin.</p>
+<p>Same as the <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-insert-after" title="The “insert-after” signal"><span class="type">“insert-after”</span></a> signal.</p>
+<div class="refsect3">
+<a name="gst-insert-bin-insert-after.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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> to add</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sibling</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> to add <em class="parameter"><code>element</code></em>
+after</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p> the callback to call when the element has been
+added or not, 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="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 data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -229,6 +398,45 @@
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *sibling</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBinCallback" title="GstInsertBinCallback ()"><span class="type">GstInsertBinCallback</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>);</pre>
+<p>This action signal adds the filter like element before the <em class="parameter"><code>sibling</code></em>
+
+element in the bin.</p>
+<p>Same as the <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-insert-before" title="The “insert-before” signal"><span class="type">“insert-before”</span></a> signal.</p>
+<div class="refsect3">
+<a name="gst-insert-bin-insert-before.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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> to add</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sibling</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> to add <em class="parameter"><code>element</code></em>
+before</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p> the callback to call when the element has been
+added or not, 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="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 data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -238,6 +446,37 @@
                        <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 class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBinCallback" title="GstInsertBinCallback ()"><span class="type">GstInsertBinCallback</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>);</pre>
+<p>This action signal removed the filter like element from the bin.</p>
+<p>Same as the <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin-remove" title="The “remove” signal"><span class="type">“remove”</span></a> signal.</p>
+<div class="refsect3">
+<a name="gst-insert-bin-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>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> to remove</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p> the callback to call when the element has been
+removed or not, 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="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 data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
@@ -245,6 +484,7 @@
 <div class="refsect2">
 <a name="GstInsertBin-struct"></a><h3>struct GstInsertBin</h3>
 <pre class="programlisting">struct GstInsertBin;</pre>
+<p>The object structure.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -253,6 +493,7 @@
   GstBinClass parent_class;
 };
 </pre>
+<p>The object class structure.</p>
 </div>
 </div>
 <div class="refsect1">
@@ -260,57 +501,276 @@
 <div class="refsect2">
 <a name="GstInsertBin-append"></a><h3>The <code class="literal">“append”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> *gstinsertbin,
-               <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>      arg2,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      arg3,
+user_function (<a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> *element,
+               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>   *callback,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data2,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)</pre>
+<p>This action signal adds the filter like element after any other element
+in the bin.</p>
+<p>Same as <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-append" title="gst_insert_bin_append ()"><code class="function">gst_insert_bin_append()</code></a></p>
+<div class="refsect3">
+<a name="GstInsertBin-append.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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> to add</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>the callback to call when the element has been added or not, 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>user_data</p></td>
+<td class="parameter_description"><p>The data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data2</p></td>
+<td class="parameter_description"><p>The user data of the signal (ignored)</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-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstInsertBin-insert-after"></a><h3>The <code class="literal">“insert-after”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> *gstinsertbin,
-               <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/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>   *arg2,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      arg3,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      arg4,
+user_function (<a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> *element,
+               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>   *sibling,
+               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>   *callback,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data2,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)</pre>
+<p>This action signal adds the filter like element after the <em class="parameter"><code>sibling</code></em>
+
+element in the bin.
+element in the bin.</p>
+<p>Same as <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-insert-after" title="gst_insert_bin_insert_after ()"><code class="function">gst_insert_bin_insert_after()</code></a></p>
+<div class="refsect3">
+<a name="GstInsertBin-insert-after.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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> to add</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sibling</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> to add <em class="parameter"><code>element</code></em>
+after</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>the callback to call when the element has been added or not, 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>user_data</p></td>
+<td class="parameter_description"><p>The data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data2</p></td>
+<td class="parameter_description"><p>The user data of the signal (ignored)</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-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstInsertBin-insert-before"></a><h3>The <code class="literal">“insert-before”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> *gstinsertbin,
-               <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/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>   *arg2,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      arg3,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      arg4,
+user_function (<a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> *element,
+               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>   *sibling,
+               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>   *callback,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data2,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)</pre>
+<p>This action signal adds the filter like element before the <em class="parameter"><code>sibling</code></em>
+
+element in the bin.</p>
+<p>Same as <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-insert-before" title="gst_insert_bin_insert_before ()"><code class="function">gst_insert_bin_insert_before()</code></a></p>
+<div class="refsect3">
+<a name="GstInsertBin-insert-before.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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> to add</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sibling</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> to add <em class="parameter"><code>element</code></em>
+before</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>the callback to call when the element has been added or not, 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>user_data</p></td>
+<td class="parameter_description"><p>The data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data2</p></td>
+<td class="parameter_description"><p>The user data of the signal (ignored)</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-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstInsertBin-prepend"></a><h3>The <code class="literal">“prepend”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> *gstinsertbin,
-               <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>      arg2,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      arg3,
+user_function (<a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> *element,
+               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>   *callback,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data2,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)</pre>
+<p>This action signal adds the filter like element before any other element
+in the bin.</p>
+<p>Same as <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-prepend" title="gst_insert_bin_prepend ()"><code class="function">gst_insert_bin_prepend()</code></a></p>
+<div class="refsect3">
+<a name="GstInsertBin-prepend.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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> to add</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>the callback to call when the element has been added or not, 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>user_data</p></td>
+<td class="parameter_description"><p>The data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data2</p></td>
+<td class="parameter_description"><p>The user data of the signal (ignored)</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-ACTION:CAPS">Action</a></p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstInsertBin-remove"></a><h3>The <code class="literal">“remove”</code> signal</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
-user_function (<a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> *gstinsertbin,
-               <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>      arg2,
-               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      arg3,
+user_function (<a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#GstInsertBin"><span class="type">GstInsertBin</span></a> *element,
+               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>   *callback,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data2,
                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>      user_data)</pre>
+<p>This action signal removed the filter like element from the bin.</p>
+<p>Same as <a class="link" href="gst-plugins-bad-libs-GstInsertbin.html#gst-insert-bin-remove" title="gst_insert_bin_remove ()"><code class="function">gst_insert_bin_remove()</code></a></p>
+<div class="refsect3">
+<a name="GstInsertBin-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>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> to remove</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>callback</p></td>
+<td class="parameter_description"><p>the callback to call when the element has been removed or not,
+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>user_data</p></td>
+<td class="parameter_description"><p>The data to pass to the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>user_data2</p></td>
+<td class="parameter_description"><p>The user data of the signal (ignored)</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-ACTION:CAPS">Action</a></p>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html b/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
index 9fd47fb..81781f0 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstPhotography.html
@@ -27,11 +27,28 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-GstPhotography.top_of_page"></a>GstPhotography</span></h2>
-<p>GstPhotography</p>
+<p>GstPhotography — Interface for digital image capture elements</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
+<a name="gst-plugins-bad-libs-GstPhotography.stability-level"></a><h2>Stability Level</h2>
+<acronym title="Unstable interfaces are experimental or transitional. They are typically used to
+give outside developers early access to new or rapidly changing technology, or
+to provide an interim solution to a problem where a more general solution is
+anticipated. No claims are made about either source or binary compatibility from
+one minor release to the next.
+
+The Unstable interface level is a warning that these interfaces are  subject to
+change without warning and should not be used in unbundled products.
+
+Given such caveats, customer impact need not be a factor when considering
+incompatible changes to an Unstable interface in a major or minor release.
+Nonetheless, when such changes are introduced, the changes should still be
+mentioned in the release notes for the affected release.
+"><span class="acronym">Unstable</span></acronym>, unless otherwise indicated
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-libs-GstPhotography.functions"></a><h2>Functions</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -407,6 +424,11 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstPhotography.description"></a><h2>Description</h2>
+<p>The interface allows access to some common digital image capture parameters.</p>
+<div class="note">
+  The GstPhotography interface is unstable API and may change in future.
+  One can define GST_USE_UNSTABLE_API to acknowledge and avoid this warning.
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstPhotography.functions_details"></a><h2>Functions</h2>
@@ -415,6 +437,34 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 <span class="c_punctuation">(</span>*GstPhotographyCapturePrepared<span class="c_punctuation">)</span> (<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>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> *configured_caps</code></em>);</pre>
+<p>This callback will be called when the element has finished preparations
+and is ready for image capture. The next buffer that element produces
+will be of <em class="parameter"><code>configured_caps</code></em>
+ format, so this callback allows the application
+to e.g. reconfigure capsfilters in pipeline if any.</p>
+<div class="refsect3">
+<a name="GstPhotographyCapturePrepared.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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>user data that has been given, when registering the callback</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>configured_caps</p></td>
+<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> defining the configured capture format.
+Ownership of these caps stays in the element.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -422,6 +472,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_ev_compensation (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> *ev_comp</code></em>);</pre>
+<p>Get the ev compensation value for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-ev-compensation.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>ev_comp</p></td>
+<td class="parameter_description"><p>ev compensation value to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-ev-compensation.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 getting the value succeeded, <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">
@@ -429,6 +506,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_iso_speed (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *iso_speed</code></em>);</pre>
+<p>Get the ISO value (light sensivity) for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-iso-speed.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>iso_speed</p></td>
+<td class="parameter_description"><p>ISO speed value to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-iso-speed.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 getting the value succeeded, <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">
@@ -436,6 +540,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_aperture (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *aperture</code></em>);</pre>
+<p>Get the aperture value for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-aperture.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>aperture</p></td>
+<td class="parameter_description"><p>aperture value to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-aperture.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 getting the value succeeded, <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">
@@ -443,6 +574,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_exposure (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *exposure</code></em>);</pre>
+<p>Get the fixed exposure time (in us) for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-exposure.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>exposure</p></td>
+<td class="parameter_description"><p>exposure time to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-exposure.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 getting the value succeeded, <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">
@@ -451,6 +609,33 @@
 gst_photography_get_white_balance_mode
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyWhiteBalanceMode" title="enum GstPhotographyWhiteBalanceMode"><span class="type">GstPhotographyWhiteBalanceMode</span></a> *wb_mode</code></em>);</pre>
+<p>Get the white balance mode for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-white-balance-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>wb_mode</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyWhiteBalanceMode" title="enum GstPhotographyWhiteBalanceMode"><span class="type">GstPhotographyWhiteBalanceMode</span></a> to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-white-balance-mode.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 getting the value succeeded, <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">
@@ -458,6 +643,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_color_tone_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                      <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyColorToneMode" title="enum GstPhotographyColorToneMode"><span class="type">GstPhotographyColorToneMode</span></a> *tone_mode</code></em>);</pre>
+<p>Get the color tone mode for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-color-tone-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>tone_mode</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyColorToneMode" title="enum GstPhotographyColorToneMode"><span class="type">GstPhotographyColorToneMode</span></a> to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-color-tone-mode.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 getting the value succeeded, <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">
@@ -465,6 +677,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_scene_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographySceneMode" title="enum GstPhotographySceneMode"><span class="type">GstPhotographySceneMode</span></a> *scene_mode</code></em>);</pre>
+<p>Get the scene mode for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-scene-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>scene_mode</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographySceneMode" title="enum GstPhotographySceneMode"><span class="type">GstPhotographySceneMode</span></a> to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-scene-mode.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 getting the value succeeded, <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">
@@ -472,6 +711,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_flash_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFlashMode" title="enum GstPhotographyFlashMode"><span class="type">GstPhotographyFlashMode</span></a> *flash_mode</code></em>);</pre>
+<p>Get the flash mode for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-flash-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>flash_mode</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFlashMode" title="enum GstPhotographyFlashMode"><span class="type">GstPhotographyFlashMode</span></a> to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-flash-mode.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 getting the value succeeded, <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">
@@ -479,6 +745,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_flicker_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                   <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFlickerReductionMode" title="enum GstPhotographyFlickerReductionMode"><span class="type">GstPhotographyFlickerReductionMode</span></a> *mode</code></em>);</pre>
+<p>Get the flicker mode value for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-flicker-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>flicker_mode</p></td>
+<td class="parameter_description"><p>flicker mode value to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-flicker-mode.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 getting the value succeeded, <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">
@@ -486,6 +779,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_focus_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFocusMode" title="enum GstPhotographyFocusMode"><span class="type">GstPhotographyFocusMode</span></a> *mode</code></em>);</pre>
+<p>Get the focus mode value for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-focus-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>focus_mode</p></td>
+<td class="parameter_description"><p>focus_mode value to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-focus-mode.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 getting the value succeeded, <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">
@@ -493,6 +813,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_noise_reduction (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                      <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyNoiseReduction" title="enum GstPhotographyNoiseReduction"><span class="type">GstPhotographyNoiseReduction</span></a> *noise_reduction</code></em>);</pre>
+<p>Get the noise reduction mode for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-noise-reduction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>noise_reduction</p></td>
+<td class="parameter_description"><p><span class="type">GstPhotographyNoiseReductionMode</span> to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-noise-reduction.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 getting the value succeeded, <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">
@@ -500,6 +847,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_zoom (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> *zoom</code></em>);</pre>
+<p>Get the zoom value for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-get-zoom.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>zoom</p></td>
+<td class="parameter_description"><p>zoom value to get</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-zoom.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 getting the value succeeded, <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">
@@ -507,6 +881,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_ev_compensation (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> ev_comp</code></em>);</pre>
+<p>Set the ev compensation value for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-set-ev-compensation.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>ev_comp</p></td>
+<td class="parameter_description"><p>ev compensation value to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-ev-compensation.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 setting the value succeeded, <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">
@@ -514,6 +915,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_iso_speed (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> iso_speed</code></em>);</pre>
+<p>Set the ISO value (light sensivity) for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-set-iso-speed.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>iso_speed</p></td>
+<td class="parameter_description"><p>ISO speed value to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-iso-speed.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 setting the value succeeded, <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">
@@ -521,6 +949,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_aperture (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> aperture</code></em>);</pre>
+<p>Set the aperture value for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-set-aperture.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>aperture</p></td>
+<td class="parameter_description"><p>aperture value to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-aperture.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 setting the value succeeded, <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">
@@ -528,6 +983,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_exposure (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> exposure</code></em>);</pre>
+<p>Set the fixed exposure time (in us) for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-set-exposure.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>exposure</p></td>
+<td class="parameter_description"><p>exposure time to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-exposure.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 setting the value succeeded, <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">
@@ -536,6 +1018,33 @@
 gst_photography_set_white_balance_mode
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyWhiteBalanceMode" title="enum GstPhotographyWhiteBalanceMode"><span class="type">GstPhotographyWhiteBalanceMode</span></a> wb_mode</code></em>);</pre>
+<p>Set the white balance mode for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-set-white-balance-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>wb_mode</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyWhiteBalanceMode" title="enum GstPhotographyWhiteBalanceMode"><span class="type">GstPhotographyWhiteBalanceMode</span></a> to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-white-balance-mode.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 setting the value succeeded, <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">
@@ -543,6 +1052,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_color_tone_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                      <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyColorToneMode" title="enum GstPhotographyColorToneMode"><span class="type">GstPhotographyColorToneMode</span></a> tone_mode</code></em>);</pre>
+<p>Set the color tone mode for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-set-color-tone-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>tone_mode</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyColorToneMode" title="enum GstPhotographyColorToneMode"><span class="type">GstPhotographyColorToneMode</span></a> to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-color-tone-mode.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 setting the value succeeded, <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">
@@ -550,6 +1086,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_scene_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographySceneMode" title="enum GstPhotographySceneMode"><span class="type">GstPhotographySceneMode</span></a> scene_mode</code></em>);</pre>
+<p>Set the scene mode for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-set-scene-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>scene_mode</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographySceneMode" title="enum GstPhotographySceneMode"><span class="type">GstPhotographySceneMode</span></a> to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-scene-mode.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 setting the value succeeded, <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">
@@ -557,6 +1120,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_flash_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFlashMode" title="enum GstPhotographyFlashMode"><span class="type">GstPhotographyFlashMode</span></a> flash_mode</code></em>);</pre>
+<p>Set the flash mode for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-set-flash-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>flash_mode</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFlashMode" title="enum GstPhotographyFlashMode"><span class="type">GstPhotographyFlashMode</span></a> to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-flash-mode.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 setting the value succeeded, <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">
@@ -564,6 +1154,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_flicker_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                   <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFlickerReductionMode" title="enum GstPhotographyFlickerReductionMode"><span class="type">GstPhotographyFlickerReductionMode</span></a> mode</code></em>);</pre>
+<p>Set the flicker mode value for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>.</p>
+<div class="refsect3">
+<a name="gst-photography-set-flicker-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>flicker_mode</p></td>
+<td class="parameter_description"><p>flicker mode value to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-flicker-mode.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 setting the value succeeded, <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">
@@ -571,6 +1188,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_focus_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFocusMode" title="enum GstPhotographyFocusMode"><span class="type">GstPhotographyFocusMode</span></a> mode</code></em>);</pre>
+<p>Set the focus mode value for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>.</p>
+<div class="refsect3">
+<a name="gst-photography-set-focus-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>focus_mode</p></td>
+<td class="parameter_description"><p>focus mode value to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-focus-mode.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 setting the value succeeded, <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">
@@ -578,6 +1222,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_noise_reduction (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                      <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyNoiseReduction" title="enum GstPhotographyNoiseReduction"><span class="type">GstPhotographyNoiseReduction</span></a> noise_reduction</code></em>);</pre>
+<p>Set the noise reduction mode for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a></p>
+<div class="refsect3">
+<a name="gst-photography-set-noise-reduction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>noise_reduction</p></td>
+<td class="parameter_description"><p><span class="type">GstPhotographyNoiseReductionMode</span> to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-noise-reduction.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 setting the value succeeded, <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">
@@ -585,12 +1256,61 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_zoom (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a> zoom</code></em>);</pre>
+<p>Set the zoom value for the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a>.
+E.g. 1.0 to get original image and 3.0 for 3x zoom and so on.</p>
+<div class="refsect3">
+<a name="gst-photography-set-zoom.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>zoom</p></td>
+<td class="parameter_description"><p>zoom value to set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-zoom.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 setting the value succeeded, <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-photography-get-capabilities"></a><h3>gst_photography_get_capabilities ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyCaps" title="enum GstPhotographyCaps"><span class="returnvalue">GstPhotographyCaps</span></a>
 gst_photography_get_capabilities (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>);</pre>
+<p>Get <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyCaps" title="enum GstPhotographyCaps"><span class="type">GstPhotographyCaps</span></a> bitmask value that indicates what photography
+interface features the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> supports</p>
+<div class="refsect3">
+<a name="gst-photography-get-capabilities.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-capabilities.returns"></a><h4>Returns</h4>
+<p> <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyCaps" title="enum GstPhotographyCaps"><span class="type">GstPhotographyCaps</span></a> value</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -600,6 +1320,47 @@
                                      <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyCapturePrepared" title="GstPhotographyCapturePrepared ()"><span class="type">GstPhotographyCapturePrepared</span></a> func</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> *capture_caps</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>Start preparations for capture. Preparations can take indeterminate
+amount of time and <em class="parameter"><code>func</code></em>
+ callback is called after preparations are
+done. Image capture will begin after callback returns.</p>
+<div class="refsect3">
+<a name="gst-photography-prepare-for-capture.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>func</p></td>
+<td class="parameter_description"><p>callback that is called after capturing has been prepared</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>capture_caps</p></td>
+<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> defining the desired format of the captured image</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 that will be passed to the callback <em class="parameter"><code>func</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-prepare-for-capture.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 preparations were started (caps were OK), 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">
@@ -607,6 +1368,30 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_photography_set_autofocus (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> on</code></em>);</pre>
+<p>Start or stop autofocusing. <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-AUTOFOCUS-DONE:CAPS" title="GST_PHOTOGRAPHY_AUTOFOCUS_DONE"><code class="literal">GST_PHOTOGRAPHY_AUTOFOCUS_DONE</code></a>
+message is posted to bus when autofocusing has finished.</p>
+<div class="refsect3">
+<a name="gst-photography-set-autofocus.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>on</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 start autofocusing, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> to stop autofocusing</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -614,6 +1399,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_set_config (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                             <em class="parameter"><code><span class="type">GstPhotographySettings</span> *config</code></em>);</pre>
+<p>Set all configuration settings at once.</p>
+<div class="refsect3">
+<a name="gst-photography-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>config</p></td>
+<td class="parameter_description"><p><span class="type">GstPhotographySettings</span> containg the configuration</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-set-config.returns"></a><h4>Returns</h4>
+<p> TRUE if configuration was set successfully, otherwise FALSE.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -621,6 +1433,33 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_photography_get_config (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> *photo</code></em>,
                             <em class="parameter"><code><span class="type">GstPhotographySettings</span> *config</code></em>);</pre>
+<p>Get all configuration settings at once.</p>
+<div class="refsect3">
+<a name="gst-photography-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>photo</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</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>config</p></td>
+<td class="parameter_description"><p><span class="type">GstPhotographySettings</span> containg the configuration</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-photography-get-config.returns"></a><h4>Returns</h4>
+<p> TRUE if configuration was got successfully, otherwise FALSE.</p>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -628,10 +1467,12 @@
 <div class="refsect2">
 <a name="GstPhotography"></a><h3>GstPhotography</h3>
 <pre class="programlisting">typedef struct _GstPhotography GstPhotography;</pre>
+<p>Opaque <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> data structure.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstPhotographyNoiseReduction"></a><h3>enum GstPhotographyNoiseReduction</h3>
+<p>Noise Reduction features of a photography capture or filter element.</p>
 <div class="refsect3">
 <a name="GstPhotographyNoiseReduction.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -643,28 +1484,45 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-NOISE-REDUCTION-BAYER:CAPS"></a>GST_PHOTOGRAPHY_NOISE_REDUCTION_BAYER</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Adaptive noise reduction on Bayer
+format</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-NOISE-REDUCTION-YCC:CAPS"></a>GST_PHOTOGRAPHY_NOISE_REDUCTION_YCC</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>reduces the noise on Y and 2-chroma
+images.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-NOISE-REDUCTION-TEMPORAL:CAPS"></a>GST_PHOTOGRAPHY_NOISE_REDUCTION_TEMPORAL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Multi-frame adaptive NR,
+provided for the video mode</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-NOISE-REDUCTION-FIXED:CAPS"></a>GST_PHOTOGRAPHY_NOISE_REDUCTION_FIXED</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Fixed Pattern Noise refers to noise
+that does not change between frames. The noise is removed from the sensor
+image, by subtracting a previously-captured black image in memory.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-NOISE-REDUCTION-EXTRA:CAPS"></a>GST_PHOTOGRAPHY_NOISE_REDUCTION_EXTRA</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Extra Noise Reduction. In the case
+of high-ISO capturing, some noise remains after YCC NR. XNR reduces this
+remaining noise.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -673,6 +1531,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstPhotographyWhiteBalanceMode"></a><h3>enum GstPhotographyWhiteBalanceMode</h3>
+<p>Modes for white balance control.</p>
 <div class="refsect3">
 <a name="GstPhotographyWhiteBalanceMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -684,48 +1543,67 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-WB-MODE-AUTO:CAPS"></a>GST_PHOTOGRAPHY_WB_MODE_AUTO</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Choose white balance mode automatically</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-WB-MODE-DAYLIGHT:CAPS"></a>GST_PHOTOGRAPHY_WB_MODE_DAYLIGHT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for daylight conditions</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-WB-MODE-CLOUDY:CAPS"></a>GST_PHOTOGRAPHY_WB_MODE_CLOUDY</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for cloudy conditions</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-WB-MODE-SUNSET:CAPS"></a>GST_PHOTOGRAPHY_WB_MODE_SUNSET</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for sunset conditions</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-WB-MODE-TUNGSTEN:CAPS"></a>GST_PHOTOGRAPHY_WB_MODE_TUNGSTEN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for tungsten lighting</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-WB-MODE-FLUORESCENT:CAPS"></a>GST_PHOTOGRAPHY_WB_MODE_FLUORESCENT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for fluorescent lighting</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-WB-MODE-MANUAL:CAPS"></a>GST_PHOTOGRAPHY_WB_MODE_MANUAL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Disable automatic white balance adjustment
+and keep current values.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-WB-MODE-WARM-FLUORESCENT:CAPS"></a>GST_PHOTOGRAPHY_WB_MODE_WARM_FLUORESCENT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for warm fluorescent lighting (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-WB-MODE-SHADE:CAPS"></a>GST_PHOTOGRAPHY_WB_MODE_SHADE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for shade lighting (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -734,6 +1612,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstPhotographyColorToneMode"></a><h3>enum GstPhotographyColorToneMode</h3>
+<p>Modes for special color effects.</p>
 <div class="refsect3">
 <a name="GstPhotographyColorToneMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -745,83 +1624,115 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-NORMAL:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_NORMAL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>No effects</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-SEPIA:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_SEPIA</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Sepia</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-NEGATIVE:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_NEGATIVE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Negative</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-GRAYSCALE:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRAYSCALE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Grayscale</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-NATURAL:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_NATURAL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Natural</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-VIVID:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_VIVID</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Vivid</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-COLORSWAP:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_COLORSWAP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Colorswap</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-SOLARIZE:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_SOLARIZE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Solarize</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-OUT-OF-FOCUS:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_OUT_OF_FOCUS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Out of focus</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-SKY-BLUE:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKY_BLUE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Sky blue</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-GRASS-GREEN:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_GRASS_GREEN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Grass green</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-SKIN-WHITEN:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_SKIN_WHITEN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Skin whiten</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-POSTERIZE:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_POSTERIZE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Posterize (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-WHITEBOARD:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_WHITEBOARD</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Whiteboard (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-BLACKBOARD:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_BLACKBOARD</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Blackboard (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-COLOR-TONE-MODE-AQUA:CAPS"></a>GST_PHOTOGRAPHY_COLOR_TONE_MODE_AQUA</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Aqua (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -830,6 +1741,8 @@
 <hr>
 <div class="refsect2">
 <a name="GstPhotographySceneMode"></a><h3>enum GstPhotographySceneMode</h3>
+<p>Each mode contains preset <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> options in order to produce
+good capturing result in certain scene.</p>
 <div class="refsect3">
 <a name="GstPhotographySceneMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -841,93 +1754,135 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-MANUAL:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_MANUAL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Set individual options manually</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-CLOSEUP:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_CLOSEUP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for close objects</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-PORTRAIT:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_PORTRAIT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for portraits</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-LANDSCAPE:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_LANDSCAPE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for landscapes</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-SPORT:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_SPORT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for scene with fast motion</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-NIGHT:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_NIGHT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for night conditions</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-AUTO:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_AUTO</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Choose scene mode automatically</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-ACTION:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_ACTION</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Take photos of fast moving
+    objects (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-NIGHT-PORTRAIT:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_NIGHT_PORTRAIT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Take people pictures
+    at night (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-THEATRE:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_THEATRE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Take photos in a theater (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-BEACH:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_BEACH</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Take pictures on the beach (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-SNOW:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_SNOW</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Take pictures on the snow (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-SUNSET:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_SUNSET</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Take sunset photos (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-STEADY-PHOTO:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_STEADY_PHOTO</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Avoid blurry pictures
+    (for example, due to hand shake) (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-FIREWORKS:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_FIREWORKS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>For shooting firework
+    displays (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-PARTY:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_PARTY</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Take indoor low-light shot (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-CANDLELIGHT:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_CANDLELIGHT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Capture the naturally warm color
+    of scenes lit by candles (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SCENE-MODE-BARCODE:CAPS"></a>GST_PHOTOGRAPHY_SCENE_MODE_BARCODE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Applications are looking for
+    a barcode (Since 1.2)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -936,6 +1891,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstPhotographyFlashMode"></a><h3>enum GstPhotographyFlashMode</h3>
+<p>Modes for flash control.</p>
 <div class="refsect3">
 <a name="GstPhotographyFlashMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -947,28 +1903,40 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FLASH-MODE-AUTO:CAPS"></a>GST_PHOTOGRAPHY_FLASH_MODE_AUTO</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Fire flash automatically according to
+lighting conditions.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FLASH-MODE-OFF:CAPS"></a>GST_PHOTOGRAPHY_FLASH_MODE_OFF</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Never fire flash</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FLASH-MODE-ON:CAPS"></a>GST_PHOTOGRAPHY_FLASH_MODE_ON</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Always fire flash</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FLASH-MODE-FILL-IN:CAPS"></a>GST_PHOTOGRAPHY_FLASH_MODE_FILL_IN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Fill in flash</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FLASH-MODE-RED-EYE:CAPS"></a>GST_PHOTOGRAPHY_FLASH_MODE_RED_EYE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Flash mode for reducing chance of
+capturing red eyes</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -977,6 +1945,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstPhotographyFlickerReductionMode"></a><h3>enum GstPhotographyFlickerReductionMode</h3>
+<p>Reduce flicker in video caused by light source fluctuation.</p>
 <div class="refsect3">
 <a name="GstPhotographyFlickerReductionMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -988,23 +1957,31 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FLICKER-REDUCTION-OFF:CAPS"></a>GST_PHOTOGRAPHY_FLICKER_REDUCTION_OFF</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Disable flicker reduction</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FLICKER-REDUCTION-50HZ:CAPS"></a>GST_PHOTOGRAPHY_FLICKER_REDUCTION_50HZ</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>50Hz flicker reduction</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FLICKER-REDUCTION-60HZ:CAPS"></a>GST_PHOTOGRAPHY_FLICKER_REDUCTION_60HZ</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>60Hz flicker reduction</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FLICKER-REDUCTION-AUTO:CAPS"></a>GST_PHOTOGRAPHY_FLICKER_REDUCTION_AUTO</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Choose mode automatically</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1013,6 +1990,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstPhotographyFocusMode"></a><h3>enum GstPhotographyFocusMode</h3>
+<p>Choose mode for focusing algorithm.</p>
 <div class="refsect3">
 <a name="GstPhotographyFocusMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1024,48 +2002,70 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-MODE-AUTO:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_MODE_AUTO</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Choose focus mode automatically</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-MODE-MACRO:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_MODE_MACRO</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for focusing objects close to lens</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-MODE-PORTRAIT:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_MODE_PORTRAIT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for portraits</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-MODE-INFINITY:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_MODE_INFINITY</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for landscapes and far away objects</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-MODE-HYPERFOCAL:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_MODE_HYPERFOCAL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Mode for maximum depth of field, keeping
+focus acceptable both in infinify and as close objects as possible</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-MODE-EXTENDED:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_MODE_EXTENDED</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Extended focus mode</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-MODE-CONTINUOUS-NORMAL:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_NORMAL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Continuous autofocus mode</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-MODE-CONTINUOUS-EXTENDED:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_MODE_CONTINUOUS_EXTENDED</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Extended continuous
+autofocus mode</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-MODE-MANUAL:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_MODE_MANUAL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Disable automatic focusing
+and keep current value. <span class="type">“lens-focus”</span> property can
+be used to change focus manually.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1074,6 +2074,8 @@
 <hr>
 <div class="refsect2">
 <a name="GstPhotographyFocusStatus"></a><h3>enum GstPhotographyFocusStatus</h3>
+<p>Status of the focusing operation, used in <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-AUTOFOCUS-DONE:CAPS" title="GST_PHOTOGRAPHY_AUTOFOCUS_DONE"><span class="type">GST_PHOTOGRAPHY_AUTOFOCUS_DONE</span></a>
+message.</p>
 <div class="refsect3">
 <a name="GstPhotographyFocusStatus.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1085,23 +2087,31 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-STATUS-NONE:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_STATUS_NONE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>No status available</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-STATUS-RUNNING:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_STATUS_RUNNING</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Focusing is ongoing</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-STATUS-FAIL:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_STATUS_FAIL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Focusing failed</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-FOCUS-STATUS-SUCCESS:CAPS"></a>GST_PHOTOGRAPHY_FOCUS_STATUS_SUCCESS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Focusing succeeded</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1110,6 +2120,8 @@
 <hr>
 <div class="refsect2">
 <a name="GstPhotographyCaps"></a><h3>enum GstPhotographyCaps</h3>
+<p>Bitmask that indicates which <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotography" title="GstPhotography"><span class="type">GstPhotography</span></a> interface features an instance
+supports.</p>
 <div class="refsect3">
 <a name="GstPhotographyCaps.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1206,6 +2218,8 @@
 <hr>
 <div class="refsect2">
 <a name="GstPhotographyShakeRisk"></a><h3>enum GstPhotographyShakeRisk</h3>
+<p>Risk level of captured image becoming "shaken" due to camera movement and
+too long exposure time. Used in <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GST-PHOTOGRAPHY-SHAKE-RISK:CAPS" title="GST_PHOTOGRAPHY_SHAKE_RISK"><span class="type">GST_PHOTOGRAPHY_SHAKE_RISK</span></a> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="type">GstMessage</span></a>.</p>
 <div class="refsect3">
 <a name="GstPhotographyShakeRisk.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -1217,18 +2231,24 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SHAKE-RISK-LOW:CAPS"></a>GST_PHOTOGRAPHY_SHAKE_RISK_LOW</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Low risk</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SHAKE-RISK-MEDIUM:CAPS"></a>GST_PHOTOGRAPHY_SHAKE_RISK_MEDIUM</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Medium risk</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PHOTOGRAPHY-SHAKE-RISK-HIGH:CAPS"></a>GST_PHOTOGRAPHY_SHAKE_RISK_HIGH</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>High risk</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1239,12 +2259,48 @@
 <a name="GST-PHOTOGRAPHY-AUTOFOCUS-DONE:CAPS"></a><h3>GST_PHOTOGRAPHY_AUTOFOCUS_DONE</h3>
 <pre class="programlisting">#define GST_PHOTOGRAPHY_AUTOFOCUS_DONE "autofocus-done"
 </pre>
+<p>Name of custom GstMessage that will be posted to <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a> when autofocusing
+is complete.
+This message contains following fields:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem"><p>
+  <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyFocusStatus" title="enum GstPhotographyFocusStatus"><span class="type">GstPhotographyFocusStatus</span></a>
+  <code class="classname">"status"</code>:
+  Tells if focusing succeeded or failed.
+  </p></li>
+<li class="listitem"><p>
+  <a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-INT:CAPS"><span class="type">G_TYPE_INT</span></a>
+  <code class="classname">"focus-window-rows"</code>:
+  Tells number of focus matrix rows.
+  </p></li>
+<li class="listitem"><p>
+  <a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-INT:CAPS"><span class="type">G_TYPE_INT</span></a>
+  <code class="classname">"focus-window-columns"</code>:
+  Tells number of focus matrix columns.
+  </p></li>
+<li class="listitem"><p>
+  <a href="/usr/share/gtk-doc/html/gobjectgobject-Type-Information.html#G-TYPE-INT:CAPS"><span class="type">G_TYPE_INT</span></a>
+  <code class="classname">"focus-window-mask"</code>:
+  Bitmask containing rows x columns bits which mark the focus points in the
+  focus matrix. Lowest bit (LSB) always represents the top-left corner of the
+  focus matrix. This field is only valid when focusing status is SUCCESS.
+  </p></li>
+</ul></div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-PHOTOGRAPHY-SHAKE-RISK:CAPS"></a><h3>GST_PHOTOGRAPHY_SHAKE_RISK</h3>
 <pre class="programlisting">#define GST_PHOTOGRAPHY_SHAKE_RISK "shake-risk"
 </pre>
+<p>Name of custom GstMessage that is posted to <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a> during autofocusing
+process. It is posted if there is change in the risk of captured image
+becoming "shaken" due to camera movement and too long exposure time.</p>
+<p>This message contains following fields:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>
+  <a class="link" href="gst-plugins-bad-libs-GstPhotography.html#GstPhotographyShakeRisk" title="enum GstPhotographyShakeRisk"><span class="type">GstPhotographyShakeRisk</span></a>
+  <code class="classname">"status"</code>:
+  Tells risk level of capturing shaken image.
+  </p></li></ul></div>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html
index 8421f95..6000c20 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregator.html
@@ -27,7 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-GstVideoAggregator.top_of_page"></a>GstVideoAggregator</span></h2>
-<p>GstVideoAggregator</p>
+<p>GstVideoAggregator — Base class for video aggregators</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -52,6 +52,13 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstVideoAggregator.description"></a><h2>Description</h2>
+<p>VideoAggregator can accept AYUV, ARGB and BGRA video streams. For each of the requested
+sink pads it will compare the incoming geometry and framerate to define the
+output parameters. Indeed output video frames will have the geometry of the
+biggest incoming video stream and the framerate of the fastest incoming one.</p>
+<p>VideoAggregator will do colorspace conversion.</p>
+<p>Zorder for each input stream can be configured on the
+<a class="link" href="gst-plugins-bad-libs-GstVideoAggregatorPad.html#GstVideoAggregatorPad" title="struct GstVideoAggregatorPad"><span class="type">GstVideoAggregatorPad</span></a>.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-GstVideoAggregator.functions_details"></a><h2>Functions</h2>
@@ -68,6 +75,29 @@
   GstVideoInfo info;
 };
 </pre>
+<div class="refsect3">
+<a name="GstVideoAggregator.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-bad-libs-GstAggregator.html#GstAggregator" title="struct GstAggregator"><span class="type">GstAggregator</span></a> <em class="structfield"><code><a name="GstVideoAggregator.aggregator"></a>aggregator</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstVideoAggregator.info"></a>info</code></em>;</p></td>
+<td class="struct_member_description"><p>The <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> representing the currently set
+srcpad caps.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -92,6 +122,71 @@
   GstCaps           *sink_non_alpha_caps;
 };
 </pre>
+<div class="refsect3">
+<a name="GstVideoAggregatorClass.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="GstVideoAggregatorClass.update-caps"></a>update_caps</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Lets subclasses update the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> representing
+the src pad caps before usage.  Return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to indicate failure.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.fixate-caps"></a>fixate_caps</code></em> ()</p></td>
+<td class="struct_member_description"><p>Fixate and return the src pad caps provided.  The function takes
+ownership of <em class="parameter"><code>caps</code></em>
+and returns a fixated version of
+<em class="parameter"><code>caps</code></em>
+. <em class="parameter"><code>caps</code></em>
+is not guaranteed to be writable.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.aggregate-frames"></a>aggregate_frames</code></em> ()</p></td>
+<td class="struct_member_description"><p>Lets subclasses aggregate frames that are ready. Subclasses
+should iterate the GstElement.sinkpads and use the already
+mapped <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoFrame"><span class="type">GstVideoFrame</span></a> from GstVideoAggregatorPad.aggregated_frame
+or directly use the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> from GstVideoAggregatorPad.buffer
+if it needs to map the buffer in a special way. The result of the
+aggregation should land in <em class="parameter"><code>outbuffer</code></em>
+.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.get-output-buffer"></a>get_output_buffer</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Lets subclasses provide a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a> to be used as <em class="parameter"><code>outbuffer</code></em>
+of
+the <span class="type">aggregate_frames</span> vmethod.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.negotiated-caps"></a>negotiated_caps</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Notifies subclasses what caps format has been negotiated</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><em class="structfield"><code><a name="GstVideoAggregatorClass.find-best-format"></a>find_best_format</code></em> ()</p></td>
+<td class="struct_member_description"><p>Optional.
+Lets subclasses decide of the best common format to use.</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="GstVideoAggregatorClass.sink-non-alpha-caps"></a>sink_non_alpha_caps</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
index 3494b6b..035f1c4 100644
--- a/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
+++ b/docs/libs/html/gst-plugins-bad-libs-GstVideoAggregatorPad.html
@@ -82,6 +82,56 @@
   gboolean ignore_eos;
 };
 </pre>
+<div class="refsect3">
+<a name="GstVideoAggregatorPad.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-bad-libs-GstAggregatorPad.html#GstAggregatorPad" title="struct GstAggregatorPad"><span class="type">GstAggregatorPad</span></a> <em class="structfield"><code><a name="GstVideoAggregatorPad.parent"></a>parent</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstVideoAggregatorPad.info"></a>info</code></em>;</p></td>
+<td class="struct_member_description"><p>The <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> currently set on the pad</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="GstVideoAggregatorPad.buffer"></a>buffer</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> <em class="structfield"><code><a name="GstVideoAggregatorPad.buffer-vinfo"></a>buffer_vinfo</code></em>;</p></td>
+<td class="struct_member_description"><p>The <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoInfo"><span class="type">GstVideoInfo</span></a> representing the type contained
+in <em class="parameter"><code>buffer</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/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoFrame"><span class="type">GstVideoFrame</span></a> *<em class="structfield"><code><a name="GstVideoAggregatorPad.aggregated-frame"></a>aggregated_frame</code></em>;</p></td>
+<td class="struct_member_description"><p>The <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoFrame"><span class="type">GstVideoFrame</span></a> ready to be used for aggregation
+inside the aggregate_frames vmethod.</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="GstVideoAggregatorPad.zorder"></a>zorder</code></em>;</p></td>
+<td class="struct_member_description"><p>The zorder of this pad</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="GstVideoAggregatorPad.ignore-eos"></a>ignore_eos</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -102,6 +152,15 @@
   gpointer          _gst_reserved[GST_PADDING_LARGE];
 };
 </pre>
+<p><em class="parameter"><code>set_info</code></em>
+: Lets subclass set a converter on the pad,
+                right after a new format has been negotiated.
+<em class="parameter"><code>prepare_frame</code></em>
+: Prepare the frame from the pad buffer (if any)
+                and sets it to <em class="parameter"><code>aggregated_frame</code></em>
+
+<em class="parameter"><code>clean_frame</code></em>
+:   clean the frame previously prepared in prepare_frame</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-gst-isdb-descriptor.html b/docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html
similarity index 80%
rename from docs/libs/html/gst-plugins-bad-libs-gst-isdb-descriptor.html
rename to docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html
index e2d8660..3e9c157 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gst-isdb-descriptor.html
+++ b/docs/libs/html/gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html
@@ -2,11 +2,11 @@
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>gst-isdb-descriptor: GStreamer Bad Plugins 1.0 Library Reference Manual</title>
+<title>ISDB variants of MPEG-TS descriptors: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="mpegts.html" title="Mpeg TS helper library">
-<link rel="prev" href="gst-plugins-bad-libs-gst-dvb-descriptor.html" title="gst-dvb-descriptor">
+<link rel="prev" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html" title="DVB variants of MPEG-TS descriptors">
 <link rel="next" href="tools.html" title="Useful elements">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -15,24 +15,24 @@
 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
 <td width="100%" align="left" class="shortcuts">
 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gst-isdb-descriptor.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.description" class="shortcut">Description</a></span>
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-libs-gst-dvb-descriptor.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="tools.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
-<a name="gst-plugins-bad-libs-gst-isdb-descriptor"></a><div class="titlepage"></div>
+<a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors"></a><div class="titlepage"></div>
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gst-isdb-descriptor.top_of_page"></a>gst-isdb-descriptor</span></h2>
-<p>gst-isdb-descriptor</p>
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.top_of_page"></a>ISDB variants of MPEG-TS descriptors</span></h2>
+<p>ISDB variants of MPEG-TS descriptors — Descriptors for the various ISDB specifications</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-isdb-descriptor.other"></a><h2>Types and Values</h2>
+<a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
 <col width="150px" class="name">
@@ -40,21 +40,29 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-isdb-descriptor.html#GstMpegtsISDBDescriptorType" title="enum GstMpegtsISDBDescriptorType">GstMpegtsISDBDescriptorType</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html#GstMpegtsISDBDescriptorType" title="enum GstMpegtsISDBDescriptorType">GstMpegtsISDBDescriptorType</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-isdb-descriptor.description"></a><h2>Description</h2>
+<a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;gst/mpegts/mpegts.h&gt;
+</pre>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-isdb-descriptor.functions_details"></a><h2>Functions</h2>
+<a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.functions_details"></a><h2>Functions</h2>
 <p></p>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-isdb-descriptor.other_details"></a><h2>Types and Values</h2>
+<a name="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstMpegtsISDBDescriptorType"></a><h3>enum GstMpegtsISDBDescriptorType</h3>
+<p>These values correspond to the registered descriptor type from
+the various ISDB specifications.</p>
+<p>Consult the relevant specifications for more details.</p>
 <div class="refsect3">
 <a name="GstMpegtsISDBDescriptorType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
diff --git a/docs/libs/html/gst-plugins-bad-libs-Mpeg-ts-helper-library.html b/docs/libs/html/gst-plugins-bad-libs-Mpeg-ts-helper-library.html
new file mode 100644
index 0000000..c50a0c3
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-Mpeg-ts-helper-library.html
@@ -0,0 +1,76 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Mpeg-ts helper library: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
+<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
+<link rel="prev" href="mpegts.html" title="Mpeg TS helper library">
+<link rel="next" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html" title="Base MPEG-TS sections">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-Mpeg-ts-helper-library.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="mpegts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-libs-Mpeg-ts-helper-library"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-Mpeg-ts-helper-library.top_of_page"></a>Mpeg-ts helper library</span></h2>
+<p>Mpeg-ts helper library — Mpeg-ts helper library for plugins and applications</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Mpeg-ts-helper-library.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody><tr>
+<td class="function_type">
+<span class="returnvalue">void</span>
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html#gst-mpegts-initialize" title="gst_mpegts_initialize ()">gst_mpegts_initialize</a> <span class="c_punctuation">()</span>
+</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Mpeg-ts-helper-library.includes"></a><h2>Includes</h2>
+<pre class="synopsis">#include &lt;gst/mpegts/mpegts.h&gt;
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Mpeg-ts-helper-library.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Mpeg-ts-helper-library.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="gst-mpegts-initialize"></a><h3>gst_mpegts_initialize ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_mpegts_initialize (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Initializes the MPEG-TS helper library. Must be called before any
+usage.</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-Mpeg-ts-helper-library.other_details"></a><h2>Types and Values</h2>
+</div>
+</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/gst-plugins-bad-libs-OpenGL-Formats.html b/docs/libs/html/gst-plugins-bad-libs-OpenGL-Formats.html
index 66ebd42..6f9ce8b 100644
--- a/docs/libs/html/gst-plugins-bad-libs-OpenGL-Formats.html
+++ b/docs/libs/html/gst-plugins-bad-libs-OpenGL-Formats.html
@@ -169,18 +169,87 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_gl_format_type_n_bytes (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</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> type</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-format-type-n-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>format</p></td>
+<td class="parameter_description"><p>the OpenGL format, <code class="literal">GL_RGBA</code>, <code class="literal">GL_LUMINANCE</code>, etc</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>the OpenGL type, <code class="literal">GL_UNSIGNED_BYTE</code>, <code class="literal">GL_FLOAT</code>, etc</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-format-type-n-bytes.returns"></a><h4>Returns</h4>
+<p> the number of bytes the specified <em class="parameter"><code>format</code></em>
+, <em class="parameter"><code>type</code></em>
+combination takes
+per pixel</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-texture-type-n-bytes"></a><h3>gst_gl_texture_type_n_bytes ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_gl_texture_type_n_bytes (<em class="parameter"><code><span class="type">GstVideoGLTextureType</span> tex_format</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-texture-type-n-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>tex_format</p></td>
+<td class="parameter_description"><p>a <span class="type">GstVideoGLTextureType</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-texture-type-n-bytes.returns"></a><h4>Returns</h4>
+<p> the number of bytes <em class="parameter"><code>tex_format</code></em>
+used per pixel</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-format-from-gl-texture-type"></a><h3>gst_gl_format_from_gl_texture_type ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_gl_format_from_gl_texture_type (<em class="parameter"><code><span class="type">GstVideoGLTextureType</span> tex_format</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-format-from-gl-texture-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>tex_format</p></td>
+<td class="parameter_description"><p>a <span class="type">GstVideoGLTextureType</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-format-from-gl-texture-type.returns"></a><h4>Returns</h4>
+<p> the OpenGL format specified by <em class="parameter"><code>tex_format</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -189,6 +258,40 @@
 gst_gl_texture_type_from_format (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoFormat"><span class="type">GstVideoFormat</span></a> v_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> plane</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-texture-type-from-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>v_format</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoFormat"><span class="type">GstVideoFormat</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>plane</p></td>
+<td class="parameter_description"><p>the plane number (starting from 0)</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-texture-type-from-format.returns"></a><h4>Returns</h4>
+<p> the <span class="type">GstVideoGLTextureType</span> for the specified <em class="parameter"><code>format</code></em>
+and <em class="parameter"><code>plane</code></em>
+that can be allocated using <em class="parameter"><code>context</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -198,6 +301,41 @@
                                (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</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> type</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-sized-gl-format-from-gl-format-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>format</p></td>
+<td class="parameter_description"><p>an OpenGL format, <code class="literal">GL_RGBA</code>, <code class="literal">GL_LUMINANCE</code>, etc</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p>an OpenGL type, <code class="literal">GL_UNSIGNED_BYTE</code>, <code class="literal">GL_FLOAT</code>, etc</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-sized-gl-format-from-gl-format-type.returns"></a><h4>Returns</h4>
+<p> the sized internal format specified by <em class="parameter"><code>format</code></em>
+and <em class="parameter"><code>type</code></em>
+that can
+be used in <em class="parameter"><code>context</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -210,18 +348,81 @@
 <a name="gst-gl-texture-target-to-string"></a><h3>gst_gl_texture_target_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_gl_texture_target_to_string (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-texture-target-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>str</p></td>
+<td class="parameter_description"><p>a string equivalant to one of the GST_GL_TEXTURE_TARGET_*_STR values</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-texture-target-to-string.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> represented by <em class="parameter"><code>str</code></em>
+or
+<a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-NONE:CAPS"><code class="literal">GST_GL_TEXTURE_TARGET_NONE</code></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-texture-target-to-gl"></a><h3>gst_gl_texture_target_to_gl ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
 gst_gl_texture_target_to_gl (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-texture-target-to-gl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-texture-target-to-gl.returns"></a><h4>Returns</h4>
+<p> the OpenGL value for binding the <em class="parameter"><code>target</code></em>
+with <code class="function">glBindTexture()</code> and
+similar functions or 0</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-texture-target-from-gl"></a><h3>gst_gl_texture_target_from_gl ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="returnvalue">GstGLTextureTarget</span></a>
 gst_gl_texture_target_from_gl (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> target</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-texture-target-from-gl.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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>an OpenGL texture binding target</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-texture-target-from-gl.returns"></a><h4>Returns</h4>
+<p> the <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> that's equiavalant to <em class="parameter"><code>target</code></em>
+or
+<a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-NONE:CAPS"><code class="literal">GST_GL_TEXTURE_TARGET_NONE</code></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -229,6 +430,27 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_gl_texture_target_to_buffer_pool_option
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-texture-target-to-buffer-pool-option.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-texture-target-to-buffer-pool-option.returns"></a><h4>Returns</h4>
+<p> a string representing the <em class="parameter"><code>GstBufferPoolOption</code></em>
+specified by <em class="parameter"><code>target</code></em>
+</p>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -246,63 +468,78 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-TEXTURE-TARGET-NONE:CAPS"></a>GST_GL_TEXTURE_TARGET_NONE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>no texture target</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-TEXTURE-TARGET-2D:CAPS"></a>GST_GL_TEXTURE_TARGET_2D</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>2D texture target</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-TEXTURE-TARGET-RECTANGLE:CAPS"></a>GST_GL_TEXTURE_TARGET_RECTANGLE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>rectangle texture target</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-TEXTURE-TARGET-EXTERNAL-OES:CAPS"></a>GST_GL_TEXTURE_TARGET_EXTERNAL_OES</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>external oes texture target</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-GL-TEXTURE-TARGET-2D-STR:CAPS"></a><h3>GST_GL_TEXTURE_TARGET_2D_STR</h3>
 <pre class="programlisting">#define GST_GL_TEXTURE_TARGET_2D_STR "2D"
 </pre>
+<p>String used for <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-2D:CAPS"><code class="literal">GST_GL_TEXTURE_TARGET_2D</code></a> in things like caps values</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-GL-TEXTURE-TARGET-RECTANGLE-STR:CAPS"></a><h3>GST_GL_TEXTURE_TARGET_RECTANGLE_STR</h3>
 <pre class="programlisting">#define GST_GL_TEXTURE_TARGET_RECTANGLE_STR "rectangle"
 </pre>
+<p>String used for <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-RECTANGLE:CAPS"><code class="literal">GST_GL_TEXTURE_TARGET_RECTANGLE</code></a> in things like caps values</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-GL-TEXTURE-TARGET-EXTERNAL-OES-STR:CAPS"></a><h3>GST_GL_TEXTURE_TARGET_EXTERNAL_OES_STR</h3>
 <pre class="programlisting">#define GST_GL_TEXTURE_TARGET_EXTERNAL_OES_STR "external-oes"
 </pre>
+<p>String used for <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-EXTERNAL-OES:CAPS"><code class="literal">GST_GL_TEXTURE_TARGET_EXTERNAL_OES</code></a> in things like caps values</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-BUFFER-POOL-OPTION-GL-TEXTURE-TARGET-2D:CAPS"></a><h3>GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_2D</h3>
 <pre class="programlisting">#define GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_2D "GstBufferPoolOptionGLTextureTarget2D"
 </pre>
+<p>String used for <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-2D:CAPS"><code class="literal">GST_GL_TEXTURE_TARGET_2D</code></a> as a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferPool.html#GstBufferPool-struct"><span class="type">GstBufferPool</span></a> pool option</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-BUFFER-POOL-OPTION-GL-TEXTURE-TARGET-RECTANGLE:CAPS"></a><h3>GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_RECTANGLE</h3>
 <pre class="programlisting">#define GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_RECTANGLE "GstBufferPoolOptionGLTextureTargetRectangle"
 </pre>
+<p>String used for <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GST-GL-TEXTURE-TARGET-RECTANGLE:CAPS"><code class="literal">GST_GL_TEXTURE_TARGET_RECTANGLE</code></a> as a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferPool.html#GstBufferPool-struct"><span class="type">GstBufferPool</span></a> pool option</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-BUFFER-POOL-OPTION-GL-TEXTURE-TARGET-EXTERNAL-OES:CAPS"></a><h3>GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_EXTERNAL_OES</h3>
 <pre class="programlisting">#define GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_EXTERNAL_OES "GstBufferPoolOptionGLTextureTargetExternalOES"
 </pre>
+<p>String used for <code class="literal">GST_GL_TEXTURE_TARGET_ESTERNAL_OES</code> as a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBufferPool.html#GstBufferPool-struct"><span class="type">GstBufferPool</span></a> pool option</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html b/docs/libs/html/gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html
index cd4ec70..3dea301 100644
--- a/docs/libs/html/gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html
+++ b/docs/libs/html/gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="gl.html" title="OpenGL Helper Library">
-<link rel="prev" href="gst-plugins-bad-libs-gstgldebug.html" title="OpenGL Debugging">
+<link rel="prev" href="gst-plugins-bad-libs-OpenGL-debugging.html" title="OpenGL debugging">
 <link rel="next" href="gst-plugins-bad-libs-OpenGL-Formats.html" title="OpenGL Formats">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -19,7 +19,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="gl.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-libs-gstgldebug.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-libs-OpenGL-debugging.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-bad-libs-OpenGL-Formats.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -41,30 +41,6 @@
 <tbody>
 <tr>
 <td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<span class="c_punctuation">(</span><a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GLCB:CAPS" title="GLCB ()">*GLCB</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<span class="c_punctuation">(</span><a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GLCB-V2:CAPS" title="GLCB_V2 ()">*GLCB_V2</a><span class="c_punctuation">)</span> <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">
-<span class="c_punctuation">(</span><a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#CDCB:CAPS" title="CDCB ()">*CDCB</a><span class="c_punctuation">)</span> <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">
@@ -84,30 +60,6 @@
 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
 <td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-gen-fbo" title="gst_gl_context_gen_fbo ()">gst_gl_context_gen_fbo</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-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-del-fbo" title="gst_gl_context_del_fbo ()">gst_gl_context_del_fbo</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">
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-use-fbo-v2" title="gst_gl_context_use_fbo_v2 ()">gst_gl_context_use_fbo_v2</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">
 <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-gen-shader" title="gst_gl_context_gen_shader ()">gst_gl_context_gen_shader</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
@@ -132,22 +84,6 @@
 <span class="returnvalue">void</span>
 </td>
 <td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-set-error" title="gst_gl_context_set_error ()">gst_gl_context_set_error</a> <span class="c_punctuation">()</span>
-</td>
-</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-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-get-error" title="gst_gl_context_get_error ()">gst_gl_context_get_error</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-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-context-clear-shader" title="gst_gl_context_clear_shader ()">gst_gl_context_clear_shader</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
@@ -219,48 +155,11 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.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>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GstGLDisplayProjection" title="enum GstGLDisplayProjection">GstGLDisplayProjection</a></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect1">
 <a name="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.description"></a><h2>Description</h2>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.functions_details"></a><h2>Functions</h2>
 <div class="refsect2">
-<a name="GLCB:CAPS"></a><h3>GLCB ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-<span class="c_punctuation">(</span>*GLCB<span class="c_punctuation">)</span> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> Param1</code></em>,
-         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> Param2</code></em>,
-         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> Param3</code></em>,
-         <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> stuff</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GLCB-V2:CAPS"></a><h3>GLCB_V2 ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-<span class="c_punctuation">(</span>*GLCB_V2<span class="c_punctuation">)</span> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> stuff</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="CDCB:CAPS"></a><h3>CDCB ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-<span class="c_punctuation">(</span>*CDCB<span class="c_punctuation">)</span> (<em class="parameter"><code><span class="type">GLuint</span> texture</code></em>,
-         <em class="parameter"><code><span class="type">GLuint</span> width</code></em>,
-         <em class="parameter"><code><span class="type">GLuint</span> height</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>);</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-gl-handle-set-context"></a><h3>gst_gl_handle_set_context ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_handle_set_context (<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>,
@@ -279,37 +178,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-gl-context-gen-fbo"></a><h3>gst_gl_context_gen_fbo ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_gl_context_gen_fbo (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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>,
-                        <em class="parameter"><code><span class="type">GLuint</span> *fbo</code></em>,
-                        <em class="parameter"><code><span class="type">GLuint</span> *depthbuffer</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-context-del-fbo"></a><h3>gst_gl_context_del_fbo ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_context_del_fbo (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
-                        <em class="parameter"><code><span class="type">GLuint</span> fbo</code></em>,
-                        <em class="parameter"><code><span class="type">GLuint</span> depth_buffer</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-context-use-fbo-v2"></a><h3>gst_gl_context_use_fbo_v2 ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_gl_context_use_fbo_v2 (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
-                           <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> texture_fbo_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> texture_fbo_height</code></em>,
-                           <em class="parameter"><code><span class="type">GLuint</span> fbo</code></em>,
-                           <em class="parameter"><code><span class="type">GLuint</span> depth_buffer</code></em>,
-                           <em class="parameter"><code><span class="type">GLuint</span> texture_fbo</code></em>,
-                           <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#GLCB-V2:CAPS" title="GLCB_V2 ()"><span class="type">GLCB_V2</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> stuff</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-gl-context-gen-shader"></a><h3>gst_gl_context_gen_shader ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_context_gen_shader (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
@@ -333,23 +201,26 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-gl-context-set-error"></a><h3>gst_gl_context_set_error ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_context_set_error (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>,
-                          <em class="parameter"><code>const <span class="type">char</span> *format</code></em>,
-                          <em class="parameter"><code>...</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-context-get-error"></a><h3>gst_gl_context_get_error ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-gst_gl_context_get_error (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
 <a name="gst-gl-context-clear-shader"></a><h3>gst_gl_context_clear_shader ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_context_clear_shader (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</code></em>);</pre>
+<p>Clear's the currently set shader from the GL state machine.</p>
+<p>Note: must be called in the GL thread.</p>
+<div class="refsect3">
+<a name="gst-gl-context-clear-shader.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -395,6 +266,27 @@
 <a name="gst-gl-value-get-texture-target-mask"></a><h3>gst_gl_value_get_texture_target_mask ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="returnvalue">GstGLTextureTarget</span></a>
 gst_gl_value_get_texture_target_mask (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gobjectgobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
+<p>See <a class="link" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html#gst-gl-value-set-texture-target-from-mask" title="gst_gl_value_set_texture_target_from_mask ()"><code class="function">gst_gl_value_set_texture_target_from_mask()</code></a> for what entails a mask</p>
+<div class="refsect3">
+<a name="gst-gl-value-get-texture-target-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>value</p></td>
+<td class="parameter_description"><p>an initialized <a href="/usr/share/gtk-doc/html/gobjectgobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of type G_TYPE_STRING</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-value-get-texture-target-mask.returns"></a><h4>Returns</h4>
+<p> the mask of <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a>'s in <em class="parameter"><code>value</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -402,6 +294,34 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_gl_value_set_texture_target (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobjectgobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
                                  <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-value-set-texture-target.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>an initialized <a href="/usr/share/gtk-doc/html/gobjectgobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of type G_TYPE_STRING</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a>'s</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-value-set-texture-target.returns"></a><h4>Returns</h4>
+<p> whether the <em class="parameter"><code>target</code></em>
+could be set on <em class="parameter"><code>value</code></em>
+</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -410,37 +330,42 @@
 gst_gl_value_set_texture_target_from_mask
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobjectgobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a> target_mask</code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="GstGLDisplayProjection"></a><h3>enum GstGLDisplayProjection</h3>
+<p>A mask is a bitwise OR of (1 &lt;&lt; target) where target is a valid
+<a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a></p>
 <div class="refsect3">
-<a name="GstGLDisplayProjection.members"></a><h4>Members</h4>
+<a name="gst-gl-value-set-texture-target-from-mask.parameters"></a><h4>Parameters</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">
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
 </colgroup>
 <tbody>
 <tr>
-<td class="enum_member_name"><p><a name="GST-GL-DISPLAY-PROJECTION-ORTHO2D:CAPS"></a>GST_GL_DISPLAY_PROJECTION_ORTHO2D</p></td>
-<td> </td>
-<td> </td>
+<td class="parameter_name"><p>value</p></td>
+<td class="parameter_description"><p>an uninitialized <a href="/usr/share/gtk-doc/html/gobjectgobject-Generic-values.html#GValue"><span class="type">GValue</span></a></p></td>
+<td class="parameter_annotations"> </td>
 </tr>
 <tr>
-<td class="enum_member_name"><p><a name="GST-GL-DISPLAY-PROJECTION-PERSPECTIVE:CAPS"></a>GST_GL_DISPLAY_PROJECTION_PERSPECTIVE</p></td>
-<td> </td>
-<td> </td>
+<td class="parameter_name"><p>target_mask</p></td>
+<td class="parameter_description"><p>a bitwise mask of <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a>'s</p></td>
+<td class="parameter_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
+<div class="refsect3">
+<a name="gst-gl-value-set-texture-target-from-mask.returns"></a><h4>Returns</h4>
+<p> whether the <em class="parameter"><code>target_mask</code></em>
+could be set on <em class="parameter"><code>value</code></em>
+</p>
 </div>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
 </body>
diff --git a/docs/libs/html/gst-plugins-bad-libs-OpenGL-debugging.html b/docs/libs/html/gst-plugins-bad-libs-OpenGL-debugging.html
new file mode 100644
index 0000000..ac96c27
--- /dev/null
+++ b/docs/libs/html/gst-plugins-bad-libs-OpenGL-debugging.html
@@ -0,0 +1,648 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>OpenGL debugging: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
+<link rel="up" href="gl.html" title="OpenGL Helper Library">
+<link rel="prev" href="gst-plugins-bad-libs-GstGLWindowX11.html" title="GstGLWindowX11">
+<link rel="next" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-libs-OpenGL-debugging.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="gl.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-libs-GstGLWindowX11.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-libs-OpenGL-debugging"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-OpenGL-debugging.top_of_page"></a>OpenGL debugging</span></h2>
+<p>OpenGL debugging — helper routines for dealing with OpenGL debugging</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-OpenGL-debugging.functions"></a><h2>Functions</h2>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="functions_return">
+<col class="functions_name">
+</colgroup>
+<tbody>
+<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">
+<span class="c_punctuation">(</span><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebugLogGetMessage" title="GstGLAsyncDebugLogGetMessage ()">*GstGLAsyncDebugLogGetMessage</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="function_type">
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="returnvalue">GstGLAsyncDebug</span></a> *
+</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-new" title="gst_gl_async_debug_new ()">gst_gl_async_debug_new</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-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-free" title="gst_gl_async_debug_free ()">gst_gl_async_debug_free</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-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-init" title="gst_gl_async_debug_init ()">gst_gl_async_debug_init</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-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-unset" title="gst_gl_async_debug_unset ()">gst_gl_async_debug_unset</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-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-freeze" title="gst_gl_async_debug_freeze ()">gst_gl_async_debug_freeze</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-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-thaw" title="gst_gl_async_debug_thaw ()">gst_gl_async_debug_thaw</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-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-output-log-msg" title="gst_gl_async_debug_output_log_msg ()">gst_gl_async_debug_output_log_msg</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-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-store-log-msg" title="gst_gl_async_debug_store_log_msg ()">gst_gl_async_debug_store_log_msg</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-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-store-log-msg-valist" title="gst_gl_async_debug_store_log_msg_valist ()">gst_gl_async_debug_store_log_msg_valist</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GST-GL-ASYNC-CAT-LEVEL-LOG-valist" title="GST_GL_ASYNC_CAT_LEVEL_LOG_valist()">GST_GL_ASYNC_CAT_LEVEL_LOG_valist</a><span class="c_punctuation">()</span>
+</td>
+</tr>
+<tr>
+<td class="define_keyword">#define</td>
+<td class="function_name">
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GST-GL-ASYNC-CAT-LEVEL-LOG:CAPS" title="GST_GL_ASYNC_CAT_LEVEL_LOG()">GST_GL_ASYNC_CAT_LEVEL_LOG</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-bad-libs-OpenGL-debugging.html#gst-gl-insert-debug-marker" title="gst_gl_insert_debug_marker ()">gst_gl_insert_debug_marker</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-OpenGL-debugging.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug">GstGLAsyncDebug</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-OpenGL-debugging.description"></a><h2>Description</h2>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-OpenGL-debugging.functions_details"></a><h2>Functions</h2>
+<div class="refsect2">
+<a name="GstGLAsyncDebugLogGetMessage"></a><h3>GstGLAsyncDebugLogGetMessage ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+<span class="c_punctuation">(</span>*GstGLAsyncDebugLogGetMessage<span class="c_punctuation">)</span> (<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>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-async-debug-new"></a><h3>gst_gl_async_debug_new ()</h3>
+<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="returnvalue">GstGLAsyncDebug</span></a> *
+gst_gl_async_debug_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Free with <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-free" title="gst_gl_async_debug_free ()"><code class="function">gst_gl_async_debug_free()</code></a></p>
+<div class="refsect3">
+<a name="gst-gl-async-debug-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>ad</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-async-debug-new.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a></p>
+</div>
+<p class="since">Since: 1.8</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-async-debug-free"></a><h3>gst_gl_async_debug_free ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_gl_async_debug_free (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
+<p>Frees <em class="parameter"><code>ad</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-gl-async-debug-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>ad</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-async-debug-init"></a><h3>gst_gl_async_debug_init ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_gl_async_debug_init (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
+<p>Initialize <em class="parameter"><code>ad</code></em>
+.  Intended for use with <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a>'s that are embedded
+in other structs.</p>
+<div class="refsect3">
+<a name="gst-gl-async-debug-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>ad</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-async-debug-unset"></a><h3>gst_gl_async_debug_unset ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_gl_async_debug_unset (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
+<p>Unset any dynamically allocated data.  Intended for use with
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a>'s that are embedded in other structs.</p>
+<div class="refsect3">
+<a name="gst-gl-async-debug-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>ad</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-async-debug-freeze"></a><h3>gst_gl_async_debug_freeze ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_gl_async_debug_freeze (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
+<p>freeze the debug output.  While frozen, any call to
+<a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-output-log-msg" title="gst_gl_async_debug_output_log_msg ()"><code class="function">gst_gl_async_debug_output_log_msg()</code></a> will not output any messages but
+subsequent calls to <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-store-log-msg" title="gst_gl_async_debug_store_log_msg ()"><code class="function">gst_gl_async_debug_store_log_msg()</code></a> will overwrite previous
+messages.</p>
+<div class="refsect3">
+<a name="gst-gl-async-debug-freeze.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>ad</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-async-debug-thaw"></a><h3>gst_gl_async_debug_thaw ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_gl_async_debug_thaw (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
+<p>unfreeze the debug output.  See <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-freeze" title="gst_gl_async_debug_freeze ()"><code class="function">gst_gl_async_debug_freeze()</code></a> for what freezing means</p>
+<div class="refsect3">
+<a name="gst-gl-async-debug-thaw.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>ad</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-async-debug-output-log-msg"></a><h3>gst_gl_async_debug_output_log_msg ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_gl_async_debug_output_log_msg (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
+<p>Outputs a previously stored debug message.</p>
+<div class="refsect3">
+<a name="gst-gl-async-debug-output-log-msg.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>ad</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> to store the message in</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-async-debug-store-log-msg"></a><h3>gst_gl_async_debug_store_log_msg ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_gl_async_debug_store_log_msg (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>,
+                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugCategory"><span class="type">GstDebugCategory</span></a> *cat</code></em>,
+                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugLevel"><span class="type">GstDebugLevel</span></a> level</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> *file</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> *function</code></em>,
+                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> line</code></em>,
+                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> *object</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>,
+                                  <em class="parameter"><code>...</code></em>);</pre>
+<p>Stores a debug message for later output by <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-output-log-msg" title="gst_gl_async_debug_output_log_msg ()"><code class="function">gst_gl_async_debug_output_log_msg()</code></a></p>
+<div class="refsect3">
+<a name="gst-gl-async-debug-store-log-msg.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>ad</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> to store the message in</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cat</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugCategory"><span class="type">GstDebugCategory</span></a> to output the message in</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>level</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-level.html#GstLevel-struct"><span class="type">GstLevel</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>file</p></td>
+<td class="parameter_description"><p>the file where the debug message originates from</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>function</p></td>
+<td class="parameter_description"><p>the function where the debug message originates from</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>line</p></td>
+<td class="parameter_description"><p>the line in <em class="parameter"><code>file</code></em>
+where the debug message originates from</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> to associate with the debug message. </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>a printf style format string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>...</p></td>
+<td class="parameter_description"><p>the list of arguments for <em class="parameter"><code>format</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-async-debug-store-log-msg-valist"></a><h3>gst_gl_async_debug_store_log_msg_valist ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_gl_async_debug_store_log_msg_valist
+                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugCategory"><span class="type">GstDebugCategory</span></a> *cat</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugLevel"><span class="type">GstDebugLevel</span></a> level</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> *file</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> *function</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> line</code></em>,
+                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> *object</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>,
+                                <em class="parameter"><code><span class="type">va_list</span> varargs</code></em>);</pre>
+<p>Stores a debug message for later output by <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#gst-gl-async-debug-output-log-msg" title="gst_gl_async_debug_output_log_msg ()"><code class="function">gst_gl_async_debug_output_log_msg()</code></a></p>
+<div class="refsect3">
+<a name="gst-gl-async-debug-store-log-msg-valist.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>ad</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> to store the message in</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cat</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugCategory"><span class="type">GstDebugCategory</span></a> to output the message in</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>level</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-level.html#GstLevel-struct"><span class="type">GstLevel</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>file</p></td>
+<td class="parameter_description"><p>the file where the debug message originates from</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>function</p></td>
+<td class="parameter_description"><p>the function where the debug message originates from</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>line</p></td>
+<td class="parameter_description"><p>the line in <em class="parameter"><code>file</code></em>
+where the debug message originates from</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> to associate with the debug message. </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>a printf style format string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>varargs</p></td>
+<td class="parameter_description"><p>the list of arguments for <em class="parameter"><code>format</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-GL-ASYNC-CAT-LEVEL-LOG-valist"></a><h3>GST_GL_ASYNC_CAT_LEVEL_LOG_valist()</h3>
+<pre class="programlisting">#define             GST_GL_ASYNC_CAT_LEVEL_LOG_valist(ad,cat,level,object,format,varargs)</pre>
+<p>Stores a debug message in <em class="parameter"><code>ad</code></em>
+ for later output</p>
+<div class="refsect3">
+<a name="GST-GL-ASYNC-CAT-LEVEL-LOG-valist.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>ad</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> to store the message in</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cat</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugCategory"><span class="type">GstDebugCategory</span></a> to output the message in</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>level</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-level.html#GstLevel-struct"><span class="type">GstLevel</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> to associate with the debug message. </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>a printf style format string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>varargs</p></td>
+<td class="parameter_description"><p>the list of arguments for <em class="parameter"><code>format</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GST-GL-ASYNC-CAT-LEVEL-LOG:CAPS"></a><h3>GST_GL_ASYNC_CAT_LEVEL_LOG()</h3>
+<pre class="programlisting">#define             GST_GL_ASYNC_CAT_LEVEL_LOG(ad,cat,level,object,format,...)</pre>
+<p>Stores a debug message in <em class="parameter"><code>ad</code></em>
+ for later output</p>
+<div class="refsect3">
+<a name="GST-GL-ASYNC-CAT-LEVEL-LOG.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>ad</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> to store the message in</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>cat</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugCategory"><span class="type">GstDebugCategory</span></a> to output the message in</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>level</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/gst-plugins-good-plugins-1.0gst-plugins-good-plugins-level.html#GstLevel-struct"><span class="type">GstLevel</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> to associate with the debug message. </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>a printf style format string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>...</p></td>
+<td class="parameter_description"><p>the list of arguments for <em class="parameter"><code>format</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-gl-insert-debug-marker"></a><h3>gst_gl_insert_debug_marker ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_gl_insert_debug_marker (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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>,
+                            <em class="parameter"><code>...</code></em>);</pre>
+<p>Inserts a marker into a GL debug stream.  Requires the 'gldebugmarker'
+debug category to be at least <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GST-LEVEL-FIXME:CAPS"><code class="literal">GST_LEVEL_FIXME</code></a>.</p>
+<div class="refsect3">
+<a name="gst-gl-insert-debug-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>context</p></td>
+<td class="parameter_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</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 printf-style format string</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>...</p></td>
+<td class="parameter_description"><p>arguments form <em class="parameter"><code>format</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-OpenGL-debugging.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLAsyncDebug"></a><h3>struct GstGLAsyncDebug</h3>
+<pre class="programlisting">struct GstGLAsyncDebug {
+};
+</pre>
+<p><a class="link" href="gst-plugins-bad-libs-OpenGL-debugging.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> an opaque structure and should only be accessed through the
+provided API.</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-OpenGL-debugging.see-also"></a><h2>See Also</h2>
+<p><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a></p>
+</div>
+</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/gst-plugins-bad-libs-gst-atsc-section.html b/docs/libs/html/gst-plugins-bad-libs-gst-atsc-section.html
deleted file mode 100644
index 9fdf2f6..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-gst-atsc-section.html
+++ /dev/null
@@ -1,475 +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>gst-atsc-section: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
-<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
-<link rel="prev" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">
-<link rel="next" href="gst-plugins-bad-libs-gst-dvb-section.html" title="gst-dvb-section">
-<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">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gst-atsc-section.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-libs-gst-dvb-section.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gst-plugins-bad-libs-gst-atsc-section"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gst-atsc-section.top_of_page"></a>gst-atsc-section</span></h2>
-<p>gst-atsc-section</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-atsc-section.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="returnvalue">GstMpegtsAtscVCT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-tvct" title="gst_mpegts_section_get_atsc_tvct ()">gst_mpegts_section_get_atsc_tvct</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="returnvalue">GstMpegtsAtscVCT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-cvct" title="gst_mpegts_section_get_atsc_cvct ()">gst_mpegts_section_get_atsc_cvct</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGT" title="struct GstMpegtsAtscMGT"><span class="returnvalue">GstMpegtsAtscMGT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-mgt" title="gst_mpegts_section_get_atsc_mgt ()">gst_mpegts_section_get_atsc_mgt</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <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-bad-libs-gst-atsc-section.html#gst-mpegts-atsc-string-segment-get-string" title="gst_mpegts_atsc_string_segment_get_string ()">gst_mpegts_atsc_string_segment_get_string</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscEIT" title="struct GstMpegtsAtscEIT"><span class="returnvalue">GstMpegtsAtscEIT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-eit" title="gst_mpegts_section_get_atsc_eit ()">gst_mpegts_section_get_atsc_eit</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscETT" title="struct GstMpegtsAtscETT"><span class="returnvalue">GstMpegtsAtscETT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-ett" title="gst_mpegts_section_get_atsc_ett ()">gst_mpegts_section_get_atsc_ett</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT"><span class="returnvalue">GstMpegtsAtscSTT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-section-get-atsc-stt" title="gst_mpegts_section_get_atsc_stt ()">gst_mpegts_section_get_atsc_stt</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="returnvalue">GstDateTime</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#gst-mpegts-atsc-stt-get-datetime-utc" title="gst_mpegts_atsc_stt_get_datetime_utc ()">gst_mpegts_atsc_stt_get_datetime_utc</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-atsc-section.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>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsSectionATSCTableID" title="enum GstMpegtsSectionATSCTableID">GstMpegtsSectionATSCTableID</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscVCTSource" title="struct GstMpegtsAtscVCTSource">GstMpegtsAtscVCTSource</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT">GstMpegtsAtscVCT</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGTTableType" title="enum GstMpegtsAtscMGTTableType">GstMpegtsAtscMGTTableType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGTTable" title="struct GstMpegtsAtscMGTTable">GstMpegtsAtscMGTTable</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGT" title="struct GstMpegtsAtscMGT">GstMpegtsAtscMGT</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMultString" title="struct GstMpegtsAtscMultString">GstMpegtsAtscMultString</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscEITEvent" title="struct GstMpegtsAtscEITEvent">GstMpegtsAtscEITEvent</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscEIT" title="struct GstMpegtsAtscEIT">GstMpegtsAtscEIT</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscETT" title="struct GstMpegtsAtscETT">GstMpegtsAtscETT</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT">GstMpegtsAtscSTT</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-atsc-section.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-atsc-section.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-atsc-tvct"></a><h3>gst_mpegts_section_get_atsc_tvct ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="returnvalue">GstMpegtsAtscVCT</span></a> *
-gst_mpegts_section_get_atsc_tvct (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-atsc-cvct"></a><h3>gst_mpegts_section_get_atsc_cvct ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscVCT" title="struct GstMpegtsAtscVCT"><span class="returnvalue">GstMpegtsAtscVCT</span></a> *
-gst_mpegts_section_get_atsc_cvct (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-atsc-mgt"></a><h3>gst_mpegts_section_get_atsc_mgt ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscMGT" title="struct GstMpegtsAtscMGT"><span class="returnvalue">GstMpegtsAtscMGT</span></a> *
-gst_mpegts_section_get_atsc_mgt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-atsc-string-segment-get-string"></a><h3>gst_mpegts_atsc_string_segment_get_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_mpegts_atsc_string_segment_get_string
-                               (<em class="parameter"><code><span class="type">GstMpegtsAtscStringSegment</span> *seg</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-atsc-eit"></a><h3>gst_mpegts_section_get_atsc_eit ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscEIT" title="struct GstMpegtsAtscEIT"><span class="returnvalue">GstMpegtsAtscEIT</span></a> *
-gst_mpegts_section_get_atsc_eit (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-atsc-ett"></a><h3>gst_mpegts_section_get_atsc_ett ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscETT" title="struct GstMpegtsAtscETT"><span class="returnvalue">GstMpegtsAtscETT</span></a> *
-gst_mpegts_section_get_atsc_ett (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-atsc-stt"></a><h3>gst_mpegts_section_get_atsc_stt ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT"><span class="returnvalue">GstMpegtsAtscSTT</span></a> *
-gst_mpegts_section_get_atsc_stt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-atsc-stt-get-datetime-utc"></a><h3>gst_mpegts_atsc_stt_get_datetime_utc ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="returnvalue">GstDateTime</span></a> *
-gst_mpegts_atsc_stt_get_datetime_utc (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-atsc-section.html#GstMpegtsAtscSTT" title="struct GstMpegtsAtscSTT"><span class="type">GstMpegtsAtscSTT</span></a> *stt</code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-atsc-section.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="GstMpegtsSectionATSCTableID"></a><h3>enum GstMpegtsSectionATSCTableID</h3>
-<div class="refsect3">
-<a name="GstMpegtsSectionATSCTableID.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-MTS-TABLE-ID-ATSC-MASTER-GUIDE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_MASTER_GUIDE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-TERRESTRIAL-VIRTUAL-CHANNEL:CAPS"></a>GST_MTS_TABLE_ID_ATSC_TERRESTRIAL_VIRTUAL_CHANNEL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-CABLE-VIRTUAL-CHANNEL:CAPS"></a>GST_MTS_TABLE_ID_ATSC_CABLE_VIRTUAL_CHANNEL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-RATING-REGION:CAPS"></a>GST_MTS_TABLE_ID_ATSC_RATING_REGION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-EVENT-INFORMATION:CAPS"></a>GST_MTS_TABLE_ID_ATSC_EVENT_INFORMATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-CHANNEL-OR-EVENT-EXTENDED-TEXT:CAPS"></a>GST_MTS_TABLE_ID_ATSC_CHANNEL_OR_EVENT_EXTENDED_TEXT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-SYSTEM-TIME:CAPS"></a>GST_MTS_TABLE_ID_ATSC_SYSTEM_TIME</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-DATA-EVENT:CAPS"></a>GST_MTS_TABLE_ID_ATSC_DATA_EVENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-DATA-SERVICE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_DATA_SERVICE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-NETWORK-RESOURCE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_NETWORK_RESOURCE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-LONG-TERM-SERVICE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_LONG_TERM_SERVICE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-DIRECTED-CHANNEL-CHANGE-SECTION-CODE:CAPS"></a>GST_MTS_TABLE_ID_ATSC_DIRECTED_CHANNEL_CHANGE_SECTION_CODE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-AGGREGATE-EVENT-INFORMATION:CAPS"></a>GST_MTS_TABLE_ID_ATSC_AGGREGATE_EVENT_INFORMATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-AGGREGATE-EXTENDED-TEXT:CAPS"></a>GST_MTS_TABLE_ID_ATSC_AGGREGATE_EXTENDED_TEXT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-AGGREGATE-DATA-EVENT:CAPS"></a>GST_MTS_TABLE_ID_ATSC_AGGREGATE_DATA_EVENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-ATSC-SATELLITE-VIRTUAL-CHANNEL:CAPS"></a>GST_MTS_TABLE_ID_ATSC_SATELLITE_VIRTUAL_CHANNEL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsAtscVCTSource"></a><h3>struct GstMpegtsAtscVCTSource</h3>
-<pre class="programlisting">struct GstMpegtsAtscVCTSource {
-  gchar    *short_name;
-  guint16   major_channel_number;
-  guint16   minor_channel_number;
-  guint8    modulation_mode;
-  guint32   carrier_frequency;
-  guint16   channel_TSID;
-  guint16   program_number;
-  /* FIXME: */
-  guint8    ETM_location;
-  gboolean  access_controlled;
-  gboolean  hidden;
-  gboolean  path_select; /* CVCT only - reserved bit in TVCT */
-  gboolean  out_of_band; /* CVCT only - reserved bit in TVCT */
-  gboolean  hide_guide;
-  /* FIXME: */
-  guint8    service_type;
-  guint16   source_id;
-  GPtrArray *descriptors;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsAtscVCT"></a><h3>struct GstMpegtsAtscVCT</h3>
-<pre class="programlisting">struct GstMpegtsAtscVCT {
-  guint16   transport_stream_id;
-  guint8    protocol_version;
-  GPtrArray *sources;
-  GPtrArray *descriptors;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsAtscMGTTableType"></a><h3>enum GstMpegtsAtscMGTTableType</h3>
-<div class="refsect3">
-<a name="GstMpegtsAtscMGTTableType.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-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT0:CAPS"></a>GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT0</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-ATSC-MGT-TABLE-TYPE-EIT127:CAPS"></a>GST_MPEGTS_ATSC_MGT_TABLE_TYPE_EIT127</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT0:CAPS"></a>GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT0</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-ATSC-MGT-TABLE-TYPE-ETT127:CAPS"></a>GST_MPEGTS_ATSC_MGT_TABLE_TYPE_ETT127</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsAtscMGTTable"></a><h3>struct GstMpegtsAtscMGTTable</h3>
-<pre class="programlisting">struct GstMpegtsAtscMGTTable {
-  guint16 table_type;
-  guint16 pid;
-  guint8  version_number;
-  guint32 number_bytes;
-  GPtrArray *descriptors;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsAtscMGT"></a><h3>struct GstMpegtsAtscMGT</h3>
-<pre class="programlisting">struct GstMpegtsAtscMGT {
-  guint8  protocol_version;
-  guint16 tables_defined;
-  GPtrArray *tables;
-  GPtrArray *descriptors;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsAtscMultString"></a><h3>struct GstMpegtsAtscMultString</h3>
-<pre class="programlisting">struct GstMpegtsAtscMultString {
-  gchar      iso_639_langcode[4];
-  GPtrArray *segments;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsAtscEITEvent"></a><h3>struct GstMpegtsAtscEITEvent</h3>
-<pre class="programlisting">struct GstMpegtsAtscEITEvent {
-  guint16        event_id;
-  guint32        start_time;
-  guint8         etm_location;
-  guint32        length_in_seconds;
-  GPtrArray     *titles;
-
-  GPtrArray *descriptors;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsAtscEIT"></a><h3>struct GstMpegtsAtscEIT</h3>
-<pre class="programlisting">struct GstMpegtsAtscEIT {
-  guint16        source_id;
-  guint8         protocol_version;
-
-  GPtrArray     *events;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsAtscETT"></a><h3>struct GstMpegtsAtscETT</h3>
-<pre class="programlisting">struct GstMpegtsAtscETT {
-  guint16        ett_table_id_extension;
-  guint16        protocol_version;
-  guint32        etm_id;
-
-  GPtrArray     *messages;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsAtscSTT"></a><h3>struct GstMpegtsAtscSTT</h3>
-<pre class="programlisting">struct GstMpegtsAtscSTT {
-  guint8     protocol_version;
-  guint32    system_time;
-  guint8     gps_utc_offset;
-  gboolean   ds_status;
-  guint8     ds_dayofmonth;
-  guint8     ds_hour;
-  GPtrArray *descriptors;
-
-  GstDateTime *utc_datetime;
-};
-</pre>
-</div>
-</div>
-</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/gst-plugins-bad-libs-gst-dvb-descriptor.html b/docs/libs/html/gst-plugins-bad-libs-gst-dvb-descriptor.html
deleted file mode 100644
index 2f5759c..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-gst-dvb-descriptor.html
+++ /dev/null
@@ -1,2425 +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>gst-dvb-descriptor: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
-<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
-<link rel="prev" href="gst-plugins-bad-libs-gst-atsc-descriptor.html" title="gst-atsc-descriptor">
-<link rel="next" href="gst-plugins-bad-libs-gst-isdb-descriptor.html" title="gst-isdb-descriptor">
-<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">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gst-dvb-descriptor.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gst-dvb-descriptor.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-libs-gst-atsc-descriptor.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-libs-gst-isdb-descriptor.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gst-plugins-bad-libs-gst-dvb-descriptor"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gst-dvb-descriptor.top_of_page"></a>gst-dvb-descriptor</span></h2>
-<p>gst-dvb-descriptor</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-descriptor.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-content" title="gst_mpegts_descriptor_parse_dvb_content ()">gst_mpegts_descriptor_parse_dvb_content</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-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-component-descriptor-free" title="gst_mpegts_dvb_component_descriptor_free ()">gst_mpegts_dvb_component_descriptor_free</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-component" title="gst_mpegts_descriptor_parse_dvb_component ()">gst_mpegts_descriptor_parse_dvb_component</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-bad-libs-gst-dvb-descriptor.html#gst-mpegts-extended-event-descriptor-free" title="gst_mpegts_extended_event_descriptor_free ()">gst_mpegts_extended_event_descriptor_free</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-extended-event" title="gst_mpegts_descriptor_parse_dvb_extended_event ()">gst_mpegts_descriptor_parse_dvb_extended_event</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-satellite-delivery-system" title="gst_mpegts_descriptor_parse_satellite_delivery_system ()">gst_mpegts_descriptor_parse_satellite_delivery_system</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-cable-delivery-system" title="gst_mpegts_descriptor_parse_cable_delivery_system ()">gst_mpegts_descriptor_parse_cable_delivery_system</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-terrestrial-delivery-system" title="gst_mpegts_descriptor_parse_terrestrial_delivery_system ()">gst_mpegts_descriptor_parse_terrestrial_delivery_system</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-bad-libs-gst-dvb-descriptor.html#gst-mpegts-t2-delivery-system-descriptor-free" title="gst_mpegts_t2_delivery_system_descriptor_free ()">gst_mpegts_t2_delivery_system_descriptor_free</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-t2-delivery-system" title="gst_mpegts_descriptor_parse_dvb_t2_delivery_system ()">gst_mpegts_descriptor_parse_dvb_t2_delivery_system</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-short-event" title="gst_mpegts_descriptor_parse_dvb_short_event ()">gst_mpegts_descriptor_parse_dvb_short_event</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-network-name" title="gst_mpegts_descriptor_parse_dvb_network_name ()">gst_mpegts_descriptor_parse_dvb_network_name</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-from-dvb-network-name" title="gst_mpegts_descriptor_from_dvb_network_name ()">gst_mpegts_descriptor_from_dvb_network_name</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-service" title="gst_mpegts_descriptor_parse_dvb_service ()">gst_mpegts_descriptor_parse_dvb_service</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-from-dvb-service" title="gst_mpegts_descriptor_from_dvb_service ()">gst_mpegts_descriptor_from_dvb_service</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-teletext-idx" title="gst_mpegts_descriptor_parse_dvb_teletext_idx ()">gst_mpegts_descriptor_parse_dvb_teletext_idx</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-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-teletext-nb" title="gst_mpegts_descriptor_parse_dvb_teletext_nb ()">gst_mpegts_descriptor_parse_dvb_teletext_nb</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-subtitling-idx" title="gst_mpegts_descriptor_parse_dvb_subtitling_idx ()">gst_mpegts_descriptor_parse_dvb_subtitling_idx</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-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-subtitling-nb" title="gst_mpegts_descriptor_parse_dvb_subtitling_nb ()">gst_mpegts_descriptor_parse_dvb_subtitling_nb</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-from-dvb-subtitling" title="gst_mpegts_descriptor_from_dvb_subtitling ()">gst_mpegts_descriptor_from_dvb_subtitling</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-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-free" title="gst_mpegts_dvb_linkage_descriptor_free ()">gst_mpegts_dvb_linkage_descriptor_free</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageMobileHandOver" title="struct GstMpegtsDVBLinkageMobileHandOver"><span class="returnvalue">GstMpegtsDVBLinkageMobileHandOver</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-get-mobile-hand-over" title="gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over ()">gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageEvent" title="struct GstMpegtsDVBLinkageEvent"><span class="returnvalue">GstMpegtsDVBLinkageEvent</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-get-event" title="gst_mpegts_dvb_linkage_descriptor_get_event ()">gst_mpegts_dvb_linkage_descriptor_get_event</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-linkage-descriptor-get-extended-event" title="gst_mpegts_dvb_linkage_descriptor_get_extended_event ()">gst_mpegts_dvb_linkage_descriptor_get_extended_event</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-linkage" title="gst_mpegts_descriptor_parse_dvb_linkage ()">gst_mpegts_descriptor_parse_dvb_linkage</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-private-data-specifier" title="gst_mpegts_descriptor_parse_dvb_private_data_specifier ()">gst_mpegts_descriptor_parse_dvb_private_data_specifier</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-frequency-list" title="gst_mpegts_descriptor_parse_dvb_frequency_list ()">gst_mpegts_descriptor_parse_dvb_frequency_list</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-bad-libs-gst-dvb-descriptor.html#gst-mpegts-dvb-data-broadcast-descriptor-free" title="gst_mpegts_dvb_data_broadcast_descriptor_free ()">gst_mpegts_dvb_data_broadcast_descriptor_free</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-data-broadcast" title="gst_mpegts_descriptor_parse_dvb_data_broadcast ()">gst_mpegts_descriptor_parse_dvb_data_broadcast</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-scrambling" title="gst_mpegts_descriptor_parse_dvb_scrambling ()">gst_mpegts_descriptor_parse_dvb_scrambling</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-data-broadcast-id" title="gst_mpegts_descriptor_parse_dvb_data_broadcast_id ()">gst_mpegts_descriptor_parse_dvb_data_broadcast_id</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-parental-rating" title="gst_mpegts_descriptor_parse_dvb_parental_rating ()">gst_mpegts_descriptor_parse_dvb_parental_rating</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-stream-identifier" title="gst_mpegts_descriptor_parse_dvb_stream_identifier ()">gst_mpegts_descriptor_parse_dvb_stream_identifier</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-ca-identifier" title="gst_mpegts_descriptor_parse_dvb_ca_identifier ()">gst_mpegts_descriptor_parse_dvb_ca_identifier</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-service-list" title="gst_mpegts_descriptor_parse_dvb_service_list ()">gst_mpegts_descriptor_parse_dvb_service_list</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-stuffing" title="gst_mpegts_descriptor_parse_dvb_stuffing ()">gst_mpegts_descriptor_parse_dvb_stuffing</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-bouquet-name" title="gst_mpegts_descriptor_parse_dvb_bouquet_name ()">gst_mpegts_descriptor_parse_dvb_bouquet_name</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-network-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_network_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_network_name</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-bouquet-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-service-name" title="gst_mpegts_descriptor_parse_dvb_multilingual_service_name ()">gst_mpegts_descriptor_parse_dvb_multilingual_service_name</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">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#gst-mpegts-descriptor-parse-dvb-multilingual-component" title="gst_mpegts_descriptor_parse_dvb_multilingual_component ()">gst_mpegts_descriptor_parse_dvb_multilingual_component</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-descriptor.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>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBDescriptorType" title="enum GstMpegtsDVBDescriptorType">GstMpegtsDVBDescriptorType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBExtendedDescriptorType" title="enum GstMpegtsDVBExtendedDescriptorType">GstMpegtsDVBExtendedDescriptorType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsContent" title="struct GstMpegtsContent">GstMpegtsContent</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsComponentDescriptor" title="struct GstMpegtsComponentDescriptor">GstMpegtsComponentDescriptor</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsExtendedEventItem" title="struct GstMpegtsExtendedEventItem">GstMpegtsExtendedEventItem</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsExtendedEventDescriptor" title="struct GstMpegtsExtendedEventDescriptor">GstMpegtsExtendedEventDescriptor</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatelliteDeliverySystemDescriptor" title="struct GstMpegtsSatelliteDeliverySystemDescriptor">GstMpegtsSatelliteDeliverySystemDescriptor</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBCodeRate" title="enum GstMpegtsDVBCodeRate">GstMpegtsDVBCodeRate</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsModulationType" title="enum GstMpegtsModulationType">GstMpegtsModulationType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatellitePolarizationType" title="enum GstMpegtsSatellitePolarizationType">GstMpegtsSatellitePolarizationType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatelliteRolloff" title="enum GstMpegtsSatelliteRolloff">GstMpegtsSatelliteRolloff</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsCableDeliverySystemDescriptor" title="struct GstMpegtsCableDeliverySystemDescriptor">GstMpegtsCableDeliverySystemDescriptor</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsCableOuterFECScheme" title="enum GstMpegtsCableOuterFECScheme">GstMpegtsCableOuterFECScheme</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialDeliverySystemDescriptor" title="struct GstMpegtsTerrestrialDeliverySystemDescriptor">GstMpegtsTerrestrialDeliverySystemDescriptor</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialTransmissionMode" title="enum GstMpegtsTerrestrialTransmissionMode">GstMpegtsTerrestrialTransmissionMode</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialGuardInterval" title="enum GstMpegtsTerrestrialGuardInterval">GstMpegtsTerrestrialGuardInterval</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialHierarchy" title="enum GstMpegtsTerrestrialHierarchy">GstMpegtsTerrestrialHierarchy</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemCellExtension" title="struct GstMpegtsT2DeliverySystemCellExtension">GstMpegtsT2DeliverySystemCellExtension</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemCell" title="struct GstMpegtsT2DeliverySystemCell">GstMpegtsT2DeliverySystemCell</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemDescriptor" title="struct GstMpegtsT2DeliverySystemDescriptor">GstMpegtsT2DeliverySystemDescriptor</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType">GstMpegtsDVBServiceType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBTeletextType" title="enum GstMpegtsDVBTeletextType">GstMpegtsDVBTeletextType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageType" title="enum GstMpegtsDVBLinkageType">GstMpegtsDVBLinkageType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageHandOverType" title="enum GstMpegtsDVBLinkageHandOverType">GstMpegtsDVBLinkageHandOverType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageMobileHandOver" title="struct GstMpegtsDVBLinkageMobileHandOver">GstMpegtsDVBLinkageMobileHandOver</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageEvent" title="struct GstMpegtsDVBLinkageEvent">GstMpegtsDVBLinkageEvent</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageExtendedEvent" title="struct GstMpegtsDVBLinkageExtendedEvent">GstMpegtsDVBLinkageExtendedEvent</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor">GstMpegtsDVBLinkageDescriptor</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDataBroadcastDescriptor" title="struct GstMpegtsDataBroadcastDescriptor">GstMpegtsDataBroadcastDescriptor</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBScramblingModeType" title="enum GstMpegtsDVBScramblingModeType">GstMpegtsDVBScramblingModeType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBParentalRatingItem" title="struct GstMpegtsDVBParentalRatingItem">GstMpegtsDVBParentalRatingItem</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBServiceListItem" title="struct GstMpegtsDVBServiceListItem">GstMpegtsDVBServiceListItem</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualNetworkNameItem" title="struct GstMpegtsDvbMultilingualNetworkNameItem">GstMpegtsDvbMultilingualNetworkNameItem</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualBouquetNameItem" title="struct GstMpegtsDvbMultilingualBouquetNameItem">GstMpegtsDvbMultilingualBouquetNameItem</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualServiceNameItem" title="struct GstMpegtsDvbMultilingualServiceNameItem">GstMpegtsDvbMultilingualServiceNameItem</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDvbMultilingualComponentItem" title="struct GstMpegtsDvbMultilingualComponentItem">GstMpegtsDvbMultilingualComponentItem</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-descriptor.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
-    <span class="lineart">├──</span> GstMpegtsCableOuterFECScheme
-    <span class="lineart">├──</span> GstMpegtsDVBCodeRate
-    <span class="lineart">├──</span> GstMpegtsDVBServiceType
-    <span class="lineart">├──</span> GstMpegtsModulationType
-    <span class="lineart">├──</span> GstMpegtsSatellitePolarizationType
-    <span class="lineart">╰──</span> GstMpegtsSatelliteRolloff
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-descriptor.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-descriptor.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-content"></a><h3>gst_mpegts_descriptor_parse_dvb_content ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_content
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **content</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-dvb-component-descriptor-free"></a><h3>gst_mpegts_dvb_component_descriptor_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_mpegts_dvb_component_descriptor_free
-                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsComponentDescriptor" title="struct GstMpegtsComponentDescriptor"><span class="type">GstMpegtsComponentDescriptor</span></a> *source</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-component"></a><h3>gst_mpegts_descriptor_parse_dvb_component ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_component
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsComponentDescriptor" title="struct GstMpegtsComponentDescriptor"><span class="type">GstMpegtsComponentDescriptor</span></a> **res</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-extended-event-descriptor-free"></a><h3>gst_mpegts_extended_event_descriptor_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_mpegts_extended_event_descriptor_free
-                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsExtendedEventDescriptor" title="struct GstMpegtsExtendedEventDescriptor"><span class="type">GstMpegtsExtendedEventDescriptor</span></a> *source</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-extended-event"></a><h3>gst_mpegts_descriptor_parse_dvb_extended_event ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_extended_event
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsExtendedEventDescriptor" title="struct GstMpegtsExtendedEventDescriptor"><span class="type">GstMpegtsExtendedEventDescriptor</span></a> **res</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-satellite-delivery-system"></a><h3>gst_mpegts_descriptor_parse_satellite_delivery_system ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_satellite_delivery_system
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatelliteDeliverySystemDescriptor" title="struct GstMpegtsSatelliteDeliverySystemDescriptor"><span class="type">GstMpegtsSatelliteDeliverySystemDescriptor</span></a> *res</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-cable-delivery-system"></a><h3>gst_mpegts_descriptor_parse_cable_delivery_system ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_cable_delivery_system
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsCableDeliverySystemDescriptor" title="struct GstMpegtsCableDeliverySystemDescriptor"><span class="type">GstMpegtsCableDeliverySystemDescriptor</span></a> *res</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-terrestrial-delivery-system"></a><h3>gst_mpegts_descriptor_parse_terrestrial_delivery_system ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_terrestrial_delivery_system
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsTerrestrialDeliverySystemDescriptor" title="struct GstMpegtsTerrestrialDeliverySystemDescriptor"><span class="type">GstMpegtsTerrestrialDeliverySystemDescriptor</span></a> *res</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-t2-delivery-system-descriptor-free"></a><h3>gst_mpegts_t2_delivery_system_descriptor_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_mpegts_t2_delivery_system_descriptor_free
-                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemDescriptor" title="struct GstMpegtsT2DeliverySystemDescriptor"><span class="type">GstMpegtsT2DeliverySystemDescriptor</span></a> *source</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-t2-delivery-system"></a><h3>gst_mpegts_descriptor_parse_dvb_t2_delivery_system ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_t2_delivery_system
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsT2DeliverySystemDescriptor" title="struct GstMpegtsT2DeliverySystemDescriptor"><span class="type">GstMpegtsT2DeliverySystemDescriptor</span></a> **res</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-short-event"></a><h3>gst_mpegts_descriptor_parse_dvb_short_event ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_short_event
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **language_code</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **event_name</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **text</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-network-name"></a><h3>gst_mpegts_descriptor_parse_dvb_network_name ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_network_name
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **name</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-from-dvb-network-name"></a><h3>gst_mpegts_descriptor_from_dvb_network_name ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-gst_mpegts_descriptor_from_dvb_network_name
-                               (<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>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-service"></a><h3>gst_mpegts_descriptor_parse_dvb_service ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_service
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType"><span class="type">GstMpegtsDVBServiceType</span></a> *service_type</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **service_name</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **provider_name</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-from-dvb-service"></a><h3>gst_mpegts_descriptor_from_dvb_service ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-gst_mpegts_descriptor_from_dvb_service
-                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType"><span class="type">GstMpegtsDVBServiceType</span></a> service_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> *service_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> *service_provider</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-teletext-idx"></a><h3>gst_mpegts_descriptor_parse_dvb_teletext_idx ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_teletext_idx
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</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 href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **language_code</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBTeletextType" title="enum GstMpegtsDVBTeletextType"><span class="type">GstMpegtsDVBTeletextType</span></a> *teletext_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> *magazine_number</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *page_number</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-teletext-nb"></a><h3>gst_mpegts_descriptor_parse_dvb_teletext_nb ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
-gst_mpegts_descriptor_parse_dvb_teletext_nb
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-subtitling-idx"></a><h3>gst_mpegts_descriptor_parse_dvb_subtitling_idx ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_subtitling_idx
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</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 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#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#guint16"><span class="type">guint16</span></a> *composition_page_id</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> *ancillary_page_id</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-subtitling-nb"></a><h3>gst_mpegts_descriptor_parse_dvb_subtitling_nb ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
-gst_mpegts_descriptor_parse_dvb_subtitling_nb
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-from-dvb-subtitling"></a><h3>gst_mpegts_descriptor_from_dvb_subtitling ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-gst_mpegts_descriptor_from_dvb_subtitling
-                               (<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></em>,
-                                <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#guint16"><span class="type">guint16</span></a> composition</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> ancillary</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-dvb-linkage-descriptor-free"></a><h3>gst_mpegts_dvb_linkage_descriptor_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_mpegts_dvb_linkage_descriptor_free
-                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *source</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-dvb-linkage-descriptor-get-mobile-hand-over"></a><h3>gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageMobileHandOver" title="struct GstMpegtsDVBLinkageMobileHandOver"><span class="returnvalue">GstMpegtsDVBLinkageMobileHandOver</span></a> *
-gst_mpegts_dvb_linkage_descriptor_get_mobile_hand_over
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *desc</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-dvb-linkage-descriptor-get-event"></a><h3>gst_mpegts_dvb_linkage_descriptor_get_event ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageEvent" title="struct GstMpegtsDVBLinkageEvent"><span class="returnvalue">GstMpegtsDVBLinkageEvent</span></a> *
-gst_mpegts_dvb_linkage_descriptor_get_event
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *desc</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-dvb-linkage-descriptor-get-extended-event"></a><h3>gst_mpegts_dvb_linkage_descriptor_get_extended_event ()</h3>
-<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-gst_mpegts_dvb_linkage_descriptor_get_extended_event
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> *desc</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-linkage"></a><h3>gst_mpegts_descriptor_parse_dvb_linkage ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_linkage
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBLinkageDescriptor" title="struct GstMpegtsDVBLinkageDescriptor"><span class="type">GstMpegtsDVBLinkageDescriptor</span></a> **res</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-private-data-specifier"></a><h3>gst_mpegts_descriptor_parse_dvb_private_data_specifier ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_private_data_specifier
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint32"><span class="type">guint32</span></a> *private_data_specifier</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **private_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> *length</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-frequency-list"></a><h3>gst_mpegts_descriptor_parse_dvb_frequency_list ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_frequency_list
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> *offset</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> **list</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-dvb-data-broadcast-descriptor-free"></a><h3>gst_mpegts_dvb_data_broadcast_descriptor_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_mpegts_dvb_data_broadcast_descriptor_free
-                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDataBroadcastDescriptor" title="struct GstMpegtsDataBroadcastDescriptor"><span class="type">GstMpegtsDataBroadcastDescriptor</span></a> *source</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-data-broadcast"></a><h3>gst_mpegts_descriptor_parse_dvb_data_broadcast ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_data_broadcast
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDataBroadcastDescriptor" title="struct GstMpegtsDataBroadcastDescriptor"><span class="type">GstMpegtsDataBroadcastDescriptor</span></a> **res</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-scrambling"></a><h3>gst_mpegts_descriptor_parse_dvb_scrambling ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_scrambling
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBScramblingModeType" title="enum GstMpegtsDVBScramblingModeType"><span class="type">GstMpegtsDVBScramblingModeType</span></a> *scrambling_mode</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-data-broadcast-id"></a><h3>gst_mpegts_descriptor_parse_dvb_data_broadcast_id ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_data_broadcast_id
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</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_broadcast_id</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **id_selector_bytes</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>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-parental-rating"></a><h3>gst_mpegts_descriptor_parse_dvb_parental_rating ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_parental_rating
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **rating</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-stream-identifier"></a><h3>gst_mpegts_descriptor_parse_dvb_stream_identifier ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_stream_identifier
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *component_tag</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-ca-identifier"></a><h3>gst_mpegts_descriptor_parse_dvb_ca_identifier ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_ca_identifier
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> **list</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-service-list"></a><h3>gst_mpegts_descriptor_parse_dvb_service_list ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_service_list
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **list</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-stuffing"></a><h3>gst_mpegts_descriptor_parse_dvb_stuffing ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_stuffing
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> **stuffing_bytes</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-bouquet-name"></a><h3>gst_mpegts_descriptor_parse_dvb_bouquet_name ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_bouquet_name
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> **bouquet_name</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-multilingual-network-name"></a><h3>gst_mpegts_descriptor_parse_dvb_multilingual_network_name ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_multilingual_network_name
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **network_name_items</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-multilingual-bouquet-name"></a><h3>gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_multilingual_bouquet_name
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **bouquet_name_items</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-multilingual-service-name"></a><h3>gst_mpegts_descriptor_parse_dvb_multilingual_service_name ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_multilingual_service_name
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **service_name_items</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-dvb-multilingual-component"></a><h3>gst_mpegts_descriptor_parse_dvb_multilingual_component ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_dvb_multilingual_component
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *component_tag</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> **component_description_items</code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-descriptor.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="GstMpegtsDVBDescriptorType"></a><h3>enum GstMpegtsDVBDescriptorType</h3>
-<div class="refsect3">
-<a name="GstMpegtsDVBDescriptorType.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-MTS-DESC-DVB-NETWORK-NAME:CAPS"></a>GST_MTS_DESC_DVB_NETWORK_NAME</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SERVICE-LIST:CAPS"></a>GST_MTS_DESC_DVB_SERVICE_LIST</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-STUFFING:CAPS"></a>GST_MTS_DESC_DVB_STUFFING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SATELLITE-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_DVB_SATELLITE_DELIVERY_SYSTEM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CABLE-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_DVB_CABLE_DELIVERY_SYSTEM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-VBI-DATA:CAPS"></a>GST_MTS_DESC_DVB_VBI_DATA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-VBI-TELETEXT:CAPS"></a>GST_MTS_DESC_DVB_VBI_TELETEXT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-BOUQUET-NAME:CAPS"></a>GST_MTS_DESC_DVB_BOUQUET_NAME</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SERVICE:CAPS"></a>GST_MTS_DESC_DVB_SERVICE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-COUNTRY-AVAILABILITY:CAPS"></a>GST_MTS_DESC_DVB_COUNTRY_AVAILABILITY</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-LINKAGE:CAPS"></a>GST_MTS_DESC_DVB_LINKAGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-NVOD-REFERENCE:CAPS"></a>GST_MTS_DESC_DVB_NVOD_REFERENCE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TIME-SHIFTED-SERVICE:CAPS"></a>GST_MTS_DESC_DVB_TIME_SHIFTED_SERVICE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SHORT-EVENT:CAPS"></a>GST_MTS_DESC_DVB_SHORT_EVENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-EXTENDED-EVENT:CAPS"></a>GST_MTS_DESC_DVB_EXTENDED_EVENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TIME-SHIFTED-EVENT:CAPS"></a>GST_MTS_DESC_DVB_TIME_SHIFTED_EVENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-COMPONENT:CAPS"></a>GST_MTS_DESC_DVB_COMPONENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-MOSAIC:CAPS"></a>GST_MTS_DESC_DVB_MOSAIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-STREAM-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DVB_STREAM_IDENTIFIER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CA-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DVB_CA_IDENTIFIER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CONTENT:CAPS"></a>GST_MTS_DESC_DVB_CONTENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-PARENTAL-RATING:CAPS"></a>GST_MTS_DESC_DVB_PARENTAL_RATING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TELETEXT:CAPS"></a>GST_MTS_DESC_DVB_TELETEXT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TELEPHONE:CAPS"></a>GST_MTS_DESC_DVB_TELEPHONE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-LOCAL-TIME-OFFSET:CAPS"></a>GST_MTS_DESC_DVB_LOCAL_TIME_OFFSET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SUBTITLING:CAPS"></a>GST_MTS_DESC_DVB_SUBTITLING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TERRESTRIAL-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_DVB_TERRESTRIAL_DELIVERY_SYSTEM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-MULTILINGUAL-NETWORK-NAME:CAPS"></a>GST_MTS_DESC_DVB_MULTILINGUAL_NETWORK_NAME</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-MULTILINGUAL-BOUQUET-NAME:CAPS"></a>GST_MTS_DESC_DVB_MULTILINGUAL_BOUQUET_NAME</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-MULTILINGUAL-SERVICE-NAME:CAPS"></a>GST_MTS_DESC_DVB_MULTILINGUAL_SERVICE_NAME</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-MULTILINGUAL-COMPONENT:CAPS"></a>GST_MTS_DESC_DVB_MULTILINGUAL_COMPONENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-PRIVATE-DATA-SPECIFIER:CAPS"></a>GST_MTS_DESC_DVB_PRIVATE_DATA_SPECIFIER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SERVICE-MOVE:CAPS"></a>GST_MTS_DESC_DVB_SERVICE_MOVE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SHORT-SMOOTHING-BUFFER:CAPS"></a>GST_MTS_DESC_DVB_SHORT_SMOOTHING_BUFFER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-FREQUENCY-LIST:CAPS"></a>GST_MTS_DESC_DVB_FREQUENCY_LIST</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-PARTIAL-TRANSPORT-STREAM:CAPS"></a>GST_MTS_DESC_DVB_PARTIAL_TRANSPORT_STREAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-DATA-BROADCAST:CAPS"></a>GST_MTS_DESC_DVB_DATA_BROADCAST</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SCRAMBLING:CAPS"></a>GST_MTS_DESC_DVB_SCRAMBLING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-DATA-BROADCAST-ID:CAPS"></a>GST_MTS_DESC_DVB_DATA_BROADCAST_ID</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TRANSPORT-STREAM:CAPS"></a>GST_MTS_DESC_DVB_TRANSPORT_STREAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-DSNG:CAPS"></a>GST_MTS_DESC_DVB_DSNG</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-PDC:CAPS"></a>GST_MTS_DESC_DVB_PDC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-AC3:CAPS"></a>GST_MTS_DESC_DVB_AC3</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-ANCILLARY-DATA:CAPS"></a>GST_MTS_DESC_DVB_ANCILLARY_DATA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CELL-LIST:CAPS"></a>GST_MTS_DESC_DVB_CELL_LIST</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CELL-FREQUENCY-LINK:CAPS"></a>GST_MTS_DESC_DVB_CELL_FREQUENCY_LINK</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-ANNOUNCEMENT-SUPPORT:CAPS"></a>GST_MTS_DESC_DVB_ANNOUNCEMENT_SUPPORT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-APPLICATION-SIGNALLING:CAPS"></a>GST_MTS_DESC_DVB_APPLICATION_SIGNALLING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-ADAPTATION-FIELD-DATA:CAPS"></a>GST_MTS_DESC_DVB_ADAPTATION_FIELD_DATA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SERVICE-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DVB_SERVICE_IDENTIFIER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-SERVICE-AVAILABILITY:CAPS"></a>GST_MTS_DESC_DVB_SERVICE_AVAILABILITY</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-DEFAULT-AUTHORITY:CAPS"></a>GST_MTS_DESC_DVB_DEFAULT_AUTHORITY</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-RELATED-CONTENT:CAPS"></a>GST_MTS_DESC_DVB_RELATED_CONTENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TVA-ID:CAPS"></a>GST_MTS_DESC_DVB_TVA_ID</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-CONTENT-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DVB_CONTENT_IDENTIFIER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-TIMESLICE-FEC-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DVB_TIMESLICE_FEC_IDENTIFIER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-ECM-REPETITION-RATE:CAPS"></a>GST_MTS_DESC_DVB_ECM_REPETITION_RATE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-S2-SATELLITE-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_DVB_S2_SATELLITE_DELIVERY_SYSTEM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-ENHANCED-AC3:CAPS"></a>GST_MTS_DESC_DVB_ENHANCED_AC3</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-DTS:CAPS"></a>GST_MTS_DESC_DVB_DTS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-AAC:CAPS"></a>GST_MTS_DESC_DVB_AAC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-XAIT-LOCATION:CAPS"></a>GST_MTS_DESC_DVB_XAIT_LOCATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-FTA-CONTENT-MANAGEMENT:CAPS"></a>GST_MTS_DESC_DVB_FTA_CONTENT_MANAGEMENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DVB-EXTENSION:CAPS"></a>GST_MTS_DESC_DVB_EXTENSION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBExtendedDescriptorType"></a><h3>enum GstMpegtsDVBExtendedDescriptorType</h3>
-<div class="refsect3">
-<a name="GstMpegtsDVBExtendedDescriptorType.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-MTS-DESC-EXT-DVB-IMAGE-ICON:CAPS"></a>GST_MTS_DESC_EXT_DVB_IMAGE_ICON</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-CPCM-DELIVERY-SIGNALLING:CAPS"></a>GST_MTS_DESC_EXT_DVB_CPCM_DELIVERY_SIGNALLING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-CP:CAPS"></a>GST_MTS_DESC_EXT_DVB_CP</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-CP-IDENTIFIER:CAPS"></a>GST_MTS_DESC_EXT_DVB_CP_IDENTIFIER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-T2-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_EXT_DVB_T2_DELIVERY_SYSTEM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-SH-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_EXT_DVB_SH_DELIVERY_SYSTEM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-SUPPLEMENTARY-AUDIO:CAPS"></a>GST_MTS_DESC_EXT_DVB_SUPPLEMENTARY_AUDIO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-NETWORK-CHANGE-NOTIFY:CAPS"></a>GST_MTS_DESC_EXT_DVB_NETWORK_CHANGE_NOTIFY</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-MESSAGE:CAPS"></a>GST_MTS_DESC_EXT_DVB_MESSAGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-TARGET-REGION:CAPS"></a>GST_MTS_DESC_EXT_DVB_TARGET_REGION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-TARGET-REGION-NAME:CAPS"></a>GST_MTS_DESC_EXT_DVB_TARGET_REGION_NAME</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-SERVICE-RELOCATED:CAPS"></a>GST_MTS_DESC_EXT_DVB_SERVICE_RELOCATED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-XAIT-PID:CAPS"></a>GST_MTS_DESC_EXT_DVB_XAIT_PID</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-C2-DELIVERY-SYSTEM:CAPS"></a>GST_MTS_DESC_EXT_DVB_C2_DELIVERY_SYSTEM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-DTS-HD-AUDIO-STREAM:CAPS"></a>GST_MTS_DESC_EXT_DVB_DTS_HD_AUDIO_STREAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-DTS-NEUTRAL:CAPS"></a>GST_MTS_DESC_EXT_DVB_DTS_NEUTRAL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-VIDEO-DEPTH-RANGE:CAPS"></a>GST_MTS_DESC_EXT_DVB_VIDEO_DEPTH_RANGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-T2MI:CAPS"></a>GST_MTS_DESC_EXT_DVB_T2MI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXT-DVB-URI-LINKAGE:CAPS"></a>GST_MTS_DESC_EXT_DVB_URI_LINKAGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsContent"></a><h3>struct GstMpegtsContent</h3>
-<pre class="programlisting">struct GstMpegtsContent {
-  GstMpegtsContentNibbleHi content_nibble_1;
-  guint8 content_nibble_2;
-  guint8 user_byte;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsComponentDescriptor"></a><h3>struct GstMpegtsComponentDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsComponentDescriptor {
-  guint8 stream_content;
-  guint8 component_type;
-  guint8 component_tag;
-  gchar  *language_code;
-  gchar  *text;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsExtendedEventItem"></a><h3>struct GstMpegtsExtendedEventItem</h3>
-<pre class="programlisting">struct GstMpegtsExtendedEventItem {
-  gchar *item_description;
-  gchar *item;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsExtendedEventDescriptor"></a><h3>struct GstMpegtsExtendedEventDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsExtendedEventDescriptor {
-  guint8 descriptor_number;
-  guint8 last_descriptor_number;
-  gchar  *language_code;
-  GPtrArray *items;
-  gchar *text;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsSatelliteDeliverySystemDescriptor"></a><h3>struct GstMpegtsSatelliteDeliverySystemDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsSatelliteDeliverySystemDescriptor {
-  guint32                            frequency;
-  gfloat                             orbital_position;
-  gboolean                           west_east; 
-  GstMpegtsSatellitePolarizationType polarization;
-
-  GstMpegtsSatelliteRolloff          roll_off;
-  gboolean                           modulation_system;
-  GstMpegtsModulationType            modulation_type;
-
-  guint32                            symbol_rate;
-  GstMpegtsDVBCodeRate               fec_inner;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBCodeRate"></a><h3>enum GstMpegtsDVBCodeRate</h3>
-<div class="refsect3">
-<a name="GstMpegtsDVBCodeRate.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-MPEGTS-FEC-NONE:CAPS"></a>GST_MPEGTS_FEC_NONE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-1-2:CAPS"></a>GST_MPEGTS_FEC_1_2</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-2-3:CAPS"></a>GST_MPEGTS_FEC_2_3</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-3-4:CAPS"></a>GST_MPEGTS_FEC_3_4</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-4-5:CAPS"></a>GST_MPEGTS_FEC_4_5</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-5-6:CAPS"></a>GST_MPEGTS_FEC_5_6</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-6-7:CAPS"></a>GST_MPEGTS_FEC_6_7</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-7-8:CAPS"></a>GST_MPEGTS_FEC_7_8</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-8-9:CAPS"></a>GST_MPEGTS_FEC_8_9</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-AUTO:CAPS"></a>GST_MPEGTS_FEC_AUTO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-3-5:CAPS"></a>GST_MPEGTS_FEC_3_5</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-9-10:CAPS"></a>GST_MPEGTS_FEC_9_10</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-FEC-2-5:CAPS"></a>GST_MPEGTS_FEC_2_5</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsModulationType"></a><h3>enum GstMpegtsModulationType</h3>
-<div class="refsect3">
-<a name="GstMpegtsModulationType.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-MPEGTS-MODULATION-QPSK:CAPS"></a>GST_MPEGTS_MODULATION_QPSK</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-16:CAPS"></a>GST_MPEGTS_MODULATION_QAM_16</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-32:CAPS"></a>GST_MPEGTS_MODULATION_QAM_32</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-64:CAPS"></a>GST_MPEGTS_MODULATION_QAM_64</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-128:CAPS"></a>GST_MPEGTS_MODULATION_QAM_128</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-256:CAPS"></a>GST_MPEGTS_MODULATION_QAM_256</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-AUTO:CAPS"></a>GST_MPEGTS_MODULATION_QAM_AUTO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-VSB-8:CAPS"></a>GST_MPEGTS_MODULATION_VSB_8</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-VSB-16:CAPS"></a>GST_MPEGTS_MODULATION_VSB_16</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-PSK-8:CAPS"></a>GST_MPEGTS_MODULATION_PSK_8</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-APSK-16:CAPS"></a>GST_MPEGTS_MODULATION_APSK_16</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-APSK-32:CAPS"></a>GST_MPEGTS_MODULATION_APSK_32</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-DQPSK:CAPS"></a>GST_MPEGTS_MODULATION_DQPSK</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-QAM-4-NR-:CAPS"></a>GST_MPEGTS_MODULATION_QAM_4_NR_</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-MODULATION-NONE:CAPS"></a>GST_MPEGTS_MODULATION_NONE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsSatellitePolarizationType"></a><h3>enum GstMpegtsSatellitePolarizationType</h3>
-<div class="refsect3">
-<a name="GstMpegtsSatellitePolarizationType.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-MPEGTS-POLARIZATION-LINEAR-HORIZONTAL:CAPS"></a>GST_MPEGTS_POLARIZATION_LINEAR_HORIZONTAL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-POLARIZATION-LINEAR-VERTICAL:CAPS"></a>GST_MPEGTS_POLARIZATION_LINEAR_VERTICAL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-POLARIZATION-CIRCULAR-LEFT:CAPS"></a>GST_MPEGTS_POLARIZATION_CIRCULAR_LEFT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-POLARIZATION-CIRCULAR-RIGHT:CAPS"></a>GST_MPEGTS_POLARIZATION_CIRCULAR_RIGHT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsSatelliteRolloff"></a><h3>enum GstMpegtsSatelliteRolloff</h3>
-<div class="refsect3">
-<a name="GstMpegtsSatelliteRolloff.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-MPEGTS-ROLLOFF-35:CAPS"></a>GST_MPEGTS_ROLLOFF_35</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-ROLLOFF-20:CAPS"></a>GST_MPEGTS_ROLLOFF_20</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-ROLLOFF-25:CAPS"></a>GST_MPEGTS_ROLLOFF_25</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-ROLLOFF-RESERVED:CAPS"></a>GST_MPEGTS_ROLLOFF_RESERVED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-ROLLOFF-AUTO:CAPS"></a>GST_MPEGTS_ROLLOFF_AUTO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsCableDeliverySystemDescriptor"></a><h3>struct GstMpegtsCableDeliverySystemDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsCableDeliverySystemDescriptor {
-  guint32                            frequency;
-  GstMpegtsCableOuterFECScheme       outer_fec;
-  GstMpegtsModulationType            modulation;
-
-  guint32                            symbol_rate;
-  GstMpegtsDVBCodeRate               fec_inner;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsCableOuterFECScheme"></a><h3>enum GstMpegtsCableOuterFECScheme</h3>
-<div class="refsect3">
-<a name="GstMpegtsCableOuterFECScheme.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-MPEGTS-CABLE-OUTER-FEC-UNDEFINED:CAPS"></a>GST_MPEGTS_CABLE_OUTER_FEC_UNDEFINED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-CABLE-OUTER-FEC-NONE:CAPS"></a>GST_MPEGTS_CABLE_OUTER_FEC_NONE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-CABLE-OUTER-FEC-RS-204-188:CAPS"></a>GST_MPEGTS_CABLE_OUTER_FEC_RS_204_188</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsTerrestrialDeliverySystemDescriptor"></a><h3>struct GstMpegtsTerrestrialDeliverySystemDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsTerrestrialDeliverySystemDescriptor {
-  guint32				frequency;
-  guint32				bandwidth;
-  gboolean				priority;
-  gboolean				time_slicing;
-  gboolean				mpe_fec;
-  GstMpegtsModulationType		constellation;
-  GstMpegtsTerrestrialHierarchy		hierarchy;
-  GstMpegtsDVBCodeRate			code_rate_hp;
-  GstMpegtsDVBCodeRate			code_rate_lp;
-  GstMpegtsTerrestrialGuardInterval guard_interval;
-  GstMpegtsTerrestrialTransmissionMode transmission_mode;
-  gboolean				other_frequency;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsTerrestrialTransmissionMode"></a><h3>enum GstMpegtsTerrestrialTransmissionMode</h3>
-<div class="refsect3">
-<a name="GstMpegtsTerrestrialTransmissionMode.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-MPEGTS-TRANSMISSION-MODE-2K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_2K</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-8K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_8K</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-AUTO:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_AUTO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-4K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_4K</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-1K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_1K</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-16K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_16K</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-32K:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_32K</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-C1:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_C1</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-TRANSMISSION-MODE-C3780:CAPS"></a>GST_MPEGTS_TRANSMISSION_MODE_C3780</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsTerrestrialGuardInterval"></a><h3>enum GstMpegtsTerrestrialGuardInterval</h3>
-<div class="refsect3">
-<a name="GstMpegtsTerrestrialGuardInterval.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-MPEGTS-GUARD-INTERVAL-1-32:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_1_32</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-1-16:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_1_16</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-1-8:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_1_8</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-1-4:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_1_4</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-AUTO:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_AUTO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-1-128:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_1_128</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-19-128:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_19_128</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-19-256:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_19_256</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-PN420:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_PN420</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-PN595:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_PN595</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-GUARD-INTERVAL-PN945:CAPS"></a>GST_MPEGTS_GUARD_INTERVAL_PN945</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsTerrestrialHierarchy"></a><h3>enum GstMpegtsTerrestrialHierarchy</h3>
-<div class="refsect3">
-<a name="GstMpegtsTerrestrialHierarchy.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-MPEGTS-HIERARCHY-NONE:CAPS"></a>GST_MPEGTS_HIERARCHY_NONE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-HIERARCHY-1:CAPS"></a>GST_MPEGTS_HIERARCHY_1</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-HIERARCHY-2:CAPS"></a>GST_MPEGTS_HIERARCHY_2</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-HIERARCHY-4:CAPS"></a>GST_MPEGTS_HIERARCHY_4</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-HIERARCHY-AUTO:CAPS"></a>GST_MPEGTS_HIERARCHY_AUTO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsT2DeliverySystemCellExtension"></a><h3>struct GstMpegtsT2DeliverySystemCellExtension</h3>
-<pre class="programlisting">struct GstMpegtsT2DeliverySystemCellExtension {
-  guint8  cell_id_extension;
-  guint32 transposer_frequency;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsT2DeliverySystemCell"></a><h3>struct GstMpegtsT2DeliverySystemCell</h3>
-<pre class="programlisting">struct GstMpegtsT2DeliverySystemCell {
-  guint16      cell_id;
-  GArray       *centre_frequencies;
-  GPtrArray    *sub_cells;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsT2DeliverySystemDescriptor"></a><h3>struct GstMpegtsT2DeliverySystemDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsT2DeliverySystemDescriptor {
-  guint8                                plp_id;
-  guint16                               t2_system_id;
-  /* FIXME: */
-  guint8                                siso_miso;
-  guint32                               bandwidth;
-  GstMpegtsTerrestrialGuardInterval     guard_interval;
-  GstMpegtsTerrestrialTransmissionMode  transmission_mode;
-  gboolean                              other_frequency;
-  gboolean                              tfs;
-  GPtrArray                             *cells;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBServiceType"></a><h3>enum GstMpegtsDVBServiceType</h3>
-<div class="refsect3">
-<a name="GstMpegtsDVBServiceType.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-DVB-SERVICE-RESERVED-00:CAPS"></a>GST_DVB_SERVICE_RESERVED_00</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-DIGITAL-TELEVISION:CAPS"></a>GST_DVB_SERVICE_DIGITAL_TELEVISION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-DIGITAL-RADIO-SOUND:CAPS"></a>GST_DVB_SERVICE_DIGITAL_RADIO_SOUND</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-TELETEXT:CAPS"></a>GST_DVB_SERVICE_TELETEXT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-NVOD-REFERENCE:CAPS"></a>GST_DVB_SERVICE_NVOD_REFERENCE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-NVOD-TIME-SHIFTED:CAPS"></a>GST_DVB_SERVICE_NVOD_TIME_SHIFTED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-MOSAIC:CAPS"></a>GST_DVB_SERVICE_MOSAIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-FM-RADIO:CAPS"></a>GST_DVB_SERVICE_FM_RADIO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-DVB-SRM:CAPS"></a>GST_DVB_SERVICE_DVB_SRM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-RESERVED-09:CAPS"></a>GST_DVB_SERVICE_RESERVED_09</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-DIGITAL-RADIO-SOUND:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_DIGITAL_RADIO_SOUND</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-MOSAIC:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_MOSAIC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-DATA-BROADCAST:CAPS"></a>GST_DVB_SERVICE_DATA_BROADCAST</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-RESERVED-0D-COMMON-INTERFACE:CAPS"></a>GST_DVB_SERVICE_RESERVED_0D_COMMON_INTERFACE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-RCS-MAP:CAPS"></a>GST_DVB_SERVICE_RCS_MAP</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-RCS-FLS:CAPS"></a>GST_DVB_SERVICE_RCS_FLS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-DVB-MHP:CAPS"></a>GST_DVB_SERVICE_DVB_MHP</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-MPEG2-HD-DIGITAL-TELEVISION:CAPS"></a>GST_DVB_SERVICE_MPEG2_HD_DIGITAL_TELEVISION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-SD-DIGITAL-TELEVISION:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_SD_DIGITAL_TELEVISION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-TIME-SHIFTED:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_TIME_SHIFTED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-SD-NVOD-REFERENCE:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_SD_NVOD_REFERENCE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-HD-DIGITAL-TELEVISION:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_HD_DIGITAL_TELEVISION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-TIME-SHIFTED:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_TIME_SHIFTED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-HD-NVOD-REFERENCE:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_HD_NVOD_REFERENCE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-DIGITAL-TELEVISION:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_DIGITAL_TELEVISION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-TIME-SHIFTED:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_TIME_SHIFTED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-ADVANCED-CODEC-STEREO-HD-NVOD-REFERENCE:CAPS"></a>GST_DVB_SERVICE_ADVANCED_CODEC_STEREO_HD_NVOD_REFERENCE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-DVB-SERVICE-RESERVED-FF:CAPS"></a>GST_DVB_SERVICE_RESERVED_FF</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBTeletextType"></a><h3>enum GstMpegtsDVBTeletextType</h3>
-<div class="refsect3">
-<a name="GstMpegtsDVBTeletextType.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="INITIAL-PAGE:CAPS"></a>INITIAL_PAGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="SUBTITLE-PAGE:CAPS"></a>SUBTITLE_PAGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="ADDITIONAL-INFO-PAGE:CAPS"></a>ADDITIONAL_INFO_PAGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="PROGRAMME-SCHEDULE-PAGE:CAPS"></a>PROGRAMME_SCHEDULE_PAGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="HEARING-IMPAIRED-PAGE:CAPS"></a>HEARING_IMPAIRED_PAGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBLinkageType"></a><h3>enum GstMpegtsDVBLinkageType</h3>
-<div class="refsect3">
-<a name="GstMpegtsDVBLinkageType.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-MPEGTS-DVB-LINKAGE-RESERVED-00:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_RESERVED_00</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-INFORMATION:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_INFORMATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-EPG:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_EPG</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-CA-REPLACEMENT:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_CA_REPLACEMENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-COMPLETE-SI:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_COMPLETE_SI</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-SERVICE-REPLACEMENT:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_SERVICE_REPLACEMENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-DATA-BROADCAST:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_DATA_BROADCAST</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-RCS-MAP:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_RCS_MAP</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-MOBILE-HAND-OVER:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_MOBILE_HAND_OVER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-SYSTEM-SOFTWARE-UPDATE:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_SYSTEM_SOFTWARE_UPDATE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-SSU:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_SSU</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-IP-MAC-NOTIFICATION:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_IP_MAC_NOTIFICATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-TS-CONTAINING-INT:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_TS_CONTAINING_INT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-EVENT:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_EVENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-EXTENDED-EVENT:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_EXTENDED_EVENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBLinkageHandOverType"></a><h3>enum GstMpegtsDVBLinkageHandOverType</h3>
-<div class="refsect3">
-<a name="GstMpegtsDVBLinkageHandOverType.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-MPEGTS-DVB-LINKAGE-HAND-OVER-RESERVED:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_HAND_OVER_RESERVED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-HAND-OVER-IDENTICAL:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_HAND_OVER_IDENTICAL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-HAND-OVER-LOCAL-VARIATION:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_HAND_OVER_LOCAL_VARIATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-LINKAGE-HAND-OVER-ASSOCIATED:CAPS"></a>GST_MPEGTS_DVB_LINKAGE_HAND_OVER_ASSOCIATED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBLinkageMobileHandOver"></a><h3>struct GstMpegtsDVBLinkageMobileHandOver</h3>
-<pre class="programlisting">struct GstMpegtsDVBLinkageMobileHandOver {
-  GstMpegtsDVBLinkageHandOverType hand_over_type;
-  /* 0 = NIT, 1 = SDT */
-  gboolean                        origin_type;
-  guint16                         network_id;
-  guint16                         initial_service_id;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBLinkageEvent"></a><h3>struct GstMpegtsDVBLinkageEvent</h3>
-<pre class="programlisting">struct GstMpegtsDVBLinkageEvent {
-  guint16  target_event_id;
-  gboolean target_listed;
-  gboolean event_simulcast;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBLinkageExtendedEvent"></a><h3>struct GstMpegtsDVBLinkageExtendedEvent</h3>
-<pre class="programlisting">struct GstMpegtsDVBLinkageExtendedEvent {
-  guint16        target_event_id;
-  gboolean       target_listed;
-  gboolean       event_simulcast;
-  /* FIXME: */
-  guint8         link_type;
-  /* FIXME: */
-  guint8         target_id_type;
-  gboolean       original_network_id_flag;
-  gboolean       service_id_flag;
-  /* if (target_id_type == 3) */
-  guint16        user_defined_id;
-  /* else */
-  guint16        target_transport_stream_id;
-  guint16        target_original_network_id;
-  guint16        target_service_id;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBLinkageDescriptor"></a><h3>struct GstMpegtsDVBLinkageDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsDVBLinkageDescriptor {
-  guint16                           transport_stream_id;
-  guint16                           original_network_id;
-  guint16                           service_id;
-  GstMpegtsDVBLinkageType           linkage_type;
-  guint8                            private_data_length;
-  guint8                            *private_data_bytes;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDataBroadcastDescriptor"></a><h3>struct GstMpegtsDataBroadcastDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsDataBroadcastDescriptor {
-  guint16     data_broadcast_id;
-  guint8      component_tag;
-  guint8      length;
-  guint8      *selector_bytes;
-  gchar       *language_code;
-  gchar       *text;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBScramblingModeType"></a><h3>enum GstMpegtsDVBScramblingModeType</h3>
-<div class="refsect3">
-<a name="GstMpegtsDVBScramblingModeType.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-MPEGTS-DVB-SCRAMBLING-MODE-RESERVED:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_RESERVED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA1:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA1</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA2:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA2</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-STANDARD:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_STANDARD</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-MINIMAL-ENHANCED:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_MINIMAL_ENHANCED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CSA3-FULL-ENHANCED:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CSA3_FULL_ENHANCED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-CISSA:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_CISSA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-0:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_0</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-DVB-SCRAMBLING-MODE-ATIS-F:CAPS"></a>GST_MPEGTS_DVB_SCRAMBLING_MODE_ATIS_F</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBParentalRatingItem"></a><h3>struct GstMpegtsDVBParentalRatingItem</h3>
-<pre class="programlisting">struct GstMpegtsDVBParentalRatingItem {
-  gchar  *country_code;
-  guint8 rating;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDVBServiceListItem"></a><h3>struct GstMpegtsDVBServiceListItem</h3>
-<pre class="programlisting">struct GstMpegtsDVBServiceListItem {
-  guint16                 service_id;
-  GstMpegtsDVBServiceType type;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDvbMultilingualNetworkNameItem"></a><h3>struct GstMpegtsDvbMultilingualNetworkNameItem</h3>
-<pre class="programlisting">struct GstMpegtsDvbMultilingualNetworkNameItem {
-  gchar *language_code;
-  gchar *network_name;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDvbMultilingualBouquetNameItem"></a><h3>struct GstMpegtsDvbMultilingualBouquetNameItem</h3>
-<pre class="programlisting">struct GstMpegtsDvbMultilingualBouquetNameItem {
-  gchar *language_code;
-  gchar *bouquet_name;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDvbMultilingualServiceNameItem"></a><h3>struct GstMpegtsDvbMultilingualServiceNameItem</h3>
-<pre class="programlisting">struct GstMpegtsDvbMultilingualServiceNameItem {
-  gchar *language_code;
-  gchar *provider_name;
-  gchar *service_name;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDvbMultilingualComponentItem"></a><h3>struct GstMpegtsDvbMultilingualComponentItem</h3>
-<pre class="programlisting">struct GstMpegtsDvbMultilingualComponentItem {
-  gchar *language_code;
-  gchar *description;
-};
-</pre>
-</div>
-</div>
-</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/gst-plugins-bad-libs-gst-dvb-section.html b/docs/libs/html/gst-plugins-bad-libs-gst-dvb-section.html
deleted file mode 100644
index aefbf64..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-gst-dvb-section.html
+++ /dev/null
@@ -1,647 +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>gst-dvb-section: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
-<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
-<link rel="prev" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">
-<link rel="next" href="gst-plugins-bad-libs-gst-atsc-descriptor.html" title="gst-atsc-descriptor">
-<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">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gst-dvb-section.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gst-dvb-section.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-libs-gst-atsc-section.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-libs-gst-atsc-descriptor.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gst-plugins-bad-libs-gst-dvb-section"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gst-dvb-section.top_of_page"></a>gst-dvb-section</span></h2>
-<p>gst-dvb-section</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-section.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="returnvalue">GstMpegtsNIT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-nit" title="gst_mpegts_section_get_nit ()">gst_mpegts_section_get_nit</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="returnvalue">GstMpegtsNIT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-nit-new" title="gst_mpegts_nit_new ()">gst_mpegts_nit_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNITStream" title="struct GstMpegtsNITStream"><span class="returnvalue">GstMpegtsNITStream</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-nit-stream-new" title="gst_mpegts_nit_stream_new ()">gst_mpegts_nit_stream_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-from-nit" title="gst_mpegts_section_from_nit ()">gst_mpegts_section_from_nit</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsBAT" title="struct GstMpegtsBAT"><span class="returnvalue">GstMpegtsBAT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-bat" title="gst_mpegts_section_get_bat ()">gst_mpegts_section_get_bat</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="returnvalue">GstMpegtsSDT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-sdt" title="gst_mpegts_section_get_sdt ()">gst_mpegts_section_get_sdt</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="returnvalue">GstMpegtsSDT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-sdt-new" title="gst_mpegts_sdt_new ()">gst_mpegts_sdt_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDTService" title="struct GstMpegtsSDTService"><span class="returnvalue">GstMpegtsSDTService</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-sdt-service-new" title="gst_mpegts_sdt_service_new ()">gst_mpegts_sdt_service_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-from-sdt" title="gst_mpegts_section_from_sdt ()">gst_mpegts_section_from_sdt</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsEIT" title="struct GstMpegtsEIT"><span class="returnvalue">GstMpegtsEIT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-eit" title="gst_mpegts_section_get_eit ()">gst_mpegts_section_get_eit</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="returnvalue">GstDateTime</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-tdt" title="gst_mpegts_section_get_tdt ()">gst_mpegts_section_get_tdt</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsTOT" title="struct GstMpegtsTOT"><span class="returnvalue">GstMpegtsTOT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#gst-mpegts-section-get-tot" title="gst_mpegts_section_get_tot ()">gst_mpegts_section_get_tot</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-section.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>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSectionDVBTableID" title="enum GstMpegtsSectionDVBTableID">GstMpegtsSectionDVBTableID</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNIT" title="struct GstMpegtsNIT">GstMpegtsNIT</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNITStream" title="struct GstMpegtsNITStream">GstMpegtsNITStream</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsBAT" title="struct GstMpegtsBAT">GstMpegtsBAT</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsBATStream" title="struct GstMpegtsBATStream">GstMpegtsBATStream</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDT" title="struct GstMpegtsSDT">GstMpegtsSDT</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDTService" title="struct GstMpegtsSDTService">GstMpegtsSDTService</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsEIT" title="struct GstMpegtsEIT">GstMpegtsEIT</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsEITEvent" title="struct GstMpegtsEITEvent">GstMpegtsEITEvent</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsRunningStatus" title="enum GstMpegtsRunningStatus">GstMpegtsRunningStatus</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsTOT" title="struct GstMpegtsTOT">GstMpegtsTOT</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-section.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
-    <span class="lineart">╰──</span> GstMpegtsRunningStatus
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-section.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-section.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-nit"></a><h3>gst_mpegts_section_get_nit ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="returnvalue">GstMpegtsNIT</span></a> *
-gst_mpegts_section_get_nit (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-nit-new"></a><h3>gst_mpegts_nit_new ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="returnvalue">GstMpegtsNIT</span></a> *
-gst_mpegts_nit_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-nit-stream-new"></a><h3>gst_mpegts_nit_stream_new ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNITStream" title="struct GstMpegtsNITStream"><span class="returnvalue">GstMpegtsNITStream</span></a> *
-gst_mpegts_nit_stream_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-from-nit"></a><h3>gst_mpegts_section_from_nit ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-gst_mpegts_section_from_nit (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsNIT" title="struct GstMpegtsNIT"><span class="type">GstMpegtsNIT</span></a> *nit</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-bat"></a><h3>gst_mpegts_section_get_bat ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsBAT" title="struct GstMpegtsBAT"><span class="returnvalue">GstMpegtsBAT</span></a> *
-gst_mpegts_section_get_bat (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-sdt"></a><h3>gst_mpegts_section_get_sdt ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="returnvalue">GstMpegtsSDT</span></a> *
-gst_mpegts_section_get_sdt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-sdt-new"></a><h3>gst_mpegts_sdt_new ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="returnvalue">GstMpegtsSDT</span></a> *
-gst_mpegts_sdt_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-sdt-service-new"></a><h3>gst_mpegts_sdt_service_new ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDTService" title="struct GstMpegtsSDTService"><span class="returnvalue">GstMpegtsSDTService</span></a> *
-gst_mpegts_sdt_service_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-from-sdt"></a><h3>gst_mpegts_section_from_sdt ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-gst_mpegts_section_from_sdt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsSDT" title="struct GstMpegtsSDT"><span class="type">GstMpegtsSDT</span></a> *sdt</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-eit"></a><h3>gst_mpegts_section_get_eit ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsEIT" title="struct GstMpegtsEIT"><span class="returnvalue">GstMpegtsEIT</span></a> *
-gst_mpegts_section_get_eit (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-tdt"></a><h3>gst_mpegts_section_get_tdt ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstDateTime.html#GstDateTime-struct"><span class="returnvalue">GstDateTime</span></a> *
-gst_mpegts_section_get_tdt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-tot"></a><h3>gst_mpegts_section_get_tot ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsTOT" title="struct GstMpegtsTOT"><span class="returnvalue">GstMpegtsTOT</span></a> *
-gst_mpegts_section_get_tot (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gst-dvb-section.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="GstMpegtsSectionDVBTableID"></a><h3>enum GstMpegtsSectionDVBTableID</h3>
-<div class="refsect3">
-<a name="GstMpegtsSectionDVBTableID.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-MTS-TABLE-ID-NETWORK-INFORMATION-ACTUAL-NETWORK:CAPS"></a>GST_MTS_TABLE_ID_NETWORK_INFORMATION_ACTUAL_NETWORK</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-NETWORK-INFORMATION-OTHER-NETWORK:CAPS"></a>GST_MTS_TABLE_ID_NETWORK_INFORMATION_OTHER_NETWORK</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-ACTUAL-TS:CAPS"></a>GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_ACTUAL_TS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-SERVICE-DESCRIPTION-OTHER-TS:CAPS"></a>GST_MTS_TABLE_ID_SERVICE_DESCRIPTION_OTHER_TS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-BOUQUET-ASSOCIATION:CAPS"></a>GST_MTS_TABLE_ID_BOUQUET_ASSOCIATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-PRESENT:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_PRESENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-PRESENT:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_PRESENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-1:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_1</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-ACTUAL-TS-SCHEDULE-N:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_ACTUAL_TS_SCHEDULE_N</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-1:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_1</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-EVENT-INFORMATION-OTHER-TS-SCHEDULE-N:CAPS"></a>GST_MTS_TABLE_ID_EVENT_INFORMATION_OTHER_TS_SCHEDULE_N</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TIME-DATE:CAPS"></a>GST_MTS_TABLE_ID_TIME_DATE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-RUNNING-STATUS:CAPS"></a>GST_MTS_TABLE_ID_RUNNING_STATUS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-STUFFING:CAPS"></a>GST_MTS_TABLE_ID_STUFFING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TIME-OFFSET:CAPS"></a>GST_MTS_TABLE_ID_TIME_OFFSET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-APPLICATION-INFORMATION-TABLE:CAPS"></a>GST_MTS_TABLE_ID_APPLICATION_INFORMATION_TABLE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CONTAINER:CAPS"></a>GST_MTS_TABLE_ID_CONTAINER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-RELATED-CONTENT:CAPS"></a>GST_MTS_TABLE_ID_RELATED_CONTENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CONTENT-IDENTIFIER:CAPS"></a>GST_MTS_TABLE_ID_CONTENT_IDENTIFIER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-MPE-FEC:CAPS"></a>GST_MTS_TABLE_ID_MPE_FEC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-RESOLUTION-NOTIFICATION:CAPS"></a>GST_MTS_TABLE_ID_RESOLUTION_NOTIFICATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-MPE-IFEC:CAPS"></a>GST_MTS_TABLE_ID_MPE_IFEC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DISCONTINUITY-INFORMATION:CAPS"></a>GST_MTS_TABLE_ID_DISCONTINUITY_INFORMATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-SELECTION-INFORMATION:CAPS"></a>GST_MTS_TABLE_ID_SELECTION_INFORMATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CA-MESSAGE-ECM-0:CAPS"></a>GST_MTS_TABLE_ID_CA_MESSAGE_ECM_0</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CA-MESSAGE-ECM-1:CAPS"></a>GST_MTS_TABLE_ID_CA_MESSAGE_ECM_1</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-1:CAPS"></a>GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_1</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CA-MESSAGE-SYSTEM-PRIVATE-N:CAPS"></a>GST_MTS_TABLE_ID_CA_MESSAGE_SYSTEM_PRIVATE_N</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-SCT:CAPS"></a>GST_MTS_TABLE_ID_SCT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-FCT:CAPS"></a>GST_MTS_TABLE_ID_FCT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TCT:CAPS"></a>GST_MTS_TABLE_ID_TCT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-SPT:CAPS"></a>GST_MTS_TABLE_ID_SPT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CMT:CAPS"></a>GST_MTS_TABLE_ID_CMT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TBTP:CAPS"></a>GST_MTS_TABLE_ID_TBTP</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-PCR-PACKET-PAYLOAD:CAPS"></a>GST_MTS_TABLE_ID_PCR_PACKET_PAYLOAD</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TRANSMISSION-MODE-SUPPORT-PAYLOAD:CAPS"></a>GST_MTS_TABLE_ID_TRANSMISSION_MODE_SUPPORT_PAYLOAD</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TIM:CAPS"></a>GST_MTS_TABLE_ID_TIM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-LL-FEC-PARITY-DATA-TABLE:CAPS"></a>GST_MTS_TABLE_ID_LL_FEC_PARITY_DATA_TABLE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsNIT"></a><h3>struct GstMpegtsNIT</h3>
-<pre class="programlisting">struct GstMpegtsNIT {
-  gboolean   actual_network;
-  guint16    network_id;
-
-  GPtrArray  *descriptors;
-
-  GPtrArray *streams;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsNITStream"></a><h3>struct GstMpegtsNITStream</h3>
-<pre class="programlisting">struct GstMpegtsNITStream {
-  guint16  transport_stream_id;
-  guint16  original_network_id;
-
-  GPtrArray  *descriptors;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsBAT"></a><h3>struct GstMpegtsBAT</h3>
-<pre class="programlisting">struct GstMpegtsBAT {
-  GPtrArray  *descriptors;
-
-  GPtrArray  *streams;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsBATStream"></a><h3>struct GstMpegtsBATStream</h3>
-<pre class="programlisting">struct GstMpegtsBATStream {
-  guint16   transport_stream_id;
-  guint16   original_network_id;
-
-  GPtrArray   *descriptors;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsSDT"></a><h3>struct GstMpegtsSDT</h3>
-<pre class="programlisting">struct GstMpegtsSDT {
-  guint16    original_network_id;
-  gboolean   actual_ts;
-  guint16    transport_stream_id;
-
-  GPtrArray *services;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsSDTService"></a><h3>struct GstMpegtsSDTService</h3>
-<pre class="programlisting">struct GstMpegtsSDTService {
-  guint16    service_id;
-
-  gboolean   EIT_schedule_flag;
-  gboolean   EIT_present_following_flag;
-  GstMpegtsRunningStatus running_status;
-  gboolean   free_CA_mode;
-
-  GPtrArray    *descriptors;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsEIT"></a><h3>struct GstMpegtsEIT</h3>
-<pre class="programlisting">struct GstMpegtsEIT {
-  guint16        transport_stream_id;
-  guint16        original_network_id;
-  guint8         segment_last_section_number;
-  guint8         last_table_id;
-
-  gboolean       actual_stream;
-  gboolean       present_following;
-
-  GPtrArray     *events;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsEITEvent"></a><h3>struct GstMpegtsEITEvent</h3>
-<pre class="programlisting">struct GstMpegtsEITEvent {
-  guint16      event_id;
-
-  GstDateTime *start_time;
-  guint32      duration;
-
-  GstMpegtsRunningStatus running_status;
-  gboolean     free_CA_mode;
-
-  GPtrArray   *descriptors;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsRunningStatus"></a><h3>enum GstMpegtsRunningStatus</h3>
-<div class="refsect3">
-<a name="GstMpegtsRunningStatus.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-MPEGTS-RUNNING-STATUS-UNDEFINED:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_UNDEFINED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-RUNNING-STATUS-NOT-RUNNING:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_NOT_RUNNING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-RUNNING-STATUS-STARTS-IN-FEW-SECONDS:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_STARTS_IN_FEW_SECONDS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-RUNNING-STATUS-PAUSING:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_PAUSING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-RUNNING-STATUS-RUNNING:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_RUNNING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-RUNNING-STATUS-OFF-AIR:CAPS"></a>GST_MPEGTS_RUNNING_STATUS_OFF_AIR</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsTOT"></a><h3>struct GstMpegtsTOT</h3>
-<pre class="programlisting">struct GstMpegtsTOT {
-  GstDateTime   *utc_time;
-
-  GPtrArray     *descriptors;
-};
-</pre>
-</div>
-</div>
-</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/gst-plugins-bad-libs-gstglbasememory.html b/docs/libs/html/gst-plugins-bad-libs-gstglbasememory.html
index d27bd36..46516e6 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstglbasememory.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstglbasememory.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstglbasememory.top_of_page"></a>GstGLBaseMemory</span></h2>
-<p>GstGLBaseMemory</p>
+<p>GstGLBaseMemory — memory subclass for GL buffers</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -271,6 +271,9 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-gstglbasememory.description"></a><h2>Description</h2>
+<p>GstGLBaseMemory is a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> subclass providing the basis of support
+for the mapping of GL buffers.</p>
+<p>Data is uploaded or downloaded from the GPU as is necessary.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-gstglbasememory.functions_details"></a><h2>Functions</h2>
@@ -279,12 +282,55 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 <span class="c_punctuation">(</span>*GstGLAllocationParamsCopyFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *src</code></em>,
                                   <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *dest</code></em>);</pre>
+<p>Copies the parameters from <em class="parameter"><code>src</code></em>
+ into <em class="parameter"><code>dest</code></em>
+.  The subclass must compose copy
+functions from the superclass.</p>
+<div class="refsect3">
+<a name="GstGLAllocationParamsCopyFunc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 source <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to copy from</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dest</p></td>
+<td class="parameter_description"><p>the source <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstGLAllocationParamsFreeFunc"></a><h3>GstGLAllocationParamsFreeFunc ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 <span class="c_punctuation">(</span>*GstGLAllocationParamsFreeFunc<span class="c_punctuation">)</span> (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> params</code></em>);</pre>
+<p>Free any dynamically allocated data.  The subclass must call the superclass'
+free.</p>
+<div class="refsect3">
+<a name="GstGLAllocationParamsFreeFunc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>params</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -302,24 +348,164 @@
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> gl_handle</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><em class="parameter"><code>notify</code></em>
+ will be called once for each allocated memory using these <em class="parameter"><code>params</code></em>
+
+when freeing the memory.</p>
+<div class="refsect3">
+<a name="gst-gl-allocation-params-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>params</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to initialize</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>struct_size</p></td>
+<td class="parameter_description"><p>the struct size of the implementation</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alloc_flags</p></td>
+<td class="parameter_description"><p>some alloc flags</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>copy</p></td>
+<td class="parameter_description"><p>a copy function</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>free</p></td>
+<td class="parameter_description"><p>a free function</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>context</p></td>
+<td class="parameter_description"><p> a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</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>alloc_size</p></td>
+<td class="parameter_description"><p>the number of bytes to allocate.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>alloc_params</p></td>
+<td class="parameter_description"><p> a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> to apply. </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>wrapped_data</p></td>
+<td class="parameter_description"><p> a sysmem data pointer to initialize the allocation with. </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>gl_handle</p></td>
+<td class="parameter_description"><p> a GL handle to initialize the allocation with. </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>user_data</p></td>
+<td class="parameter_description"><p> user data to call <em class="parameter"><code>notify</code></em>
+with. </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>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="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-gl-allocation-params-init.returns"></a><h4>Returns</h4>
+<p> whether the paramaters could be initialized</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-allocation-params-copy"></a><h3>gst_gl_allocation_params_copy ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="returnvalue">GstGLAllocationParams</span></a> *
 gst_gl_allocation_params_copy (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *src</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-allocation-params-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>src</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to initialize</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-allocation-params-copy.returns"></a><h4>Returns</h4>
+<p> a copy of the <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> specified by <em class="parameter"><code>src</code></em>
+or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on
+failure</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-allocation-params-free"></a><h3>gst_gl_allocation_params_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_allocation_params_free (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *params</code></em>);</pre>
+<p>Frees the <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> and all associated data.</p>
+<div class="refsect3">
+<a name="gst-gl-allocation-params-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>params</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to initialize</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-allocation-params-free-data"></a><h3>gst_gl_allocation_params_free_data ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_allocation_params_free_data (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *params</code></em>);</pre>
+<p>Frees the dynamically allocated data in <em class="parameter"><code>params</code></em>
+.  Direct subclasses
+should call this function in their own overriden free function.</p>
+<div class="refsect3">
+<a name="gst-gl-allocation-params-free-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>params</p></td>
+<td class="parameter_description"><p>the source <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -327,12 +513,42 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_allocation_params_copy_data (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *src</code></em>,
                                     <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *dest</code></em>);</pre>
+<p>Copies the dynamically allocated data from <em class="parameter"><code>src</code></em>
+ to <em class="parameter"><code>dest</code></em>
+.  Direct subclasses
+should call this function in their own overriden copy function.</p>
+<div class="refsect3">
+<a name="gst-gl-allocation-params-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>src</p></td>
+<td class="parameter_description"><p>the source <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dest</p></td>
+<td class="parameter_description"><p>the destination <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-base-memory-init-once"></a><h3>gst_gl_base_memory_init_once ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_base_memory_init_once (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Initializes the GL Base Memory allocator. It is safe to call this function
+multiple times.  This must be called before any other GstGLBaseMemory operation.</p>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -346,12 +562,90 @@
                          <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 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>Initializes <em class="parameter"><code>mem</code></em>
+ with the required parameters</p>
+<div class="refsect3">
+<a name="gst-gl-base-memory-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>mem</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> to initialize</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> to initialize with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>parent</p></td>
+<td class="parameter_description"><p> the parent <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> to initialize with. </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>context</p></td>
+<td class="parameter_description"><p>the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> to initialize with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>params</p></td>
+<td class="parameter_description"><p> the <em class="parameter"><code>GstAllocationParams</code></em>
+to initialize with. </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>size</p></td>
+<td class="parameter_description"><p>the number of bytes to be allocated</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 call <em class="parameter"><code>notify</code></em>
+with. </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>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="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.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-is-gl-base-memory"></a><h3>gst_is_gl_base_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_gl_base_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>
+<div class="refsect3">
+<a name="gst-is-gl-base-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 <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-gl-base-memory.returns"></a><h4>Returns</h4>
+<p> whether the memory at <em class="parameter"><code>mem</code></em>
+is a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -360,6 +654,36 @@
 <span class="c_punctuation">(</span>*GstGLBaseMemoryAllocatorAllocFunction<span class="c_punctuation">)</span>
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocator"><span class="type">GstGLBaseMemoryAllocator</span></a> *allocator</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *params</code></em>);</pre>
+<p>Note: not called with a GL context current</p>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorAllocFunction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocator"><span class="type">GstGLBaseMemoryAllocator</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>params</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to allocate the memory with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorAllocFunction.returns"></a><h4>Returns</h4>
+<p> a newly allocated <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> from <em class="parameter"><code>allocator</code></em>
+and <em class="parameter"><code>params</code></em>
+</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -368,6 +692,35 @@
 <span class="c_punctuation">(</span>*GstGLBaseMemoryAllocatorCreateFunction<span class="c_punctuation">)</span>
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</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>As this virtual method is called with an OpenGL context current, use this
+function to allocate and OpenGL resources needed for your application</p>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorCreateFunction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</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 <a href="/usr/share/gtk-doc/html/glibglib-Error-Reporting.html#GError"><span class="type">GError</span></a> to use on failure</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorCreateFunction.returns"></a><h4>Returns</h4>
+<p> whether the creation succeeded</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -377,6 +730,39 @@
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</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>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> maxsize</code></em>);</pre>
+<p>Also see <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#gst-memory-map"><code class="function">gst_memory_map()</code></a>;</p>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorMapFunction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</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 href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a> to map with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>maxsize</p></td>
+<td class="parameter_description"><p>the size to map</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorMapFunction.returns"></a><h4>Returns</h4>
+<p> the mapped pointer</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -385,6 +771,30 @@
 <span class="c_punctuation">(</span>*GstGLBaseMemoryAllocatorUnmapFunction<span class="c_punctuation">)</span>
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</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>Also see <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#gst-memory-unmap"><code class="function">gst_memory_unmap()</code></a>;</p>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorUnmapFunction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</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 href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GstMapInfo"><span class="type">GstMapInfo</span></a> to map with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -394,6 +804,39 @@
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gssize"><span class="type">gssize</span></a> offset</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gssize"><span class="type">gssize</span></a> size</code></em>);</pre>
+<p>Also see <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#gst-memory-copy"><code class="function">gst_memory_copy()</code></a>;</p>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorCopyFunction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>offset</p></td>
+<td class="parameter_description"><p>the offset to copy from</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the number of bytes to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorCopyFunction.returns"></a><h4>Returns</h4>
+<p> the newly copied <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLMemory" title="GstGLMemory"><span class="type">GstGLMemory</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a></p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -401,6 +844,24 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 <span class="c_punctuation">(</span>*GstGLBaseMemoryAllocatorDestroyFunction<span class="c_punctuation">)</span>
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *mem</code></em>);</pre>
+<p>Destroy any resources allocated throughout the lifetime of <em class="parameter"><code>mem</code></em>
+</p>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorDestroyFunction.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -408,6 +869,35 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="returnvalue">GstGLBaseMemory</span></a> *
 gst_gl_base_memory_alloc (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocator"><span class="type">GstGLBaseMemoryAllocator</span></a> *allocator</code></em>,
                           <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> *params</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-base-memory-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>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocator"><span class="type">GstGLBaseMemoryAllocator</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>params</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParams" title="struct GstGLAllocationParams"><span class="type">GstGLAllocationParams</span></a> to allocate the memory with</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-base-memory-alloc.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> from <em class="parameter"><code>allocator</code></em>
+with the requested <em class="parameter"><code>params</code></em>
+.</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -423,6 +913,43 @@
                            <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a> *dest</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gssize"><span class="type">gssize</span></a> offset</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gssize"><span class="type">gssize</span></a> size</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-gl-base-memory-memcpy.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 source <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>dest</p></td>
+<td class="parameter_description"><p>the destination <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemory" title="GstGLBaseMemory"><span class="type">GstGLBaseMemory</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>offset</p></td>
+<td class="parameter_description"><p>the offset to start at</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>size</p></td>
+<td class="parameter_description"><p>the number of bytes to copy</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-base-memory-memcpy.returns"></a><h4>Returns</h4>
+<p> whether the copy suceeded.</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 </div>
 <div class="refsect1">
@@ -430,6 +957,8 @@
 <div class="refsect2">
 <a name="GstGLBaseMemoryAllocator-struct"></a><h3>GstGLBaseMemoryAllocator</h3>
 <pre class="programlisting">typedef struct _GstGLBaseMemoryAllocator GstGLBaseMemoryAllocator;</pre>
+<p>Opaque <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocator"><span class="type">GstGLBaseMemoryAllocator</span></a> struct</p>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -450,18 +979,77 @@
   GstGLBaseMemoryAllocatorDestroyFunction       destroy;
 } GstGLBaseMemoryAllocatorClass;
 </pre>
+<div class="refsect3">
+<a name="GstGLBaseMemoryAllocatorClass.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-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorAllocFunction" title="GstGLBaseMemoryAllocatorAllocFunction ()"><span class="type">GstGLBaseMemoryAllocatorAllocFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.alloc"></a>alloc</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorAllocFunction"><span class="type">GstGLBaseMemoryAllocatorAllocFunctions</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorCreateFunction" title="GstGLBaseMemoryAllocatorCreateFunction ()"><span class="type">GstGLBaseMemoryAllocatorCreateFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.create"></a>create</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorCreateFunction" title="GstGLBaseMemoryAllocatorCreateFunction ()"><span class="type">GstGLBaseMemoryAllocatorCreateFunction</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorMapFunction" title="GstGLBaseMemoryAllocatorMapFunction ()"><span class="type">GstGLBaseMemoryAllocatorMapFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.map"></a>map</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorMapFunction" title="GstGLBaseMemoryAllocatorMapFunction ()"><span class="type">GstGLBaseMemoryAllocatorMapFunction</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">GstGLBaseMemoryAllocatorFlushFunction</span> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.flush"></a>flush</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">GstGLBaseMemoryAllocatorInvalidateFunction</span> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.invalidate"></a>invalidate</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorUnmapFunction" title="GstGLBaseMemoryAllocatorUnmapFunction ()"><span class="type">GstGLBaseMemoryAllocatorUnmapFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.unmap"></a>unmap</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorUnmapFunction" title="GstGLBaseMemoryAllocatorUnmapFunction ()"><span class="type">GstGLBaseMemoryAllocatorUnmapFunction</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorCopyFunction" title="GstGLBaseMemoryAllocatorCopyFunction ()"><span class="type">GstGLBaseMemoryAllocatorCopyFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.copy"></a>copy</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorCopyFunction" title="GstGLBaseMemoryAllocatorCopyFunction ()"><span class="type">GstGLBaseMemoryAllocatorCopyFunction</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorDestroyFunction" title="GstGLBaseMemoryAllocatorDestroyFunction ()"><span class="type">GstGLBaseMemoryAllocatorDestroyFunction</span></a> <em class="structfield"><code><a name="GstGLBaseMemoryAllocatorClass.destroy"></a>destroy</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLBaseMemoryAllocatorDestroyFunction" title="GstGLBaseMemoryAllocatorDestroyFunction ()"><span class="type">GstGLBaseMemoryAllocatorDestroyFunction</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-GL-BASE-MEMORY-ALLOCATOR-NAME:CAPS"></a><h3>GST_GL_BASE_MEMORY_ALLOCATOR_NAME</h3>
 <pre class="programlisting">#define GST_GL_BASE_MEMORY_ALLOCATOR_NAME   "GLBaseMemory"
 </pre>
+<p>The name of the GL buffer allocator</p>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-MAP-GL:CAPS"></a><h3>GST_MAP_GL</h3>
 <pre class="programlisting">#define GST_MAP_GL (GST_MAP_FLAG_LAST &lt;&lt; 1)
 </pre>
+<p>Flag indicating that we should map the GL object instead of to system memory.</p>
+<p>Combining <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GST-MAP-GL:CAPS" title="GST_MAP_GL"><span class="type">GST_MAP_GL</span></a> with <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GST-MAP-WRITE:CAPS"><span class="type">GST_MAP_WRITE</span></a> has the same semantics as though
+you are writing to OpenGL. Conversely, combining <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GST-MAP-GL:CAPS" title="GST_MAP_GL"><span class="type">GST_MAP_GL</span></a> with
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMemory.html#GST-MAP-READ:CAPS"><span class="type">GST_MAP_READ</span></a> has the same semantics as though you are reading from OpenGL.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -477,18 +1065,25 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-BASE-MEMORY-ERROR-FAILED:CAPS"></a>GST_GL_BASE_MEMORY_ERROR_FAILED</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>generic faliure</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-BASE-MEMORY-ERROR-OLD-LIBS:CAPS"></a>GST_GL_BASE_MEMORY_ERROR_OLD_LIBS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the implementation is too old and doesn't
+                                    implement enough features</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-BASE-MEMORY-ERROR-RESOURCE-UNAVAILABLE:CAPS"></a>GST_GL_BASE_MEMORY_ERROR_RESOURCE_UNAVAILABLE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>a resource could not be found</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -514,13 +1109,19 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-BASE-MEMORY-TRANSFER-NEED-DOWNLOAD:CAPS"></a>GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the texture needs downloading
+                                            to the data pointer</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-GL-BASE-MEMORY-TRANSFER-NEED-UPLOAD:CAPS"></a>GST_GL_BASE_MEMORY_TRANSFER_NEED_UPLOAD</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the data pointer needs uploading
+                                            to the texture</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -547,6 +1148,74 @@
   gpointer                          gl_handle;
 };
 </pre>
+<div class="refsect3">
+<a name="GstGLAllocationParams.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#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GstGLAllocationParams.struct-size"></a>struct_size</code></em>;</p></td>
+<td class="struct_member_description"><p>the size of the struct (including and subclass data)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParamsCopyFunc" title="GstGLAllocationParamsCopyFunc ()"><span class="type">GstGLAllocationParamsCopyFunc</span></a> <em class="structfield"><code><a name="GstGLAllocationParams.copy"></a>copy</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParamsCopyFunc" title="GstGLAllocationParamsCopyFunc ()"><span class="type">GstGLAllocationParamsCopyFunc</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParamsFreeFunc" title="GstGLAllocationParamsFreeFunc ()"><span class="type">GstGLAllocationParamsFreeFunc</span></a> <em class="structfield"><code><a name="GstGLAllocationParams.free"></a>free</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#GstGLAllocationParamsFreeFunc" title="GstGLAllocationParamsFreeFunc ()"><span class="type">GstGLAllocationParamsFreeFunc</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="GstGLAllocationParams.alloc-flags"></a>alloc_flags</code></em>;</p></td>
+<td class="struct_member_description"><p>allocation 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#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GstGLAllocationParams.alloc-size"></a>alloc_size</code></em>;</p></td>
+<td class="struct_member_description"><p>the allocation 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.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a> *<em class="structfield"><code><a name="GstGLAllocationParams.alloc-params"></a>alloc_params</code></em>;</p></td>
+<td class="struct_member_description"><p>the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocationParams-struct"><span class="type">GstAllocationParams</span></a></p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *<em class="structfield"><code><a name="GstGLAllocationParams.context"></a>context</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</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-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> <em class="structfield"><code><a name="GstGLAllocationParams.notify"></a>notify</code></em>;</p></td>
+<td class="struct_member_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</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#gpointer"><span class="type">gpointer</span></a> <em class="structfield"><code><a name="GstGLAllocationParams.user-data"></a>user_data</code></em>;</p></td>
+<td class="struct_member_description"><p>argument to call <em class="parameter"><code>notify</code></em>
+with</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="GstGLAllocationParams.wrapped-data"></a>wrapped_data</code></em>;</p></td>
+<td class="struct_member_description"><p>the wrapped data pointer</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="GstGLAllocationParams.gl-handle"></a>gl_handle</code></em>;</p></td>
+<td class="struct_member_description"><p>the wrapped OpenGL handle</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -581,9 +1250,36 @@
   GstGLContext         *context;
 } GstGLBaseMemory;
 </pre>
+<p>Represents information about a GL memory object</p>
+<div class="refsect3">
+<a name="GstGLBaseMemory.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.0GstMemory.html#GstMemory-struct"><span class="type">GstMemory</span></a> <em class="structfield"><code><a name="GstGLBaseMemory.mem"></a>mem</code></em>;</p></td>
+<td class="struct_member_description"><p>the parent object</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *<em class="structfield"><code><a name="GstGLBaseMemory.context"></a>context</code></em>;</p></td>
+<td class="struct_member_description"><p>the <a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> to use for GL operations</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
 </div>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-gstglbasememory.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>, <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</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-bad-libs-gstgldebug.html b/docs/libs/html/gst-plugins-bad-libs-gstgldebug.html
deleted file mode 100644
index 4068760..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-gstgldebug.html
+++ /dev/null
@@ -1,271 +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>OpenGL Debugging: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
-<link rel="up" href="gl.html" title="OpenGL Helper Library">
-<link rel="prev" href="gst-plugins-bad-libs-GstGLWindowX11.html" title="GstGLWindowX11">
-<link rel="next" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html" title="OpenGL Miscellaneous Utilities">
-<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">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gstgldebug.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="gl.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-libs-GstGLWindowX11.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gst-plugins-bad-libs-gstgldebug"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstgldebug.top_of_page"></a>OpenGL Debugging</span></h2>
-<p>OpenGL Debugging</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstgldebug.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<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">
-<span class="c_punctuation">(</span><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebugLogGetMessage" title="GstGLAsyncDebugLogGetMessage ()">*GstGLAsyncDebugLogGetMessage</a><span class="c_punctuation">)</span> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="returnvalue">GstGLAsyncDebug</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#gst-gl-async-debug-new" title="gst_gl_async_debug_new ()">gst_gl_async_debug_new</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-bad-libs-gstgldebug.html#gst-gl-async-debug-free" title="gst_gl_async_debug_free ()">gst_gl_async_debug_free</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-bad-libs-gstgldebug.html#gst-gl-async-debug-init" title="gst_gl_async_debug_init ()">gst_gl_async_debug_init</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-bad-libs-gstgldebug.html#gst-gl-async-debug-unset" title="gst_gl_async_debug_unset ()">gst_gl_async_debug_unset</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-bad-libs-gstgldebug.html#gst-gl-async-debug-freeze" title="gst_gl_async_debug_freeze ()">gst_gl_async_debug_freeze</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-bad-libs-gstgldebug.html#gst-gl-async-debug-thaw" title="gst_gl_async_debug_thaw ()">gst_gl_async_debug_thaw</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-bad-libs-gstgldebug.html#gst-gl-async-debug-output-log-msg" title="gst_gl_async_debug_output_log_msg ()">gst_gl_async_debug_output_log_msg</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-bad-libs-gstgldebug.html#gst-gl-async-debug-store-log-msg" title="gst_gl_async_debug_store_log_msg ()">gst_gl_async_debug_store_log_msg</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-bad-libs-gstgldebug.html#gst-gl-async-debug-store-log-msg-valist" title="gst_gl_async_debug_store_log_msg_valist ()">gst_gl_async_debug_store_log_msg_valist</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GST-GL-ASYNC-CAT-LEVEL-LOG-valist" title="GST_GL_ASYNC_CAT_LEVEL_LOG_valist()">GST_GL_ASYNC_CAT_LEVEL_LOG_valist</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GST-GL-ASYNC-CAT-LEVEL-LOG:CAPS" title="GST_GL_ASYNC_CAT_LEVEL_LOG()">GST_GL_ASYNC_CAT_LEVEL_LOG</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-bad-libs-gstgldebug.html#gst-gl-insert-debug-marker" title="gst_gl_insert_debug_marker ()">gst_gl_insert_debug_marker</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstgldebug.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>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug">GstGLAsyncDebug</a></td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstgldebug.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstgldebug.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="GstGLAsyncDebugLogGetMessage"></a><h3>GstGLAsyncDebugLogGetMessage ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
-<span class="c_punctuation">(</span>*GstGLAsyncDebugLogGetMessage<span class="c_punctuation">)</span> (<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>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-async-debug-new"></a><h3>gst_gl_async_debug_new ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="returnvalue">GstGLAsyncDebug</span></a> *
-gst_gl_async_debug_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-async-debug-free"></a><h3>gst_gl_async_debug_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_async_debug_free (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-async-debug-init"></a><h3>gst_gl_async_debug_init ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_async_debug_init (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-async-debug-unset"></a><h3>gst_gl_async_debug_unset ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_async_debug_unset (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-async-debug-freeze"></a><h3>gst_gl_async_debug_freeze ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_async_debug_freeze (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-async-debug-thaw"></a><h3>gst_gl_async_debug_thaw ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_async_debug_thaw (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-async-debug-output-log-msg"></a><h3>gst_gl_async_debug_output_log_msg ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_async_debug_output_log_msg (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-async-debug-store-log-msg"></a><h3>gst_gl_async_debug_store_log_msg ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_async_debug_store_log_msg (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>,
-                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugCategory"><span class="type">GstDebugCategory</span></a> *cat</code></em>,
-                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugLevel"><span class="type">GstDebugLevel</span></a> level</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> *file</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> *function</code></em>,
-                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> line</code></em>,
-                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> *object</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>,
-                                  <em class="parameter"><code>...</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-async-debug-store-log-msg-valist"></a><h3>gst_gl_async_debug_store_log_msg_valist ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_async_debug_store_log_msg_valist
-                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstgldebug.html#GstGLAsyncDebug" title="struct GstGLAsyncDebug"><span class="type">GstGLAsyncDebug</span></a> *ad</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugCategory"><span class="type">GstDebugCategory</span></a> *cat</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstInfo.html#GstDebugLevel"><span class="type">GstDebugLevel</span></a> level</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> *file</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> *function</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> line</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct"><span class="type">GObject</span></a> *object</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>,
-                                <em class="parameter"><code><span class="type">va_list</span> varargs</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-GL-ASYNC-CAT-LEVEL-LOG-valist"></a><h3>GST_GL_ASYNC_CAT_LEVEL_LOG_valist()</h3>
-<pre class="programlisting">#define             GST_GL_ASYNC_CAT_LEVEL_LOG_valist(ad,cat,level,object,format,varargs)</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GST-GL-ASYNC-CAT-LEVEL-LOG:CAPS"></a><h3>GST_GL_ASYNC_CAT_LEVEL_LOG()</h3>
-<pre class="programlisting">#define             GST_GL_ASYNC_CAT_LEVEL_LOG(ad,cat,level,object,format,...)</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-gl-insert-debug-marker"></a><h3>gst_gl_insert_debug_marker ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_gl_insert_debug_marker (<em class="parameter"><code><a class="link" href="GstGLContext.html" title="GstGLContext"><span class="type">GstGLContext</span></a> *context</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>,
-                            <em class="parameter"><code>...</code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstgldebug.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="GstGLAsyncDebug"></a><h3>struct GstGLAsyncDebug</h3>
-<pre class="programlisting">struct GstGLAsyncDebug {
-};
-</pre>
-</div>
-</div>
-</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/gst-plugins-bad-libs-gstglmemorypbo.html b/docs/libs/html/gst-plugins-bad-libs-gstglmemorypbo.html
index 6fc51d3..d2f10d1 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstglmemorypbo.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstglmemorypbo.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstglmemorypbo.top_of_page"></a>GstGLMemoryPBO</span></h2>
-<p>GstGLMemoryPBO</p>
+<p>GstGLMemoryPBO — memory subclass for GL textures</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -123,6 +123,11 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-gstglmemorypbo.description"></a><h2>Description</h2>
+<p><a class="link" href="gst-plugins-bad-libs-gstglmemorypbo.html#GstGLMemoryPBO" title="GstGLMemoryPBO"><span class="type">GstGLMemoryPBO</span></a> is created or wrapped through <a class="link" href="gst-plugins-bad-libs-gstglbasememory.html#gst-gl-base-memory-alloc" title="gst_gl_base_memory_alloc ()"><code class="function">gst_gl_base_memory_alloc()</code></a>
+with <a class="link" href="gst-plugins-bad-libs-GstGLMemory.html#GstGLVideoAllocationParams" title="struct GstGLVideoAllocationParams"><span class="type">GstGLVideoAllocationParams</span></a>.</p>
+<p><a class="link" href="gst-plugins-bad-libs-gstglmemorypbo.html#GstGLMemoryPBO" title="GstGLMemoryPBO"><span class="type">GstGLMemoryPBO</span></a> is created through <code class="function">gst_gl_memory_pbo_alloc()</code> or system memory can
+be wrapped through <code class="function">gst_gl_memory_pbo_wrapped()</code>.</p>
+<p>Data is uploaded or downloaded from the GPU as is necessary.</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-gstglmemorypbo.functions_details"></a><h2>Functions</h2>
@@ -130,6 +135,27 @@
 <a name="gst-is-gl-memory-pbo"></a><h3>gst_is_gl_memory_pbo ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_is_gl_memory_pbo (<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>
+<div class="refsect3">
+<a name="gst-is-gl-memory-pbo.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 <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-gl-memory-pbo.returns"></a><h4>Returns</h4>
+<p> whether the memory at <em class="parameter"><code>mem</code></em>
+is a <a class="link" href="gst-plugins-bad-libs-gstglmemorypbo.html#GstGLMemoryPBO" title="GstGLMemoryPBO"><span class="type">GstGLMemoryPBO</span></a></p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -143,12 +169,107 @@
                                      <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>,
                                      <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/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> respecify</code></em>);</pre>
+<p>Copies <em class="parameter"><code>gl_mem</code></em>
+ into the texture specfified by <em class="parameter"><code>tex_id</code></em>
+.  The format of <em class="parameter"><code>tex_id</code></em>
+
+is specified by <em class="parameter"><code>tex_type</code></em>
+, <em class="parameter"><code>width</code></em>
+ and <em class="parameter"><code>height</code></em>
+.</p>
+<p>If <em class="parameter"><code>respecify</code></em>
+ is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, then the copy is performed in terms of the texture
+data.  This is useful for splitting RGBA textures into RG or R textures or
+vice versa. The requirement for this to succeed is that the backing texture
+data must be the same size, i.e. say a RGBA8 texture is converted into a RG8
+texture, then the RG texture must have twice as many pixels available for
+output as the RGBA texture.</p>
+<p>Otherwise, if <em class="parameter"><code>respecify</code></em>
+ is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>, then the copy is performed per texel
+using glCopyTexImage.  See the OpenGL specification for details on the
+mappings between texture formats.</p>
+<div class="refsect3">
+<a name="gst-gl-memory-pbo-copy-into-texture.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>gl_mem</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglmemorypbo.html#GstGLMemoryPBO" title="GstGLMemoryPBO"><span class="type">GstGLMemoryPBO</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tex_id</p></td>
+<td class="parameter_description"><p>the destination texture id</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>target</p></td>
+<td class="parameter_description"><p>the destination <a class="link" href="gst-plugins-bad-libs-OpenGL-Formats.html#GstGLTextureTarget" title="enum GstGLTextureTarget"><span class="type">GstGLTextureTarget</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>tex_type</p></td>
+<td class="parameter_description"><p>the destination <span class="type">GstVideoGLTextureType</span></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>width</p></td>
+<td class="parameter_description"><p>width of <em class="parameter"><code>tex_id</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p>height of <em class="parameter"><code>tex_id</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stride</p></td>
+<td class="parameter_description"><p>stride of the backing texture data</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>respecify</p></td>
+<td class="parameter_description"><p>whether to copy the data or copy per texel</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-gl-memory-pbo-copy-into-texture.returns"></a><h4>Returns</h4>
+<p> Whether the copy suceeded</p>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-gl-memory-pbo-download-transfer"></a><h3>gst_gl_memory_pbo_download_transfer ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_gl_memory_pbo_download_transfer (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstglmemorypbo.html#GstGLMemoryPBO" title="GstGLMemoryPBO"><span class="type">GstGLMemoryPBO</span></a> *gl_mem</code></em>);</pre>
+<p>Transfer the texture data from the PBO into the texture if necessary.</p>
+<div class="refsect3">
+<a name="gst-gl-memory-pbo-download-transfer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>gl_mem</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstglmemorypbo.html#GstGLMemoryPBO" title="GstGLMemoryPBO"><span class="type">GstGLMemoryPBO</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.8</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -190,8 +311,13 @@
   GstGLMemory      mem;
 } GstGLMemoryPBO;
 </pre>
+<p>Private instance</p>
 </div>
 </div>
+<div class="refsect1">
+<a name="gst-plugins-bad-libs-gstglmemorypbo.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>, <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstAllocator.html#GstAllocator-struct"><span class="type">GstAllocator</span></a>, <a class="link" href="GstGLBufferPool.html" title="GstGLBufferPool"><span class="type">GstGLBufferPool</span></a></p>
+</div>
 </div>
 <div class="footer">
 <hr>Generated by GTK-Doc V1.25</div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstmpegts.html b/docs/libs/html/gst-plugins-bad-libs-gstmpegts.html
deleted file mode 100644
index a9c8284..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-gstmpegts.html
+++ /dev/null
@@ -1,69 +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>gstmpegts: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
-<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
-<link rel="prev" href="mpegts.html" title="Mpeg TS helper library">
-<link rel="next" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">
-<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">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gstmpegts.description" class="shortcut">Description</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="mpegts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-libs-gstmpegtssection.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gst-plugins-bad-libs-gstmpegts"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstmpegts.top_of_page"></a>gstmpegts</span></h2>
-<p>gstmpegts</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegts.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody><tr>
-<td class="function_type">
-<span class="returnvalue">void</span>
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegts.html#gst-mpegts-initialize" title="gst_mpegts_initialize ()">gst_mpegts_initialize</a> <span class="c_punctuation">()</span>
-</td>
-</tr></tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegts.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegts.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="gst-mpegts-initialize"></a><h3>gst_mpegts_initialize ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_mpegts_initialize (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegts.other_details"></a><h2>Types and Values</h2>
-</div>
-</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/gst-plugins-bad-libs-gstmpegtsdescriptor.html b/docs/libs/html/gst-plugins-bad-libs-gstmpegtsdescriptor.html
deleted file mode 100644
index 40d6ef9..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-gstmpegtsdescriptor.html
+++ /dev/null
@@ -1,635 +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>gstmpegtsdescriptor: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
-<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
-<link rel="prev" href="gst-plugins-bad-libs-gstmpegtssection.html" title="gstmpegtssection">
-<link rel="next" href="gst-plugins-bad-libs-gst-atsc-section.html" title="gst-atsc-section">
-<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">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gstmpegtsdescriptor.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gstmpegtsdescriptor.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-libs-gstmpegtssection.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-libs-gst-atsc-section.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gst-plugins-bad-libs-gstmpegtsdescriptor"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstmpegtsdescriptor.top_of_page"></a>gstmpegtsdescriptor</span></h2>
-<p>gstmpegtsdescriptor</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtsdescriptor.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-find-descriptor" title="gst_mpegts_find_descriptor ()">gst_mpegts_find_descriptor</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-parse-descriptors" title="gst_mpegts_parse_descriptors ()">gst_mpegts_parse_descriptors</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-from-custom" title="gst_mpegts_descriptor_from_custom ()">gst_mpegts_descriptor_from_custom</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-from-registration" title="gst_mpegts_descriptor_from_registration ()">gst_mpegts_descriptor_from_registration</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">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-iso-639-language" title="gst_mpegts_descriptor_parse_iso_639_language ()">gst_mpegts_descriptor_parse_iso_639_language</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">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-iso-639-language-idx" title="gst_mpegts_descriptor_parse_iso_639_language_idx ()">gst_mpegts_descriptor_parse_iso_639_language_idx</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-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-iso-639-language-nb" title="gst_mpegts_descriptor_parse_iso_639_language_nb ()">gst_mpegts_descriptor_parse_iso_639_language_nb</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-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-iso-639-language-descriptor-free" title="gst_mpegts_iso_639_language_descriptor_free ()">gst_mpegts_iso_639_language_descriptor_free</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">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#gst-mpegts-descriptor-parse-logical-channel" title="gst_mpegts_descriptor_parse_logical_channel ()">gst_mpegts_descriptor_parse_logical_channel</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<a name="GstMpegtsDescriptor"></a><div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtsdescriptor.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>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor-struct" title="struct GstMpegtsDescriptor">GstMpegtsDescriptor</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptorType" title="enum GstMpegtsDescriptorType">GstMpegtsDescriptorType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsMiscDescriptorType" title="enum GstMpegtsMiscDescriptorType">GstMpegtsMiscDescriptorType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsISO639LanguageDescriptor" title="struct GstMpegtsISO639LanguageDescriptor">GstMpegtsISO639LanguageDescriptor</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsIso639AudioType" title="enum GstMpegtsIso639AudioType">GstMpegtsIso639AudioType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsLogicalChannel" title="struct GstMpegtsLogicalChannel">GstMpegtsLogicalChannel</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsLogicalChannelDescriptor" title="struct GstMpegtsLogicalChannelDescriptor">GstMpegtsLogicalChannelDescriptor</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtsdescriptor.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-Boxed-Types.html">GBoxed</a>
-    <span class="lineart">╰──</span> GstMpegtsDescriptor
-    <a href="https://developer.gnome.org/gobject/unstable/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
-    <span class="lineart">├──</span> GstMpegtsDescriptorType
-    <span class="lineart">╰──</span> GstMpegtsIso639AudioType
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtsdescriptor.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtsdescriptor.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="gst-mpegts-find-descriptor"></a><h3>gst_mpegts_find_descriptor ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-gst_mpegts_find_descriptor (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *descriptors</code></em>,
-                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> tag</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-parse-descriptors"></a><h3>gst_mpegts_parse_descriptors ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-gst_mpegts_parse_descriptors (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *buffer</code></em>,
-                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> buf_len</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-from-custom"></a><h3>gst_mpegts_descriptor_from_custom ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-gst_mpegts_descriptor_from_custom (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> tag</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#gsize"><span class="type">gsize</span></a> length</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-from-registration"></a><h3>gst_mpegts_descriptor_from_registration ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="returnvalue">GstMpegtsDescriptor</span></a> *
-gst_mpegts_descriptor_from_registration
-                               (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *format_identifier</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *additional_info</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> additional_info_length</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-iso-639-language"></a><h3>gst_mpegts_descriptor_parse_iso_639_language ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_iso_639_language
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsISO639LanguageDescriptor" title="struct GstMpegtsISO639LanguageDescriptor"><span class="type">GstMpegtsISO639LanguageDescriptor</span></a> **res</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-iso-639-language-idx"></a><h3>gst_mpegts_descriptor_parse_iso_639_language_idx ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_iso_639_language_idx
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</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 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 class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsIso639AudioType" title="enum GstMpegtsIso639AudioType"><span class="type">GstMpegtsIso639AudioType</span></a> *audio_type</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-iso-639-language-nb"></a><h3>gst_mpegts_descriptor_parse_iso_639_language_nb ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
-gst_mpegts_descriptor_parse_iso_639_language_nb
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-iso-639-language-descriptor-free"></a><h3>gst_mpegts_iso_639_language_descriptor_free ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_mpegts_iso_639_language_descriptor_free
-                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsISO639LanguageDescriptor" title="struct GstMpegtsISO639LanguageDescriptor"><span class="type">GstMpegtsISO639LanguageDescriptor</span></a> *desc</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-descriptor-parse-logical-channel"></a><h3>gst_mpegts_descriptor_parse_logical_channel ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_descriptor_parse_logical_channel
-                               (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor"><span class="type">GstMpegtsDescriptor</span></a> *descriptor</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsLogicalChannelDescriptor" title="struct GstMpegtsLogicalChannelDescriptor"><span class="type">GstMpegtsLogicalChannelDescriptor</span></a> *res</code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtsdescriptor.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="GstMpegtsDescriptor-struct"></a><h3>struct GstMpegtsDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsDescriptor {
-  guint8 tag;
-  guint8 tag_extension;
-  guint8 length;
-  guint8 *data;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsDescriptorType"></a><h3>enum GstMpegtsDescriptorType</h3>
-<div class="refsect3">
-<a name="GstMpegtsDescriptorType.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-MTS-DESC-RESERVED-00:CAPS"></a>GST_MTS_DESC_RESERVED_00</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-RESERVED-01:CAPS"></a>GST_MTS_DESC_RESERVED_01</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-VIDEO-STREAM:CAPS"></a>GST_MTS_DESC_VIDEO_STREAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-AUDIO-STREAM:CAPS"></a>GST_MTS_DESC_AUDIO_STREAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-HIERARCHY:CAPS"></a>GST_MTS_DESC_HIERARCHY</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-REGISTRATION:CAPS"></a>GST_MTS_DESC_REGISTRATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DATA-STREAM-ALIGNMENT:CAPS"></a>GST_MTS_DESC_DATA_STREAM_ALIGNMENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-TARGET-BACKGROUND-GRID:CAPS"></a>GST_MTS_DESC_TARGET_BACKGROUND_GRID</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-VIDEO-WINDOW:CAPS"></a>GST_MTS_DESC_VIDEO_WINDOW</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-CA:CAPS"></a>GST_MTS_DESC_CA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-ISO-639-LANGUAGE:CAPS"></a>GST_MTS_DESC_ISO_639_LANGUAGE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-SYSTEM-CLOCK:CAPS"></a>GST_MTS_DESC_SYSTEM_CLOCK</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MULTIPLEX-BUFFER-UTILISATION:CAPS"></a>GST_MTS_DESC_MULTIPLEX_BUFFER_UTILISATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-COPYRIGHT:CAPS"></a>GST_MTS_DESC_COPYRIGHT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MAXIMUM-BITRATE:CAPS"></a>GST_MTS_DESC_MAXIMUM_BITRATE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-PRIVATE-DATA-INDICATOR:CAPS"></a>GST_MTS_DESC_PRIVATE_DATA_INDICATOR</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-SMOOTHING-BUFFER:CAPS"></a>GST_MTS_DESC_SMOOTHING_BUFFER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-STD:CAPS"></a>GST_MTS_DESC_STD</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-IBP:CAPS"></a>GST_MTS_DESC_IBP</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-CAROUSEL-IDENTIFIER:CAPS"></a>GST_MTS_DESC_DSMCC_CAROUSEL_IDENTIFIER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-ASSOCIATION-TAG:CAPS"></a>GST_MTS_DESC_DSMCC_ASSOCIATION_TAG</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-DEFERRED-ASSOCIATION-TAG:CAPS"></a>GST_MTS_DESC_DSMCC_DEFERRED_ASSOCIATION_TAG</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-NPT-REFERENCE:CAPS"></a>GST_MTS_DESC_DSMCC_NPT_REFERENCE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-NPT-ENDPOINT:CAPS"></a>GST_MTS_DESC_DSMCC_NPT_ENDPOINT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-STREAM-MODE:CAPS"></a>GST_MTS_DESC_DSMCC_STREAM_MODE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DSMCC-STREAM-EVENT:CAPS"></a>GST_MTS_DESC_DSMCC_STREAM_EVENT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG4-VIDEO:CAPS"></a>GST_MTS_DESC_MPEG4_VIDEO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG4-AUDIO:CAPS"></a>GST_MTS_DESC_MPEG4_AUDIO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-IOD:CAPS"></a>GST_MTS_DESC_IOD</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-SL:CAPS"></a>GST_MTS_DESC_SL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-FMC:CAPS"></a>GST_MTS_DESC_FMC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-EXTERNAL-ES-ID:CAPS"></a>GST_MTS_DESC_EXTERNAL_ES_ID</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MUX-CODE:CAPS"></a>GST_MTS_DESC_MUX_CODE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-FMX-BUFFER-SIZE:CAPS"></a>GST_MTS_DESC_FMX_BUFFER_SIZE</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MULTIPLEX-BUFFER:CAPS"></a>GST_MTS_DESC_MULTIPLEX_BUFFER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-CONTENT-LABELING:CAPS"></a>GST_MTS_DESC_CONTENT_LABELING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-METADATA-POINTER:CAPS"></a>GST_MTS_DESC_METADATA_POINTER</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-METADATA:CAPS"></a>GST_MTS_DESC_METADATA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-METADATA-STD:CAPS"></a>GST_MTS_DESC_METADATA_STD</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-AVC-VIDEO:CAPS"></a>GST_MTS_DESC_AVC_VIDEO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-IPMP:CAPS"></a>GST_MTS_DESC_IPMP</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-AVC-TIMING-AND-HRD:CAPS"></a>GST_MTS_DESC_AVC_TIMING_AND_HRD</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG2-AAC-AUDIO:CAPS"></a>GST_MTS_DESC_MPEG2_AAC_AUDIO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-FLEX-MUX-TIMING:CAPS"></a>GST_MTS_DESC_FLEX_MUX_TIMING</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG4-TEXT:CAPS"></a>GST_MTS_DESC_MPEG4_TEXT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG4-AUDIO-EXTENSION:CAPS"></a>GST_MTS_DESC_MPEG4_AUDIO_EXTENSION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-AUXILIARY-VIDEO-STREAM:CAPS"></a>GST_MTS_DESC_AUXILIARY_VIDEO_STREAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-SVC-EXTENSION:CAPS"></a>GST_MTS_DESC_SVC_EXTENSION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MVC-EXTENSION:CAPS"></a>GST_MTS_DESC_MVC_EXTENSION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-J2K-VIDEO:CAPS"></a>GST_MTS_DESC_J2K_VIDEO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MVC-OPERATION-POINT:CAPS"></a>GST_MTS_DESC_MVC_OPERATION_POINT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-MPEG2-STEREOSCOPIC-VIDEO-FORMAT:CAPS"></a>GST_MTS_DESC_MPEG2_STEREOSCOPIC_VIDEO_FORMAT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-STEREOSCOPIC-PROGRAM-INFO:CAPS"></a>GST_MTS_DESC_STEREOSCOPIC_PROGRAM_INFO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-STEREOSCOPIC-VIDEO-INFO:CAPS"></a>GST_MTS_DESC_STEREOSCOPIC_VIDEO_INFO</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsMiscDescriptorType"></a><h3>enum GstMpegtsMiscDescriptorType</h3>
-<div class="refsect3">
-<a name="GstMpegtsMiscDescriptorType.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-MTS-DESC-AC3-AUDIO-STREAM:CAPS"></a>GST_MTS_DESC_AC3_AUDIO_STREAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-DESC-DTG-LOGICAL-CHANNEL:CAPS"></a>GST_MTS_DESC_DTG_LOGICAL_CHANNEL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsISO639LanguageDescriptor"></a><h3>struct GstMpegtsISO639LanguageDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsISO639LanguageDescriptor {
-  guint                    nb_language;
-  gchar                    *language[64];
-  GstMpegtsIso639AudioType audio_type[64];
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsIso639AudioType"></a><h3>enum GstMpegtsIso639AudioType</h3>
-<div class="refsect3">
-<a name="GstMpegtsIso639AudioType.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-MPEGTS-AUDIO-TYPE-UNDEFINED:CAPS"></a>GST_MPEGTS_AUDIO_TYPE_UNDEFINED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-AUDIO-TYPE-CLEAN-EFFECTS:CAPS"></a>GST_MPEGTS_AUDIO_TYPE_CLEAN_EFFECTS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-AUDIO-TYPE-HEARING-IMPAIRED:CAPS"></a>GST_MPEGTS_AUDIO_TYPE_HEARING_IMPAIRED</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-AUDIO-TYPE-VISUAL-IMPAIRED-COMMENTARY:CAPS"></a>GST_MPEGTS_AUDIO_TYPE_VISUAL_IMPAIRED_COMMENTARY</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsLogicalChannel"></a><h3>struct GstMpegtsLogicalChannel</h3>
-<pre class="programlisting">struct GstMpegtsLogicalChannel {
-  guint16   service_id;
-  gboolean  visible_service;
-  guint16   logical_channel_number;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsLogicalChannelDescriptor"></a><h3>struct GstMpegtsLogicalChannelDescriptor</h3>
-<pre class="programlisting">struct GstMpegtsLogicalChannelDescriptor {
-  guint                   nb_channels;
-  GstMpegtsLogicalChannel channels[64];
-};
-</pre>
-</div>
-</div>
-</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/gst-plugins-bad-libs-gstmpegtssection.html b/docs/libs/html/gst-plugins-bad-libs-gstmpegtssection.html
deleted file mode 100644
index 8af72cd..0000000
--- a/docs/libs/html/gst-plugins-bad-libs-gstmpegtssection.html
+++ /dev/null
@@ -1,823 +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>gstmpegtssection: GStreamer Bad 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 Bad Plugins 1.0 Library Reference Manual">
-<link rel="up" href="mpegts.html" title="Mpeg TS helper library">
-<link rel="prev" href="gst-plugins-bad-libs-gstmpegts.html" title="gstmpegts">
-<link rel="next" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html" title="gstmpegtsdescriptor">
-<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">
-<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gstmpegtssection.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-libs-gstmpegtssection.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
-</td>
-<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
-<td><a accesskey="u" href="mpegts.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-libs-gstmpegts.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
-</tr></table>
-<div class="refentry">
-<a name="gst-plugins-bad-libs-gstmpegtssection"></a><div class="titlepage"></div>
-<div class="refnamediv"><table width="100%"><tr>
-<td valign="top">
-<h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstmpegtssection.top_of_page"></a>gstmpegtssection</span></h2>
-<p>gstmpegtssection</p>
-</td>
-<td class="gallery_image" valign="top" align="right"></td>
-</tr></table></div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtssection.functions"></a><h2>Functions</h2>
-<div class="informaltable"><table class="informaltable" width="100%" border="0">
-<colgroup>
-<col width="150px" class="functions_return">
-<col class="functions_name">
-</colgroup>
-<tbody>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GST-MPEGTS-SECTION-TYPE:CAPS" title="GST_MPEGTS_SECTION_TYPE()">GST_MPEGTS_SECTION_TYPE</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-message-new-mpegts-section" title="gst_message_new_mpegts_section ()">gst_message_new_mpegts_section</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-message-parse-mpegts-section" title="gst_message_parse_mpegts_section ()">gst_message_parse_mpegts_section</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">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-send-event" title="gst_mpegts_section_send_event ()">gst_mpegts_section_send_event</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-event-parse-mpegts-section" title="gst_event_parse_mpegts_section ()">gst_event_parse_mpegts_section</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-packetize" title="gst_mpegts_section_packetize ()">gst_mpegts_section_packetize</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-new" title="gst_mpegts_section_new ()">gst_mpegts_section_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-ref" title="gst_mpegts_section_ref()">gst_mpegts_section_ref</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="define_keyword">#define</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-unref" title="gst_mpegts_section_unref()">gst_mpegts_section_unref</a><span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-pat" title="gst_mpegts_section_get_pat ()">gst_mpegts_section_get_pat</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pat-new" title="gst_mpegts_pat_new ()">gst_mpegts_pat_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram"><span class="returnvalue">GstMpegtsPatProgram</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pat-program-new" title="gst_mpegts_pat_program_new ()">gst_mpegts_pat_program_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-from-pat" title="gst_mpegts_section_from_pat ()">gst_mpegts_section_from_pat</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">const <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="returnvalue">GstMpegtsPMT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-pmt" title="gst_mpegts_section_get_pmt ()">gst_mpegts_section_get_pmt</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="returnvalue">GstMpegtsPMT</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pmt-new" title="gst_mpegts_pmt_new ()">gst_mpegts_pmt_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream"><span class="returnvalue">GstMpegtsPMTStream</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-pmt-stream-new" title="gst_mpegts_pmt_stream_new ()">gst_mpegts_pmt_stream_new</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-from-pmt" title="gst_mpegts_section_from_pmt ()">gst_mpegts_section_from_pmt</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-tsdt" title="gst_mpegts_section_get_tsdt ()">gst_mpegts_section_get_tsdt</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-<tr>
-<td class="function_type">
-<a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-</td>
-<td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#gst-mpegts-section-get-cat" title="gst_mpegts_section_get_cat ()">gst_mpegts_section_get_cat</a> <span class="c_punctuation">()</span>
-</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<a name="GstMpegtsSection"></a><div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtssection.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>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection-struct" title="struct GstMpegtsSection">GstMpegtsSection</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSectionTableID" title="enum GstMpegtsSectionTableID">GstMpegtsSectionTableID</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSectionType" title="enum GstMpegtsSectionType">GstMpegtsSectionType</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram">GstMpegtsPatProgram</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMT" title="struct GstMpegtsPMT">GstMpegtsPMT</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream">GstMpegtsPMTStream</a></td>
-</tr>
-<tr>
-<td class="datatype_keyword">enum</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsStreamType" title="enum GstMpegtsStreamType">GstMpegtsStreamType</a></td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtssection.object-hierarchy"></a><h2>Object Hierarchy</h2>
-<pre class="screen">    <a href="https://developer.gnome.org/gobject/unstable/gobject-Boxed-Types.html">GBoxed</a>
-    <span class="lineart">╰──</span> GstMpegtsSection
-    <a href="https://developer.gnome.org/gobject/unstable/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
-    <span class="lineart">├──</span> GstMpegtsSectionTableID
-    <span class="lineart">├──</span> GstMpegtsSectionType
-    <span class="lineart">╰──</span> GstMpegtsStreamType
-</pre>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtssection.description"></a><h2>Description</h2>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtssection.functions_details"></a><h2>Functions</h2>
-<div class="refsect2">
-<a name="GST-MPEGTS-SECTION-TYPE:CAPS"></a><h3>GST_MPEGTS_SECTION_TYPE()</h3>
-<pre class="programlisting">#define GST_MPEGTS_SECTION_TYPE(section) (GST_MPEGTS_SECTION (section)-&gt;section_type)
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-message-new-mpegts-section"></a><h3>gst_message_new_mpegts_section ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GstMessage-struct"><span class="returnvalue">GstMessage</span></a> *
-gst_message_new_mpegts_section (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct"><span class="type">GstObject</span></a> *parent</code></em>,
-                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-message-parse-mpegts-section"></a><h3>gst_message_parse_mpegts_section ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-gst_message_parse_mpegts_section (<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>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-send-event"></a><h3>gst_mpegts_section_send_event ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
-gst_mpegts_section_send_event (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>,
-                               <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>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-event-parse-mpegts-section"></a><h3>gst_event_parse_mpegts_section ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-gst_event_parse_mpegts_section (<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>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-packetize"></a><h3>gst_mpegts_section_packetize ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *
-gst_mpegts_section_packetize (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>,
-                              <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *output_size</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-new"></a><h3>gst_mpegts_section_new ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-gst_mpegts_section_new (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> pid</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#gsize"><span class="type">gsize</span></a> data_size</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-ref"></a><h3>gst_mpegts_section_ref()</h3>
-<pre class="programlisting">#define gst_mpegts_section_ref(section)   ((GstMpegtsSection*) gst_mini_object_ref (GST_MINI_OBJECT_CAST (section)))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-unref"></a><h3>gst_mpegts_section_unref()</h3>
-<pre class="programlisting">#define gst_mpegts_section_unref(section) (gst_mini_object_unref (GST_MINI_OBJECT_CAST (section)))
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-pat"></a><h3>gst_mpegts_section_get_pat ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-gst_mpegts_section_get_pat (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-pat-new"></a><h3>gst_mpegts_pat_new ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-gst_mpegts_pat_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-pat-program-new"></a><h3>gst_mpegts_pat_program_new ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPatProgram" title="struct GstMpegtsPatProgram"><span class="returnvalue">GstMpegtsPatProgram</span></a> *
-gst_mpegts_pat_program_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-from-pat"></a><h3>gst_mpegts_section_from_pat ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-gst_mpegts_section_from_pat (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="type">GPtrArray</span></a> *programs</code></em>,
-                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> ts_id</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-pmt"></a><h3>gst_mpegts_section_get_pmt ()</h3>
-<pre class="programlisting">const <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="returnvalue">GstMpegtsPMT</span></a> *
-gst_mpegts_section_get_pmt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-pmt-new"></a><h3>gst_mpegts_pmt_new ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="returnvalue">GstMpegtsPMT</span></a> *
-gst_mpegts_pmt_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-pmt-stream-new"></a><h3>gst_mpegts_pmt_stream_new ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMTStream" title="struct GstMpegtsPMTStream"><span class="returnvalue">GstMpegtsPMTStream</span></a> *
-gst_mpegts_pmt_stream_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-from-pmt"></a><h3>gst_mpegts_section_from_pmt ()</h3>
-<pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="returnvalue">GstMpegtsSection</span></a> *
-gst_mpegts_section_from_pmt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsPMT" title="struct GstMpegtsPMT"><span class="type">GstMpegtsPMT</span></a> *pmt</code></em>,
-                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint16"><span class="type">guint16</span></a> pid</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-tsdt"></a><h3>gst_mpegts_section_get_tsdt ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-gst_mpegts_section_get_tsdt (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="gst-mpegts-section-get-cat"></a><h3>gst_mpegts_section_get_cat ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Pointer-Arrays.html#GPtrArray"><span class="returnvalue">GPtrArray</span></a> *
-gst_mpegts_section_get_cat (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection"><span class="type">GstMpegtsSection</span></a> *section</code></em>);</pre>
-</div>
-</div>
-<div class="refsect1">
-<a name="gst-plugins-bad-libs-gstmpegtssection.other_details"></a><h2>Types and Values</h2>
-<div class="refsect2">
-<a name="GstMpegtsSection-struct"></a><h3>struct GstMpegtsSection</h3>
-<pre class="programlisting">struct GstMpegtsSection {
-  GstMpegtsSectionType   section_type;
-
-  guint16       pid;
-  guint8        table_id;
-
-  guint16       subtable_extension;
-  guint8        version_number;
-
-  gboolean      current_next_indicator;
-
-  guint8        section_number;
-  guint8        last_section_number;
-
-  guint32       crc;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsSectionTableID"></a><h3>enum GstMpegtsSectionTableID</h3>
-<div class="refsect3">
-<a name="GstMpegtsSectionTableID.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-MTS-TABLE-ID-PROGRAM-ASSOCIATION:CAPS"></a>GST_MTS_TABLE_ID_PROGRAM_ASSOCIATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-CONDITIONAL-ACCESS:CAPS"></a>GST_MTS_TABLE_ID_CONDITIONAL_ACCESS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TS-PROGRAM-MAP:CAPS"></a>GST_MTS_TABLE_ID_TS_PROGRAM_MAP</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-TS-DESCRIPTION:CAPS"></a>GST_MTS_TABLE_ID_TS_DESCRIPTION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-14496-SCENE-DESCRIPTION:CAPS"></a>GST_MTS_TABLE_ID_14496_SCENE_DESCRIPTION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-14496-OBJET-DESCRIPTOR:CAPS"></a>GST_MTS_TABLE_ID_14496_OBJET_DESCRIPTOR</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-METADATA:CAPS"></a>GST_MTS_TABLE_ID_METADATA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-IPMP-CONTROL-INFORMATION:CAPS"></a>GST_MTS_TABLE_ID_IPMP_CONTROL_INFORMATION</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-MULTIPROTO-ENCAPSULATED-DATA:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_MULTIPROTO_ENCAPSULATED_DATA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-U-N-MESSAGES:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_U_N_MESSAGES</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-DOWNLOAD-DATA-MESSAGES:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_DOWNLOAD_DATA_MESSAGES</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-STREAM-DESCRIPTORS:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_STREAM_DESCRIPTORS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-PRIVATE-DATA:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_PRIVATE_DATA</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-DSM-CC-ADDRESSABLE-SECTIONS:CAPS"></a>GST_MTS_TABLE_ID_DSM_CC_ADDRESSABLE_SECTIONS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MTS-TABLE-ID-UNSET:CAPS"></a>GST_MTS_TABLE_ID_UNSET</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsSectionType"></a><h3>enum GstMpegtsSectionType</h3>
-<div class="refsect3">
-<a name="GstMpegtsSectionType.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-MPEGTS-SECTION-UNKNOWN:CAPS"></a>GST_MPEGTS_SECTION_UNKNOWN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-PAT:CAPS"></a>GST_MPEGTS_SECTION_PAT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-PMT:CAPS"></a>GST_MPEGTS_SECTION_PMT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-CAT:CAPS"></a>GST_MPEGTS_SECTION_CAT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-TSDT:CAPS"></a>GST_MPEGTS_SECTION_TSDT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-EIT:CAPS"></a>GST_MPEGTS_SECTION_EIT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-NIT:CAPS"></a>GST_MPEGTS_SECTION_NIT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-BAT:CAPS"></a>GST_MPEGTS_SECTION_BAT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-SDT:CAPS"></a>GST_MPEGTS_SECTION_SDT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-TDT:CAPS"></a>GST_MPEGTS_SECTION_TDT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-TOT:CAPS"></a>GST_MPEGTS_SECTION_TOT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-TVCT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_TVCT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-CVCT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_CVCT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-MGT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_MGT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-ETT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_ETT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-EIT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_EIT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-SECTION-ATSC-STT:CAPS"></a>GST_MPEGTS_SECTION_ATSC_STT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsPatProgram"></a><h3>struct GstMpegtsPatProgram</h3>
-<pre class="programlisting">struct GstMpegtsPatProgram {
-  guint16 program_number;
-  guint16 network_or_program_map_PID;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsPMT"></a><h3>struct GstMpegtsPMT</h3>
-<pre class="programlisting">struct GstMpegtsPMT {
-  guint16    pcr_pid;
-  guint16    program_number;
-
-  GPtrArray *descriptors;
-  GPtrArray *streams;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsPMTStream"></a><h3>struct GstMpegtsPMTStream</h3>
-<pre class="programlisting">struct GstMpegtsPMTStream {
-  guint8      stream_type;
-  guint16     pid;
-
-  GPtrArray  *descriptors;
-};
-</pre>
-</div>
-<hr>
-<div class="refsect2">
-<a name="GstMpegtsStreamType"></a><h3>enum GstMpegtsStreamType</h3>
-<div class="refsect3">
-<a name="GstMpegtsStreamType.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-MPEGTS-STREAM-TYPE-RESERVED-00:CAPS"></a>GST_MPEGTS_STREAM_TYPE_RESERVED_00</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG1:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG1</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG1:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG1</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUDIO-MPEG2:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUDIO_MPEG2</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-PRIVATE-SECTIONS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_PRIVATE_SECTIONS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-PRIVATE-PES-PACKETS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_PRIVATE_PES_PACKETS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-MHEG:CAPS"></a>GST_MPEGTS_STREAM_TYPE_MHEG</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-DSM-CC:CAPS"></a>GST_MPEGTS_STREAM_TYPE_DSM_CC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-H-222-1:CAPS"></a>GST_MPEGTS_STREAM_TYPE_H_222_1</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-DSMCC-A:CAPS"></a>GST_MPEGTS_STREAM_TYPE_DSMCC_A</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-DSMCC-B:CAPS"></a>GST_MPEGTS_STREAM_TYPE_DSMCC_B</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-DSMCC-C:CAPS"></a>GST_MPEGTS_STREAM_TYPE_DSMCC_C</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-DSMCC-D:CAPS"></a>GST_MPEGTS_STREAM_TYPE_DSMCC_D</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUXILIARY:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUXILIARY</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-ADTS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_ADTS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG4:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG4</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-LATM:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_LATM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-PES-PACKETS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_PES_PACKETS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-SL-FLEXMUX-SECTIONS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_SL_FLEXMUX_SECTIONS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-SYNCHRONIZED-DOWNLOAD:CAPS"></a>GST_MPEGTS_STREAM_TYPE_SYNCHRONIZED_DOWNLOAD</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-METADATA-PES-PACKETS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_METADATA_PES_PACKETS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-METADATA-SECTIONS:CAPS"></a>GST_MPEGTS_STREAM_TYPE_METADATA_SECTIONS</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-METADATA-DATA-CAROUSEL:CAPS"></a>GST_MPEGTS_STREAM_TYPE_METADATA_DATA_CAROUSEL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-METADATA-OBJECT-CAROUSEL:CAPS"></a>GST_MPEGTS_STREAM_TYPE_METADATA_OBJECT_CAROUSEL</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-METADATA-SYNCHRONIZED-DOWNLOAD:CAPS"></a>GST_MPEGTS_STREAM_TYPE_METADATA_SYNCHRONIZED_DOWNLOAD</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-MPEG2-IPMP:CAPS"></a>GST_MPEGTS_STREAM_TYPE_MPEG2_IPMP</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-H264:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_H264</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-AUDIO-AAC-CLEAN:CAPS"></a>GST_MPEGTS_STREAM_TYPE_AUDIO_AAC_CLEAN</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-MPEG4-TIMED-TEXT:CAPS"></a>GST_MPEGTS_STREAM_TYPE_MPEG4_TIMED_TEXT</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-RVC:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_RVC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-H264-SVC-SUB-BITSTREAM:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_H264_SVC_SUB_BITSTREAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-H264-MVC-SUB-BITSTREAM:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_H264_MVC_SUB_BITSTREAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-JP2K:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_JP2K</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-MPEG2-STEREO-ADDITIONAL-VIEW:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_MPEG2_STEREO_ADDITIONAL_VIEW</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-H264-STEREO-ADDITIONAL-VIEW:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_H264_STEREO_ADDITIONAL_VIEW</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-VIDEO-HEVC:CAPS"></a>GST_MPEGTS_STREAM_TYPE_VIDEO_HEVC</p></td>
-<td> </td>
-<td> </td>
-</tr>
-<tr>
-<td class="enum_member_name"><p><a name="GST-MPEGTS-STREAM-TYPE-IPMP-STREAM:CAPS"></a>GST_MPEGTS_STREAM_TYPE_IPMP_STREAM</p></td>
-<td> </td>
-<td> </td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-</div>
-</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/gst-plugins-bad-libs-gstmpegvideometa.html b/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html
index 1e406a9..7dac93c 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstmpegvideometa.html
@@ -106,6 +106,30 @@
                                 <em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr" title="struct GstMpegVideoPictureHdr"><span class="type">GstMpegVideoPictureHdr</span></a> *pic_hdr</code></em>,
                                 <em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt" title="struct GstMpegVideoPictureExt"><span class="type">GstMpegVideoPictureExt</span></a> *pic_ext</code></em>,
                                 <em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoQuantMatrixExt" title="struct GstMpegVideoQuantMatrixExt"><span class="type">GstMpegVideoQuantMatrixExt</span></a> *quant_ext</code></em>);</pre>
+<p>Creates and adds a <a class="link" href="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta" title="struct GstMpegVideoMeta"><span class="type">GstMpegVideoMeta</span></a> to a <em class="parameter"><code>buffer</code></em>
+.</p>
+<p>Provided structures must either be <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> or GSlice-allocated.</p>
+<div class="refsect3">
+<a name="gst-buffer-add-mpeg-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-add-mpeg-video-meta.returns"></a><h4>Returns</h4>
+<p> a newly created <a class="link" href="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta" title="struct GstMpegVideoMeta"><span class="type">GstMpegVideoMeta</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.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -150,6 +174,70 @@
   gsize slice_offset;
 };
 </pre>
+<p>Extra buffer metadata describing the contents of a MPEG1/2 Video frame</p>
+<p>Can be used by elements (mainly decoders) to avoid having to parse
+Mpeg video 1/2 packets if it can be done upstream.</p>
+<p>The various fields are only valid during the lifetime of the <a class="link" href="gst-plugins-bad-libs-gstmpegvideometa.html#GstMpegVideoMeta" title="struct GstMpegVideoMeta"><span class="type">GstMpegVideoMeta</span></a>.
+If elements wish to use those for longer, they are required to make a copy.</p>
+<div class="refsect3">
+<a name="GstMpegVideoMeta.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="GstMpegVideoMeta.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-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr" title="struct GstMpegVideoSequenceHdr"><span class="type">GstMpegVideoSequenceHdr</span></a> *<em class="structfield"><code><a name="GstMpegVideoMeta.sequencehdr"></a>sequencehdr</code></em>;</p></td>
+<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr" title="struct GstMpegVideoSequenceHdr"><span class="type">GstMpegVideoSequenceHdr</span></a> if present in the buffer</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt" title="struct GstMpegVideoSequenceExt"><span class="type">GstMpegVideoSequenceExt</span></a> *<em class="structfield"><code><a name="GstMpegVideoMeta.sequenceext"></a>sequenceext</code></em>;</p></td>
+<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt" title="struct GstMpegVideoSequenceExt"><span class="type">GstMpegVideoSequenceExt</span></a> if present in the buffer</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><span class="type">GstMpegVideoSequenceDisplayExt</span> *<em class="structfield"><code><a name="GstMpegVideoMeta.sequencedispext"></a>sequencedispext</code></em>;</p></td>
+<td class="struct_member_description"><p>the <span class="type">GstMpegVideoSequenceDisplayExt</span> if present in the
+buffer.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr" title="struct GstMpegVideoPictureHdr"><span class="type">GstMpegVideoPictureHdr</span></a> *<em class="structfield"><code><a name="GstMpegVideoMeta.pichdr"></a>pichdr</code></em>;</p></td>
+<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr" title="struct GstMpegVideoPictureHdr"><span class="type">GstMpegVideoPictureHdr</span></a> if present in the buffer.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt" title="struct GstMpegVideoPictureExt"><span class="type">GstMpegVideoPictureExt</span></a> *<em class="structfield"><code><a name="GstMpegVideoMeta.picext"></a>picext</code></em>;</p></td>
+<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt" title="struct GstMpegVideoPictureExt"><span class="type">GstMpegVideoPictureExt</span></a> if present in the buffer.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoQuantMatrixExt" title="struct GstMpegVideoQuantMatrixExt"><span class="type">GstMpegVideoQuantMatrixExt</span></a> *<em class="structfield"><code><a name="GstMpegVideoMeta.quantext"></a>quantext</code></em>;</p></td>
+<td class="struct_member_description"><p>the <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoQuantMatrixExt" title="struct GstMpegVideoQuantMatrixExt"><span class="type">GstMpegVideoQuantMatrixExt</span></a> if present in 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#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstMpegVideoMeta.num-slices"></a>num_slices</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#gsize"><span class="type">gsize</span></a> <em class="structfield"><code><a name="GstMpegVideoMeta.slice-offset"></a>slice_offset</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html
index 7538a41..dcebcf9 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html
@@ -27,7 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.top_of_page"></a>gstplayer-gmaincontextsignaldispatcher</span></h2>
-<p>gstplayer-gmaincontextsignaldispatcher</p>
+<p>gstplayer-gmaincontextsignaldispatcher — Player GLib MainContext dispatcher</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -58,6 +58,29 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerSignalDispatcher"><span class="returnvalue">GstPlayerSignalDispatcher</span></a> *
 gst_player_g_main_context_signal_dispatcher_new
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *application_context</code></em>);</pre>
+<p>Creates a new GstPlayerSignalDispatcher that uses <em class="parameter"><code>application_context</code></em>
+,
+or the thread default one if <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is used. See <code class="function">gst_player_new_full()</code>.</p>
+<div class="refsect3">
+<a name="gst-player-g-main-context-signal-dispatcher-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>application_context</p></td>
+<td class="parameter_description"><p> GMainContext to use 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="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-player-g-main-context-signal-dispatcher-new.returns"></a><h4>Returns</h4>
+<p> the new GstPlayerSignalDispatcher. </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">
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer-mediainfo.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer-mediainfo.html
index e809695..2a67c75 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer-mediainfo.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer-mediainfo.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstplayer-mediainfo.top_of_page"></a>gstplayer-mediainfo</span></h2>
-<p>gstplayer-mediainfo</p>
+<p>gstplayer-mediainfo — Player Media Information</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -294,18 +294,75 @@
 <a name="gst-player-media-info-get-uri"></a><h3>gst_player_media_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_player_media_info_get_uri (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-media-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-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-media-info-get-uri.returns"></a><h4>Returns</h4>
+<p> the URI associated with <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a>.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-media-info-get-duration"></a><h3>gst_player_media_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_player_media_info_get_duration (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-media-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-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-media-info-get-duration.returns"></a><h4>Returns</h4>
+<p> duration of the media.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-media-info-get-title"></a><h3>gst_player_media_info_get_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_player_media_info_get_title (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-media-info-get-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>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-media-info-get-title.returns"></a><h4>Returns</h4>
+<p> the media title.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -313,18 +370,75 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_player_media_info_get_container_format
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-media-info-get-container-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-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-media-info-get-container-format.returns"></a><h4>Returns</h4>
+<p> the container format.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-media-info-is-seekable"></a><h3>gst_player_media_info_is_seekable ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_player_media_info_is_seekable (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-media-info-is-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-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-media-info-is-seekable.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 media is seekable.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-media-info-is-live"></a><h3>gst_player_media_info_is_live ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_player_media_info_is_live (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-media-info-is-live.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-media-info-is-live.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 media is live.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -332,42 +446,185 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="returnvalue">GstSample</span></a> *
 gst_player_media_info_get_image_sample
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<p>Function to get the image (or preview-image) stored in taglist.
+Application can use gst_sample_*_() API's to get caps, buffer etc.</p>
+<div class="refsect3">
+<a name="gst-player-media-info-get-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>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-media-info-get-image-sample.returns"></a><h4>Returns</h4>
+<p> GstSample or NULL. </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-player-media-info-get-tags"></a><h3>gst_player_media_info_get_tags ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="returnvalue">GstTagList</span></a> *
 gst_player_media_info_get_tags (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-media-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-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-media-info-get-tags.returns"></a><h4>Returns</h4>
+<p> the tags contained in media info. </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-player-media-info-get-stream-list"></a><h3>gst_player_media_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_player_media_info_get_stream_list (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-media-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-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-media-info-get-stream-list.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-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPlayerStreamInfo]</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-stream-info-get-index"></a><h3>gst_player_stream_info_get_index ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_player_stream_info_get_index (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> *info</code></em>);</pre>
+<p>Function to get stream index from <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> instance.</p>
+<div class="refsect3">
+<a name="gst-player-stream-info-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>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-stream-info-get-index.returns"></a><h4>Returns</h4>
+<p> the stream index of this stream.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-stream-info-get-caps"></a><h3>gst_player_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_player_stream_info_get_caps (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-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. </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-player-stream-info-get-tags"></a><h3>gst_player_stream_info_get_tags ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="returnvalue">GstTagList</span></a> *
 gst_player_stream_info_get_tags (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-stream-info-get-tags.returns"></a><h4>Returns</h4>
+<p> the tags contained in this stream. </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-player-stream-info-get-codec"></a><h3>gst_player_stream_info_get_codec ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_player_stream_info_get_codec (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> *info</code></em>);</pre>
+<p>A string describing codec used in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a>.</p>
+<div class="refsect3">
+<a name="gst-player-stream-info-get-codec.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-stream-info-get-codec.returns"></a><h4>Returns</h4>
+<p> codec string or NULL on unknown.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -375,54 +632,228 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_player_stream_info_get_stream_type
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> *info</code></em>);</pre>
+<p>Function to return human readable name for the stream type
+of the given <em class="parameter"><code>info</code></em>
+ (ex: "audio", "video", "subtitle")</p>
+<div class="refsect3">
+<a name="gst-player-stream-info-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>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-stream-info-get-stream-type.returns"></a><h4>Returns</h4>
+<p> a human readable name</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-audio-info-get-bitrate"></a><h3>gst_player_audio_info_get_bitrate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_player_audio_info_get_bitrate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-audio-info-get-bitrate.returns"></a><h4>Returns</h4>
+<p> the audio bitrate in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a>.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-audio-info-get-channels"></a><h3>gst_player_audio_info_get_channels ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_player_audio_info_get_channels (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-audio-info-get-channels.returns"></a><h4>Returns</h4>
+<p> the number of audio channels in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a>.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-audio-info-get-language"></a><h3>gst_player_audio_info_get_language ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_player_audio_info_get_language (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-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">
 <a name="gst-player-audio-info-get-max-bitrate"></a><h3>gst_player_audio_info_get_max_bitrate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_player_audio_info_get_max_bitrate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-audio-info-get-max-bitrate.returns"></a><h4>Returns</h4>
+<p> the audio maximum bitrate in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a>.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-audio-info-get-sample-rate"></a><h3>gst_player_audio_info_get_sample_rate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_player_audio_info_get_sample_rate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-audio-info-get-sample-rate.returns"></a><h4>Returns</h4>
+<p> the audio sample rate in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a>.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-video-info-get-bitrate"></a><h3>gst_player_video_info_get_bitrate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_player_video_info_get_bitrate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-video-info-get-bitrate.returns"></a><h4>Returns</h4>
+<p> the current bitrate of video in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a>.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-video-info-get-height"></a><h3>gst_player_video_info_get_height ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_player_video_info_get_height (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-video-info-get-height.returns"></a><h4>Returns</h4>
+<p> the height of video in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a>.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-video-info-get-width"></a><h3>gst_player_video_info_get_width ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_player_video_info_get_width (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-video-info-get-width.returns"></a><h4>Returns</h4>
+<p> the width of video in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a>.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -431,12 +862,58 @@
 gst_player_video_info_get_framerate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</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> *fps_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> *fps_d</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-video-info-get-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>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>fps_n</p></td>
+<td class="parameter_description"><p> Numerator of frame rate. </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>fps_d</p></td>
+<td class="parameter_description"><p> Denominator of frame rate. </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-player-video-info-get-max-bitrate"></a><h3>gst_player_video_info_get_max_bitrate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>
 gst_player_video_info_get_max_bitrate (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-video-info-get-max-bitrate.returns"></a><h4>Returns</h4>
+<p> the maximum bitrate of video in <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a>.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -446,12 +923,61 @@
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> *info</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>
+<p>Returns the pixel aspect ratio in <em class="parameter"><code>par_n</code></em>
+ and <em class="parameter"><code>par_d</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-player-video-info-get-pixel-aspect-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>info</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>par_n</p></td>
+<td class="parameter_description"><p> numerator. </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>par_d</p></td>
+<td class="parameter_description"><p> denominator. </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-player-subtitle-info-get-language"></a><h3>gst_player_subtitle_info_get_language ()</h3>
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_player_subtitle_info_get_language (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="type">GstPlayerSubtitleInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="type">GstPlayerSubtitleInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-subtitle-info-get-language.returns"></a><h4>Returns</h4>
+<p> the language of the stream, or NULL if unknown.</p>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -459,26 +985,33 @@
 <div class="refsect2">
 <a name="GstPlayerMediaInfo-struct"></a><h3>GstPlayerMediaInfo</h3>
 <pre class="programlisting">typedef struct _GstPlayerMediaInfo GstPlayerMediaInfo;</pre>
+<p>Structure containing the media information of a URI.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstPlayerStreamInfo-struct"></a><h3>GstPlayerStreamInfo</h3>
 <pre class="programlisting">typedef struct _GstPlayerStreamInfo GstPlayerStreamInfo;</pre>
+<p>Base structure for information concering a media stream. Depending on
+the stream type, one can find more media-specific information in
+<a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a>, <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a>, <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="type">GstPlayerSubtitleInfo</span></a>.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstPlayerAudioInfo-struct"></a><h3>GstPlayerAudioInfo</h3>
 <pre class="programlisting">typedef struct _GstPlayerAudioInfo GstPlayerAudioInfo;</pre>
+<p><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> specific to audio streams.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstPlayerVideoInfo-struct"></a><h3>GstPlayerVideoInfo</h3>
 <pre class="programlisting">typedef struct _GstPlayerVideoInfo GstPlayerVideoInfo;</pre>
+<p><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> specific to video streams.</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstPlayerSubtitleInfo-struct"></a><h3>GstPlayerSubtitleInfo</h3>
 <pre class="programlisting">typedef struct _GstPlayerSubtitleInfo GstPlayerSubtitleInfo;</pre>
+<p><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo"><span class="type">GstPlayerStreamInfo</span></a> specific to subtitle streams.</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html
index b673335..dc406f6 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html
@@ -27,7 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.top_of_page"></a>gstplayer-videooverlayvideorenderer</span></h2>
-<p>gstplayer-videooverlayvideorenderer</p>
+<p>gstplayer-videooverlayvideorenderer — Player Video Overlay Video Renderer</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -100,6 +100,26 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRenderer"><span class="returnvalue">GstPlayerVideoRenderer</span></a> *
 gst_player_video_overlay_video_renderer_new
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> window_handle</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-video-overlay-video-renderer-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>window_handle</p></td>
+<td class="parameter_description"><p> Window handle to use 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="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-player-video-overlay-video-renderer-new.returns"></a><h4>Returns</h4>
+<p>. </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">
@@ -107,6 +127,27 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="returnvalue">gpointer</span></a>
 gst_player_video_overlay_video_renderer_get_window_handle
                                (<em class="parameter"><code><span class="type">GstPlayerVideoOverlayVideoRenderer</span> *self</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-video-overlay-video-renderer-get-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>self</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRenderer"><span class="type">GstPlayerVideoRenderer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-video-overlay-video-renderer-get-window-handle.returns"></a><h4>Returns</h4>
+<p> The currently set, platform specific window
+handle. </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">
@@ -115,6 +156,30 @@
 gst_player_video_overlay_video_renderer_set_window_handle
                                (<em class="parameter"><code><span class="type">GstPlayerVideoOverlayVideoRenderer</span> *self</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> window_handle</code></em>);</pre>
+<p>Sets the platform specific window handle into which the video
+should be rendered</p>
+<div class="refsect3">
+<a name="gst-player-video-overlay-video-renderer-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>self</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRenderer"><span class="type">GstPlayerVideoRenderer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>window_handle</p></td>
+<td class="parameter_description"><p>handle referencing to the platform specific window</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -122,6 +187,23 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_video_overlay_video_renderer_expose
                                (<em class="parameter"><code><span class="type">GstPlayerVideoOverlayVideoRenderer</span> *self</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-player-video-overlay-video-renderer-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>self</p></td>
+<td class="parameter_description"><p>a <span class="type">GstPlayerVideoOverlayVideoRenderer</span> instance.</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -133,6 +215,45 @@
                                 <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>Return the currently configured render rectangle. See <a class="link" href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html#gst-player-video-overlay-video-renderer-set-render-rectangle" title="gst_player_video_overlay_video_renderer_set_render_rectangle ()"><code class="function">gst_player_video_overlay_video_renderer_set_render_rectangle()</code></a>
+for details.</p>
+<div class="refsect3">
+<a name="gst-player-video-overlay-video-renderer-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>self</p></td>
+<td class="parameter_description"><p>a <span class="type">GstPlayerVideoOverlayVideoRenderer</span> instance</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"><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>y</p></td>
+<td class="parameter_description"><p> the vertical offset of the render area inside the window. </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>width</p></td>
+<td class="parameter_description"><p> the width of the render area inside the window. </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>height</p></td>
+<td class="parameter_description"><p> the height of the render area inside the window. </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">
@@ -144,6 +265,54 @@
                                 <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-bad-libs-gstplayer-videooverlayvideorenderer.html#gst-player-video-overlay-video-renderer-set-window-handle" title="gst_player_video_overlay_video_renderer_set_window_handle ()"><code class="function">gst_player_video_overlay_video_renderer_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 overlaid to
+a specific region of that window only. After setting the new rectangle one
+should call <a class="link" href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html#gst-player-video-overlay-video-renderer-expose" title="gst_player_video_overlay_video_renderer_expose ()"><code class="function">gst_player_video_overlay_video_renderer_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-player-video-overlay-video-renderer-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>self</p></td>
+<td class="parameter_description"><p>a <span class="type">GstPlayerVideoOverlayVideoRenderer</span> instance</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>
 </div>
 <div class="refsect1">
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer-visualization.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer-visualization.html
index 89f1675..557c3ef 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer-visualization.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer-visualization.html
@@ -28,7 +28,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstplayer-visualization.top_of_page"></a>gstplayer-visualization</span></h2>
-<p>gstplayer-visualization</p>
+<p>gstplayer-visualization — Player Visualization</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -103,24 +103,86 @@
 <a name="gst-player-visualizations-get"></a><h3>gst_player_visualizations_get ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="returnvalue">GstPlayerVisualization</span></a> **
 gst_player_visualizations_get (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-visualizations-get.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 containing all available
+visualizations. Use <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#gst-player-visualizations-free" title="gst_player_visualizations_free ()"><code class="function">gst_player_visualizations_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="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPlayerVisualization]</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-visualizations-free"></a><h3>gst_player_visualizations_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_visualizations_free (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a> **viss</code></em>);</pre>
+<p>Frees a <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a>.</p>
+<div class="refsect3">
+<a name="gst-player-visualizations-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>viss</p></td>
+<td class="parameter_description"><p>a <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> terminated array of <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a> to free</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-visualization-copy"></a><h3>gst_player_visualization_copy ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="returnvalue">GstPlayerVisualization</span></a> *
 gst_player_visualization_copy (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a> *vis</code></em>);</pre>
+<p>Makes a copy of the <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a>. The result must be
+freed using <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#gst-player-visualization-free" title="gst_player_visualization_free ()"><code class="function">gst_player_visualization_free()</code></a>.</p>
+<div class="refsect3">
+<a name="gst-player-visualization-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>vis</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-visualization-copy.returns"></a><h4>Returns</h4>
+<p> an allocated copy of <em class="parameter"><code>vis</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-player-visualization-free"></a><h3>gst_player_visualization_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_visualization_free (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a> *vis</code></em>);</pre>
+<p>Frees a <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a>.</p>
+<div class="refsect3">
+<a name="gst-player-visualization-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>vis</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 </div>
 <div class="refsect1">
@@ -132,6 +194,29 @@
   gchar *description;
 };
 </pre>
+<p>A <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization"><span class="type">GstPlayerVisualization</span></a> descriptor.</p>
+<div class="refsect3">
+<a name="GstPlayerVisualization.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="GstPlayerVisualization-struct.name"></a>name</code></em>;</p></td>
+<td class="struct_member_description"><p>name of the visualization.</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="GstPlayerVisualization-struct.description"></a>description</code></em>;</p></td>
+<td class="struct_member_description"><p>description of the visualization.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-gstplayer.html b/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
index 7c38c8c..ed479f4 100644
--- a/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
+++ b/docs/libs/html/gst-plugins-bad-libs-gstplayer.html
@@ -32,7 +32,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-gstplayer.top_of_page"></a>gstplayer</span></h2>
-<p>gstplayer</p>
+<p>gstplayer — Player</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -158,18 +158,18 @@
 </tr>
 <tr>
 <td class="function_type">
-<span class="returnvalue">void</span>
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 </td>
 <td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-position-update-interval" title="gst_player_set_position_update_interval ()">gst_player_set_position_update_interval</a> <span class="c_punctuation">()</span>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-config" title="gst_player_set_config ()">gst_player_set_config</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>
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="returnvalue">GstStructure</span></a> *
 </td>
 <td class="function_name">
-<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-position-update-interval" title="gst_player_get_position_update_interval ()">gst_player_get_position_update_interval</a> <span class="c_punctuation">()</span>
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-get-config" title="gst_player_get_config ()">gst_player_get_config</a> <span class="c_punctuation">()</span>
 </td>
 </tr>
 <tr>
@@ -425,6 +425,38 @@
 <a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-rate" title="gst_player_set_rate ()">gst_player_set_rate</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-bad-libs-gstplayer.html#gst-player-config-set-position-update-interval" title="gst_player_config_set_position_update_interval ()">gst_player_config_set_position_update_interval</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-bad-libs-gstplayer.html#gst-player-config-get-position-update-interval" title="gst_player_config_get_position_update_interval ()">gst_player_config_get_position_update_interval</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-bad-libs-gstplayer.html#gst-player-config-set-user-agent" title="gst_player_config_set_user_agent ()">gst_player_config_set_user_agent</a> <span class="c_punctuation">()</span>
+</td>
+</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-bad-libs-gstplayer.html#gst-player-config-get-user-agent" title="gst_player_config_get_user_agent ()">gst_player_config_get_user_agent</a> <span class="c_punctuation">()</span>
+</td>
+</tr>
 </tbody>
 </table></div>
 </div>
@@ -488,11 +520,6 @@
 <td class="property_flags">Read</td>
 </tr>
 <tr>
-<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
-<td class="property_name"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer--position-update-interval" title="The “position-update-interval” property">position-update-interval</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#gdouble"><span class="type">gdouble</span></a></td>
 <td class="property_name"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer--rate" title="The “rate” property">rate</a></td>
 <td class="property_flags">Read / Write</td>
@@ -703,24 +730,107 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="returnvalue">GstPlayer</span></a> *
 gst_player_new (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRenderer"><span class="type">GstPlayerVideoRenderer</span></a> *video_renderer</code></em>,
                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerSignalDispatcher"><span class="type">GstPlayerSignalDispatcher</span></a> *signal_dispatcher</code></em>);</pre>
+<p>Creates a new <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance that uses <em class="parameter"><code>signal_dispatcher</code></em>
+ to dispatch
+signals to some event loop system, or emits signals directly if NULL is
+passed. See <a class="link" href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html#gst-player-g-main-context-signal-dispatcher-new" title="gst_player_g_main_context_signal_dispatcher_new ()"><code class="function">gst_player_g_main_context_signal_dispatcher_new()</code></a>.</p>
+<p>Video is going to be rendered by <em class="parameter"><code>video_renderer</code></em>
+, or if <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> is provided
+no special video set up will be done and some default handling will be
+performed.</p>
+<div class="refsect3">
+<a name="gst-player-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>video_renderer</p></td>
+<td class="parameter_description"><p> GstPlayerVideoRenderer to use. </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="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>signal_dispatcher</p></td>
+<td class="parameter_description"><p> GstPlayerSignalDispatcher to use. </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="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-player-new.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-play"></a><h3>gst_player_play ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_play (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Request to play the loaded stream.</p>
+<div class="refsect3">
+<a name="gst-player-play.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-pause"></a><h3>gst_player_pause ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_pause (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Pauses the current stream.</p>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-stop"></a><h3>gst_player_stop ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_stop (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Stops playing the current stream and resets to the first position
+in the stream.</p>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -728,6 +838,31 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_seek (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> position</code></em>);</pre>
+<p>Seeks the currently-playing stream to the absolute <em class="parameter"><code>position</code></em>
+ time
+in nanoseconds.</p>
+<div class="refsect3">
+<a name="gst-player-seek.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>position</p></td>
+<td class="parameter_description"><p>position to seek in nanoseconds</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -735,24 +870,110 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_uri (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</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>Sets the next URI to play.</p>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>next URI to play.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-uri"></a><h3>gst_player_get_uri ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_player_get_uri (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Gets the URI of the currently-playing stream.</p>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-uri.returns"></a><h4>Returns</h4>
+<p> a string containing the URI of the
+currently-playing stream. <a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_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>]</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-duration"></a><h3>gst_player_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_player_get_duration (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Retrieves the duration of the media stream that self represents.</p>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-duration.returns"></a><h4>Returns</h4>
+<p> the duration of the currently-playing media stream, in
+nanoseconds.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-position"></a><h3>gst_player_get_position ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstClock.html#GstClockTime"><span class="returnvalue">GstClockTime</span></a>
 gst_player_get_position (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-get-position.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-position.returns"></a><h4>Returns</h4>
+<p> the absolute position time, in nanoseconds, of the
+currently-playing stream.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -760,6 +981,29 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_volume (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</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>Sets the volume level of the stream as a percentage between 0 and 1.</p>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>the new volume level, as a percentage between 0 and 1</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -767,75 +1011,344 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_mute (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> val</code></em>);</pre>
+<p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the currently-playing stream should be muted.</p>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>val</p></td>
+<td class="parameter_description"><p>Mute state the should be set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-volume"></a><h3>gst_player_get_volume ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
 gst_player_get_volume (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Returns the current volume level, as a percentage between 0 and 1.</p>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-volume.returns"></a><h4>Returns</h4>
+<p> the volume as percentage between 0 and 1.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-mute"></a><h3>gst_player_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_player_get_mute (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-mute.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 currently-playing stream is muted.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-pipeline"></a><h3>gst_player_get_pipeline ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="returnvalue">GstElement</span></a> *
 gst_player_get_pipeline (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-get-pipeline.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-pipeline.returns"></a><h4>Returns</h4>
+<p> The internal playbin instance. </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-player-set-position-update-interval"></a><h3>gst_player_set_position_update_interval ()</h3>
-<pre class="programlisting"><span class="returnvalue">void</span>
-gst_player_set_position_update_interval
-                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
-                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> interval</code></em>);</pre>
+<a name="gst-player-set-config"></a><h3>gst_player_set_config ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+gst_player_set_config (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</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 the configuration of the player. If the player is already configured, and
+the configuration haven't change, this function will return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>. If the
+player is not in the GST_PLAYER_STATE_STOPPED, this method will return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
+and active configuration will remain.</p>
+<p><em class="parameter"><code>config</code></em>
+ is a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> that contains the configuration parameters for
+the player.</p>
+<p>This function takes ownership of <em class="parameter"><code>config</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</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-player-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 the configuration could be set.
+Since 1.10</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
-<a name="gst-player-get-position-update-interval"></a><h3>gst_player_get_position_update_interval ()</h3>
-<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
-gst_player_get_position_update_interval
-                               (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<a name="gst-player-get-config"></a><h3>gst_player_get_config ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="returnvalue">GstStructure</span></a> *
+gst_player_get_config (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Get a copy of the current configuration of the player. This configuration
+can either be modified and used for the <a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-config" title="gst_player_set_config ()"><code class="function">gst_player_set_config()</code></a> call
+or it must be freed after usage.</p>
+<div class="refsect3">
+<a name="gst-player-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-config.returns"></a><h4>Returns</h4>
+<p> a copy of the current configuration of <em class="parameter"><code>player</code></em>
+. Use
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#gst-structure-free"><code class="function">gst_structure_free()</code></a> after usage or <a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-set-config" title="gst_player_set_config ()"><code class="function">gst_player_set_config()</code></a>.</p>
+<p>Since 1.10. </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-player-state-get-name"></a><h3>gst_player_state_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_player_state_get_name (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerState" title="enum GstPlayerState"><span class="type">GstPlayerState</span></a> state</code></em>);</pre>
+<p>Gets a string representing the given state.</p>
+<div class="refsect3">
+<a name="gst-player-state-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>state</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerState" title="enum GstPlayerState"><span class="type">GstPlayerState</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-state-get-name.returns"></a><h4>Returns</h4>
+<p> a string with the name of the state. </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-player-error-get-name"></a><h3>gst_player_error_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_player_error_get_name (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerError" title="enum GstPlayerError"><span class="type">GstPlayerError</span></a> error</code></em>);</pre>
+<p>Gets a string representing the given error.</p>
+<div class="refsect3">
+<a name="gst-player-error-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>error</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerError" title="enum GstPlayerError"><span class="type">GstPlayerError</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-error-get-name.returns"></a><h4>Returns</h4>
+<p> a string with the given error. </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-player-get-media-info"></a><h3>gst_player_get_media_info ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="returnvalue">GstPlayerMediaInfo</span></a> *
 gst_player_get_media_info (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>A Function to get the current media info <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> instance.</p>
+<div class="refsect3">
+<a name="gst-player-get-media-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-media-info.returns"></a><h4>Returns</h4>
+<p> media info instance.</p>
+<p>The caller should free it with <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</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-player-get-audio-streams"></a><h3>gst_player_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_player_get_audio_streams (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPlayerAudioInfo]</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-video-streams"></a><h3>gst_player_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_player_get_video_streams (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPlayerVideoInfo]</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-subtitle-streams"></a><h3>gst_player_get_subtitle_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_player_get_subtitle_streams (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a> *info</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerMediaInfo"><span class="type">GstPlayerMediaInfo</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-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-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="type">GstPlayerSubtitleInfo</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>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GstPlayerSubtitleInfo]</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -843,6 +1356,34 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_player_set_audio_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> stream_index</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-set-audio-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stream_index</p></td>
+<td class="parameter_description"><p>stream index</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-set-audio-track.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> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
+<p>Sets the audio track <em class="parameter"><code>stream_idex</code></em>
+.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -850,6 +1391,34 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_player_set_video_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                             <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> stream_index</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-set-video-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stream_index</p></td>
+<td class="parameter_description"><p>stream index</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-set-video-track.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> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
+<p>Sets the video track <em class="parameter"><code>stream_index</code></em>
+.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -857,24 +1426,118 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_player_set_subtitle_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> stream_index</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-set-subtitle-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>stream_index</p></td>
+<td class="parameter_description"><p>stream index</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-set-subtitle-track.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> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
+<p>Sets the subtitle strack <em class="parameter"><code>stream_index</code></em>
+.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-current-audio-track"></a><h3>gst_player_get_current_audio_track ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="returnvalue">GstPlayerAudioInfo</span></a> *
 gst_player_get_current_audio_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>A Function to get current audio <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo"><span class="type">GstPlayerAudioInfo</span></a> instance.</p>
+<div class="refsect3">
+<a name="gst-player-get-current-audio-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-current-audio-track.returns"></a><h4>Returns</h4>
+<p> current audio track.</p>
+<p>The caller should free it with <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</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-player-get-current-video-track"></a><h3>gst_player_get_current_video_track ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="returnvalue">GstPlayerVideoInfo</span></a> *
 gst_player_get_current_video_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>A Function to get current video <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerVideoInfo"><span class="type">GstPlayerVideoInfo</span></a> instance.</p>
+<div class="refsect3">
+<a name="gst-player-get-current-video-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-current-video-track.returns"></a><h4>Returns</h4>
+<p> current video track.</p>
+<p>The caller should free it with <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</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-player-get-current-subtitle-track"></a><h3>gst_player_get_current_subtitle_track ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="returnvalue">GstPlayerSubtitleInfo</span></a> *
 gst_player_get_current_subtitle_track (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>A Function to get current subtitle <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo"><span class="type">GstPlayerSubtitleInfo</span></a> instance.</p>
+<div class="refsect3">
+<a name="gst-player-get-current-subtitle-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-current-subtitle-track.returns"></a><h4>Returns</h4>
+<p> current subtitle track.</p>
+<p>The caller should free it with <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></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">
@@ -882,6 +1545,29 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_audio_track_enabled (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</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 the current audio track.</p>
+<div class="refsect3">
+<a name="gst-player-set-audio-track-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>enabled</p></td>
+<td class="parameter_description"><p>TRUE or FALSE</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -889,6 +1575,29 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_video_track_enabled (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</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 the current video track.</p>
+<div class="refsect3">
+<a name="gst-player-set-video-track-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>enabled</p></td>
+<td class="parameter_description"><p>TRUE or FALSE</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -896,6 +1605,29 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_subtitle_track_enabled (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</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 the current subtitle track.</p>
+<div class="refsect3">
+<a name="gst-player-set-subtitle-track-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>enabled</p></td>
+<td class="parameter_description"><p>TRUE or FALSE</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -903,12 +1635,61 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_player_set_subtitle_uri (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</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>
+<div class="refsect3">
+<a name="gst-player-set-subtitle-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>uri</p></td>
+<td class="parameter_description"><p>subtitle URI</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-set-subtitle-uri.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> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a></p>
+<p>Sets the external subtitle URI.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-subtitle-uri"></a><h3>gst_player_get_subtitle_uri ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_player_get_subtitle_uri (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>current subtitle URI</p>
+<div class="refsect3">
+<a name="gst-player-get-subtitle-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-subtitle-uri.returns"></a><h4>Returns</h4>
+<p> URI of the current external subtitle.
+<a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_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>]</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -916,6 +1697,34 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_player_set_visualization (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</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-player-set-visualization.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>name</p></td>
+<td class="parameter_description"><p>visualization element obtained from
+<a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#gst-player-visualizations-get" title="gst_player_visualizations_get ()"><code class="function">gst_player_visualizations_get()</code></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-set-visualization.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 visualizations was set correctly. 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">
@@ -923,12 +1732,56 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_visualization_enabled (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</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 the visualization.</p>
+<div class="refsect3">
+<a name="gst-player-set-visualization-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>enabled</p></td>
+<td class="parameter_description"><p>TRUE or FALSE</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-current-visualization"></a><h3>gst_player_get_current_visualization ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_player_get_current_visualization (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-get-current-visualization.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-current-visualization.returns"></a><h4>Returns</h4>
+<p> Name of the currently enabled visualization.
+<a href="/usr/share/gtk-doc/html/glibglib-Memory-Allocation.html#g-free"><code class="function">g_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>]</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -936,12 +1789,57 @@
 <pre class="programlisting">const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
 gst_player_color_balance_type_get_name
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerColorBalanceType" title="enum GstPlayerColorBalanceType"><span class="type">GstPlayerColorBalanceType</span></a> type</code></em>);</pre>
+<p>Gets a string representing the given color balance type.</p>
+<div class="refsect3">
+<a name="gst-player-color-balance-type-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>type</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerColorBalanceType" title="enum GstPlayerColorBalanceType"><span class="type">GstPlayerColorBalanceType</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-color-balance-type-get-name.returns"></a><h4>Returns</h4>
+<p> a string with the name of the color
+balance type. </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-player-has-color-balance"></a><h3>gst_player_has_color_balance ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_player_has_color_balance (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Checks whether the <em class="parameter"><code>player</code></em>
+ has color balance support available.</p>
+<div class="refsect3">
+<a name="gst-player-has-color-balance.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-has-color-balance.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>player</code></em>
+has color balance support. 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">
@@ -950,6 +1848,37 @@
 gst_player_set_color_balance (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerColorBalanceType" title="enum GstPlayerColorBalanceType"><span class="type">GstPlayerColorBalanceType</span></a> type</code></em>,
                               <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> value</code></em>);</pre>
+<p>Sets the current value of the indicated channel <em class="parameter"><code>type</code></em>
+ to the passed
+value.</p>
+<div class="refsect3">
+<a name="gst-player-set-color-balance.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerColorBalanceType" title="enum GstPlayerColorBalanceType"><span class="type">GstPlayerColorBalanceType</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 for the <em class="parameter"><code>type</code></em>
+, ranged [0,1]</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -957,12 +1886,65 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
 gst_player_get_color_balance (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerColorBalanceType" title="enum GstPlayerColorBalanceType"><span class="type">GstPlayerColorBalanceType</span></a> type</code></em>);</pre>
+<p>Retrieve the current value of the indicated <em class="parameter"><code>type</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-player-get-color-balance.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>type</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerColorBalanceType" title="enum GstPlayerColorBalanceType"><span class="type">GstPlayerColorBalanceType</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-color-balance.returns"></a><h4>Returns</h4>
+<p> The current value of <em class="parameter"><code>type</code></em>
+, between [0,1]. In case of
+error -1 is returned.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-multiview-mode"></a><h3>gst_player_get_multiview_mode ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode"><span class="returnvalue">GstVideoMultiviewMode</span></a>
 gst_player_get_multiview_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Retrieve the current value of the indicated <em class="parameter"><code>type</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-player-get-multiview-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-multiview-mode.returns"></a><h4>Returns</h4>
+<p> The current value of <em class="parameter"><code>type</code></em>
+, Default: -1 "none"</p>
+</div>
+<p class="since">Since: 1.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -970,12 +1952,62 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_multiview_mode (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                                <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a> mode</code></em>);</pre>
+<p>Sets the current value of the indicated mode <em class="parameter"><code>type</code></em>
+ to the passed
+value.</p>
+<div class="refsect3">
+<a name="gst-player-set-multiview-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>mode</p></td>
+<td class="parameter_description"><p>The new value for the <em class="parameter"><code>type</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.10</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-multiview-flags"></a><h3>gst_player_get_multiview_flags ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"><span class="returnvalue">GstVideoMultiviewFlags</span></a>
 gst_player_get_multiview_flags (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Retrieve the current value of the indicated <em class="parameter"><code>type</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-player-get-multiview-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-multiview-flags.returns"></a><h4>Returns</h4>
+<p> The current value of <em class="parameter"><code>type</code></em>
+, Default: 0x00000000 "none</p>
+</div>
+<p class="since">Since: 1.10</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -983,12 +2015,60 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_multiview_flags (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a> flags</code></em>);</pre>
+<p>Sets the current value of the indicated mode <em class="parameter"><code>type</code></em>
+ to the passed
+value.</p>
+<div class="refsect3">
+<a name="gst-player-set-multiview-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>flags</p></td>
+<td class="parameter_description"><p>The new value for the <em class="parameter"><code>type</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.10</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-audio-video-offset"></a><h3>gst_player_get_audio_video_offset ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="returnvalue">gint64</span></a>
 gst_player_get_audio_video_offset (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<p>Retrieve the current value of audio-video-offset property</p>
+<div class="refsect3">
+<a name="gst-player-get-audio-video-offset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-audio-video-offset.returns"></a><h4>Returns</h4>
+<p> The current value of audio-video-offset in nanoseconds</p>
+<p>Since 1.10</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -996,12 +2076,56 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_audio_video_offset (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                                    <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a> offset</code></em>);</pre>
+<p>Sets audio-video-offset property by value of <em class="parameter"><code>offset</code></em>
+</p>
+<p>Since 1.10</p>
+<div class="refsect3">
+<a name="gst-player-set-audio-video-offset.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>offset</p></td>
+<td class="parameter_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a> in nanoseconds</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-player-get-rate"></a><h3>gst_player_get_rate ()</h3>
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="returnvalue">gdouble</span></a>
 gst_player_get_rate (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-get-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-get-rate.returns"></a><h4>Returns</h4>
+<p> current playback rate</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1009,6 +2133,152 @@
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_player_set_rate (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> *player</code></em>,
                      <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a> rate</code></em>);</pre>
+<p>Playback at specified rate</p>
+<div class="refsect3">
+<a name="gst-player-set-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>player</p></td>
+<td class="parameter_description"><p><a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> instance</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>rate</p></td>
+<td class="parameter_description"><p>playback rate</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-config-set-position-update-interval"></a><h3>gst_player_config_set_position_update_interval ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_player_config_set_position_update_interval
+                               (<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 href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> interval</code></em>);</pre>
+<p>set interval in milliseconds between two position-updated signals.
+pass 0 to stop updating the position.
+Since 1.10</p>
+<div class="refsect3">
+<a name="gst-player-config-set-position-update-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>config</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> configuration</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interval</p></td>
+<td class="parameter_description"><p>interval in ms</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-config-get-position-update-interval"></a><h3>gst_player_config_get_position_update_interval ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a>
+gst_player_config_get_position_update_interval
+                               (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *config</code></em>);</pre>
+<div class="refsect3">
+<a name="gst-player-config-get-position-update-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>config</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> configuration</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-config-get-position-update-interval.returns"></a><h4>Returns</h4>
+<p> current position update interval in milliseconds</p>
+<p>Since 1.10</p>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-config-set-user-agent"></a><h3>gst_player_config_set_user_agent ()</h3>
+<pre class="programlisting"><span class="returnvalue">void</span>
+gst_player_config_set_user_agent (<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>const <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *agent</code></em>);</pre>
+<p>Set the user agent to pass to the server if <em class="parameter"><code>player</code></em>
+ needs to connect
+to a server during playback. This is typically used when playing HTTP
+or RTSP streams.</p>
+<p>Since 1.10</p>
+<div class="refsect3">
+<a name="gst-player-config-set-user-agent.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> configuration</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>agent</p></td>
+<td class="parameter_description"><p>the string to use as user agent</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="gst-player-config-get-user-agent"></a><h3>gst_player_config_get_user_agent ()</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *
+gst_player_config_get_user_agent (<em class="parameter"><code>const <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *config</code></em>);</pre>
+<p>Return the user agent which has been configured using
+<a class="link" href="gst-plugins-bad-libs-gstplayer.html#gst-player-config-set-user-agent" title="gst_player_config_set_user_agent ()"><code class="function">gst_player_config_set_user_agent()</code></a> if any.</p>
+<div class="refsect3">
+<a name="gst-player-config-get-user-agent.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer"><span class="type">GstPlayer</span></a> configuration</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-player-config-get-user-agent.returns"></a><h4>Returns</h4>
+<p> the configured agent, or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+Since 1.10. </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">
@@ -1031,23 +2301,32 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-STATE-STOPPED:CAPS"></a>GST_PLAYER_STATE_STOPPED</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the player is stopped.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-STATE-BUFFERING:CAPS"></a>GST_PLAYER_STATE_BUFFERING</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the player is buffering.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-STATE-PAUSED:CAPS"></a>GST_PLAYER_STATE_PAUSED</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the player is paused.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-STATE-PLAYING:CAPS"></a>GST_PLAYER_STATE_PLAYING</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>the player is currently playing a
+stream.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1072,8 +2351,10 @@
 </colgroup>
 <tbody><tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-ERROR-FAILED:CAPS"></a>GST_PLAYER_ERROR_FAILED</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>generic error.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr></tbody>
 </table></div>
 </div>
@@ -1092,23 +2373,32 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-COLOR-BALANCE-BRIGHTNESS:CAPS"></a>GST_PLAYER_COLOR_BALANCE_BRIGHTNESS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>brightness or black level.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-COLOR-BALANCE-CONTRAST:CAPS"></a>GST_PLAYER_COLOR_BALANCE_CONTRAST</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>contrast or luma gain.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-COLOR-BALANCE-SATURATION:CAPS"></a>GST_PLAYER_COLOR_BALANCE_SATURATION</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>color saturation or chroma
+gain.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-PLAYER-COLOR-BALANCE-HUE:CAPS"></a>GST_PLAYER_COLOR_BALANCE_HUE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>hue or color balance.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -1219,15 +2509,6 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="GstPlayer--position-update-interval"></a><h3>The <code class="literal">“position-update-interval”</code> property</h3>
-<pre class="programlisting">  “position-update-interval” <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
-<p>Interval in milliseconds between two position-updated signals.Pass 0 to stop updating the position.</p>
-<p>Flags: Read / Write</p>
-<p>Allowed values: &lt;= 10000</p>
-<p>Default value: 100</p>
-</div>
-<hr>
-<div class="refsect2">
 <a name="GstPlayer--rate"></a><h3>The <code class="literal">“rate”</code> property</h3>
 <pre class="programlisting">  “rate”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
 <p>Playback rate.</p>
diff --git a/docs/libs/html/gst-plugins-bad-libs-h264parser.html b/docs/libs/html/gst-plugins-bad-libs-h264parser.html
index fa74876..eca1b07 100644
--- a/docs/libs/html/gst-plugins-bad-libs-h264parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-h264parser.html
@@ -27,7 +27,8 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-h264parser.top_of_page"></a>h264parser</span></h2>
-<p>h264parser</p>
+<p>h264parser — Convenience library for h264 video
+bitstream parsing.</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -310,6 +311,48 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-h264parser.description"></a><h2>Description</h2>
+<p>It offers you bitstream parsing in AVC mode or not. To identify Nals in a bitstream and
+parse its headers, you should call:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+<a class="link" href="gst-plugins-bad-libs-h264parser.html#gst-h264-parser-identify-nalu" title="gst_h264_parser_identify_nalu ()"><span class="type">gst_h264_parser_identify_nalu</span></a> to identify the following nalu in not AVC bitstreams
+  </li>
+<li class="listitem">
+<a class="link" href="gst-plugins-bad-libs-h264parser.html#gst-h264-parser-identify-nalu-avc" title="gst_h264_parser_identify_nalu_avc ()"><span class="type">gst_h264_parser_identify_nalu_avc</span></a> to identify the nalu in AVC bitstreams
+  </li>
+</ul></div>
+<p>Then, depending on the <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnitType" title="enum GstH264NalUnitType"><span class="type">GstH264NalUnitType</span></a> of the newly parsed <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a>, you should
+call the differents functions to parse the structure:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+     From <a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE:CAPS"><span class="type">GST_H264_NAL_SLICE</span></a> to <a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE-IDR:CAPS"><span class="type">GST_H264_NAL_SLICE_IDR</span></a>: <a class="link" href="gst-plugins-bad-libs-h264parser.html#gst-h264-parser-parse-slice-hdr" title="gst_h264_parser_parse_slice_hdr ()"><span class="type">gst_h264_parser_parse_slice_hdr</span></a>
+</li>
+<li class="listitem">
+<a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SEI:CAPS"><span class="type">GST_H264_NAL_SEI</span></a>: <a class="link" href="gst-plugins-bad-libs-h264parser.html#gst-h264-parser-parse-sei" title="gst_h264_parser_parse_sei ()"><span class="type">gst_h264_parser_parse_sei</span></a>
+</li>
+<li class="listitem">
+<a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SPS:CAPS"><span class="type">GST_H264_NAL_SPS</span></a>: <a class="link" href="gst-plugins-bad-libs-h264parser.html#gst-h264-parser-parse-sps" title="gst_h264_parser_parse_sps ()"><span class="type">gst_h264_parser_parse_sps</span></a>
+</li>
+<li class="listitem">
+<a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-PPS:CAPS"><span class="type">GST_H264_NAL_PPS</span></a>: <a class="link" href="gst-plugins-bad-libs-h264parser.html#gst-h264-parser-parse-pps" title="gst_h264_parser_parse_pps ()"><span class="type">gst_h264_parser_parse_pps</span></a>
+</li>
+<li class="listitem">
+     Any other: <a class="link" href="gst-plugins-bad-libs-h264parser.html#gst-h264-parser-parse-nal" title="gst_h264_parser_parse_nal ()"><span class="type">gst_h264_parser_parse_nal</span></a>
+</li>
+</ul></div>
+<p>Note: You should always call gst_h264_parser_parse_nal if you don't actually need
+<a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnitType" title="enum GstH264NalUnitType"><span class="type">GstH264NalUnitType</span></a> to be parsed for your personnal use, in order to guarantee that the
+<a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a> is always up to date.</p>
+<p>For more details about the structures, look at the ITU-T H.264 and ISO/IEC 14496-10 – MPEG-4
+Part 10 specifications, you can download them from:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+    ITU-T H.264: http://www.itu.int/rec/T-REC-H.264
+  </li>
+<li class="listitem">
+    ISO/IEC 14496-10: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=56538
+  </li>
+</ul></div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-h264parser.functions_details"></a><h2>Functions</h2>
@@ -351,6 +394,53 @@
                                <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#gsize"><span class="type">gsize</span></a> size</code></em>,
                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> *nalu</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+ and fills <em class="parameter"><code>nalu</code></em>
+ from the next nalu data from <em class="parameter"><code>data</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-h264-parser-identify-nalu.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>nalparser</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</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 parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>offset</p></td>
+<td class="parameter_description"><p>the offset from which to parse <em class="parameter"><code>data</code></em>
+</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>nalu</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> where to store parsed nal headers</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-h264-parser-identify-nalu.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264ParserResult" title="enum GstH264ParserResult"><span class="type">GstH264ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -362,6 +452,57 @@
                                    <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 href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> nal_length_size</code></em>,
                                    <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> *nalu</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+ and sets <em class="parameter"><code>nalu</code></em>
+.</p>
+<div class="refsect3">
+<a name="gst-h264-parser-identify-nalu-avc.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>nalparser</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</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 parse, must be the beging of the Nal unit</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>offset</p></td>
+<td class="parameter_description"><p>the offset from which to parse <em class="parameter"><code>data</code></em>
+</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>nal_length_size</p></td>
+<td class="parameter_description"><p>the size in bytes of the AVC nal length prefix.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nalu</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> where to store parsed nal headers</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-h264-parser-identify-nalu-avc.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264ParserResult" title="enum GstH264ParserResult"><span class="type">GstH264ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -369,6 +510,36 @@
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264ParserResult" title="enum GstH264ParserResult"><span class="returnvalue">GstH264ParserResult</span></a>
 gst_h264_parser_parse_nal (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a> *nalparser</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> *nalu</code></em>);</pre>
+<p>This function should be called in the case one doesn't need to
+parse a specific structure. It is necessary to do so to make
+sure <em class="parameter"><code>nalparser</code></em>
+ is up to date.</p>
+<div class="refsect3">
+<a name="gst-h264-parser-parse-nal.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>nalparser</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nalu</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-h264-parser-parse-nal.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264ParserResult" title="enum GstH264ParserResult"><span class="type">GstH264ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -379,6 +550,50 @@
                                  <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264SliceHdr" title="struct GstH264SliceHdr"><span class="type">GstH264SliceHdr</span></a> *slice</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> parse_pred_weight_table</code></em>,
                                  <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> parse_dec_ref_pic_marking</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills the <em class="parameter"><code>slice</code></em>
+ structure.</p>
+<div class="refsect3">
+<a name="gst-h264-parser-parse-slice-hdr.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>nalparser</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nalu</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SLICE:CAPS"><span class="type">GST_H264_NAL_SLICE</span></a> <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>slice</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264SliceHdr" title="struct GstH264SliceHdr"><span class="type">GstH264SliceHdr</span></a> to fill.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>parse_pred_weight_table</p></td>
+<td class="parameter_description"><p>Whether to parse the pred_weight_table or not</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>parse_dec_ref_pic_marking</p></td>
+<td class="parameter_description"><p>Whether to parse the dec_ref_pic_marking or not</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-h264-parser-parse-slice-hdr.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264ParserResult" title="enum GstH264ParserResult"><span class="type">GstH264ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -388,6 +603,45 @@
                            <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> *nalu</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264SPS" title="struct GstH264SPS"><span class="type">GstH264SPS</span></a> *sps</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> parse_vui_params</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills the <em class="parameter"><code>sps</code></em>
+ structure.</p>
+<div class="refsect3">
+<a name="gst-h264-parser-parse-sps.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>nalparser</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nalu</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SPS:CAPS"><span class="type">GST_H264_NAL_SPS</span></a> <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sps</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264SPS" title="struct GstH264SPS"><span class="type">GstH264SPS</span></a> to fill.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>parse_vui_params</p></td>
+<td class="parameter_description"><p>Whether to parse the vui_params or not</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-h264-parser-parse-sps.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264ParserResult" title="enum GstH264ParserResult"><span class="type">GstH264ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -396,6 +650,44 @@
 gst_h264_parser_parse_pps (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a> *nalparser</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> *nalu</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264PPS" title="struct GstH264PPS"><span class="type">GstH264PPS</span></a> *pps</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills the <em class="parameter"><code>pps</code></em>
+ structure.</p>
+<p>The resulting <em class="parameter"><code>pps</code></em>
+ data structure shall be deallocated with the
+<a class="link" href="gst-plugins-bad-libs-h264parser.html#gst-h264-pps-clear" title="gst_h264_pps_clear ()"><code class="function">gst_h264_pps_clear()</code></a> function when it is no longer needed, or prior
+to parsing a new PPS NAL unit.</p>
+<div class="refsect3">
+<a name="gst-h264-parser-parse-pps.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>nalparser</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nalu</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-PPS:CAPS"><span class="type">GST_H264_NAL_PPS</span></a> <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pps</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264PPS" title="struct GstH264PPS"><span class="type">GstH264PPS</span></a> to fill.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-h264-parser-parse-pps.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264ParserResult" title="enum GstH264ParserResult"><span class="type">GstH264ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -404,18 +696,75 @@
 gst_h264_parser_parse_sei (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a> *nalparser</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> *nalu</code></em>,
                            <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Arrays.html#GArray"><span class="type">GArray</span></a> **messages</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, create and fills the <em class="parameter"><code>messages</code></em>
+ array.</p>
+<div class="refsect3">
+<a name="gst-h264-parser-parse-sei.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>nalparser</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nalu</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SEI:CAPS"><span class="type">GST_H264_NAL_SEI</span></a> <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>messages</p></td>
+<td class="parameter_description"><p>The GArray of <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264SEIMessage" title="struct GstH264SEIMessage"><span class="type">GstH264SEIMessage</span></a> to fill. The caller must free it when done.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-h264-parser-parse-sei.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264ParserResult" title="enum GstH264ParserResult"><span class="type">GstH264ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-h264-nal-parser-new"></a><h3>gst_h264_nal_parser_new ()</h3>
 <pre class="programlisting"><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="returnvalue">GstH264NalParser</span></a> *
 gst_h264_nal_parser_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a>. It should be freed with
+gst_h264_nal_parser_free after use.</p>
+<div class="refsect3">
+<a name="gst-h264-nal-parser-new.returns"></a><h4>Returns</h4>
+<p> a new <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-h264-nal-parser-free"></a><h3>gst_h264_nal_parser_free ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_h264_nal_parser_free (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a> *nalparser</code></em>);</pre>
+<p>Frees <em class="parameter"><code>nalparser</code></em>
+ and sets it to <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-h264-nal-parser-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>nalparser</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a> to free</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -424,6 +773,40 @@
 gst_h264_parse_sps (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> *nalu</code></em>,
                     <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264SPS" title="struct GstH264SPS"><span class="type">GstH264SPS</span></a> *sps</code></em>,
                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> parse_vui_params</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills the <em class="parameter"><code>sps</code></em>
+ structure.</p>
+<div class="refsect3">
+<a name="gst-h264-parse-sps.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>nalu</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-SPS:CAPS"><span class="type">GST_H264_NAL_SPS</span></a> <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sps</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264SPS" title="struct GstH264SPS"><span class="type">GstH264SPS</span></a> to fill.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>parse_vui_params</p></td>
+<td class="parameter_description"><p>Whether to parse the vui_params or not</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-h264-parse-sps.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264ParserResult" title="enum GstH264ParserResult"><span class="type">GstH264ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -432,12 +815,68 @@
 gst_h264_parse_pps (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a> *nalparser</code></em>,
                     <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> *nalu</code></em>,
                     <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264PPS" title="struct GstH264PPS"><span class="type">GstH264PPS</span></a> *pps</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills the <em class="parameter"><code>pps</code></em>
+ structure.</p>
+<p>The resulting <em class="parameter"><code>pps</code></em>
+ data structure shall be deallocated with the
+<a class="link" href="gst-plugins-bad-libs-h264parser.html#gst-h264-pps-clear" title="gst_h264_pps_clear ()"><code class="function">gst_h264_pps_clear()</code></a> function when it is no longer needed, or prior
+to parsing a new PPS NAL unit.</p>
+<div class="refsect3">
+<a name="gst-h264-parse-pps.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>nalparser</p></td>
+<td class="parameter_description"><p>a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalParser" title="struct GstH264NalParser"><span class="type">GstH264NalParser</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>nalu</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GST-H264-NAL-PPS:CAPS"><span class="type">GST_H264_NAL_PPS</span></a> <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnit" title="struct GstH264NalUnit"><span class="type">GstH264NalUnit</span></a> to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pps</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264PPS" title="struct GstH264PPS"><span class="type">GstH264PPS</span></a> to fill.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-h264-parse-pps.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264ParserResult" title="enum GstH264ParserResult"><span class="type">GstH264ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-h264-pps-clear"></a><h3>gst_h264_pps_clear ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_h264_pps_clear (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264PPS" title="struct GstH264PPS"><span class="type">GstH264PPS</span></a> *pps</code></em>);</pre>
+<p>Clears all <em class="parameter"><code>pps</code></em>
+ internal resources.</p>
+<div class="refsect3">
+<a name="gst-h264-pps-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>pps</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264PPS" title="struct GstH264PPS"><span class="type">GstH264PPS</span></a> to free</p></td>
+<td class="parameter_annotations"> </td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -446,6 +885,37 @@
 gst_h264_quant_matrix_8x8_get_zigzag_from_raster
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> out_quant[64]</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> quant[64]</code></em>);</pre>
+<p>Converts quantization matrix <em class="parameter"><code>quant</code></em>
+ from raster scan order to
+zigzag scan order and store the resulting factors into <em class="parameter"><code>out_quant</code></em>
+.</p>
+<p>Note: it is an error to pass the same table in both <em class="parameter"><code>quant</code></em>
+ and
+<em class="parameter"><code>out_quant</code></em>
+ arguments.</p>
+<div class="refsect3">
+<a name="gst-h264-quant-matrix-8x8-get-zigzag-from-raster.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>out_quant</p></td>
+<td class="parameter_description"><p> The resulting quantization matrix. </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>quant</p></td>
+<td class="parameter_description"><p>The source quantization matrix</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -454,6 +924,37 @@
 gst_h264_quant_matrix_8x8_get_raster_from_zigzag
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> out_quant[64]</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> quant[64]</code></em>);</pre>
+<p>Converts quantization matrix <em class="parameter"><code>quant</code></em>
+ from zigzag scan order to
+raster scan order and store the resulting factors into <em class="parameter"><code>out_quant</code></em>
+.</p>
+<p>Note: it is an error to pass the same table in both <em class="parameter"><code>quant</code></em>
+ and
+<em class="parameter"><code>out_quant</code></em>
+ arguments.</p>
+<div class="refsect3">
+<a name="gst-h264-quant-matrix-8x8-get-raster-from-zigzag.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>out_quant</p></td>
+<td class="parameter_description"><p> The resulting quantization matrix. </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>quant</p></td>
+<td class="parameter_description"><p>The source quantization matrix</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -462,6 +963,37 @@
 gst_h264_quant_matrix_4x4_get_zigzag_from_raster
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> out_quant[16]</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> quant[16]</code></em>);</pre>
+<p>Converts quantization matrix <em class="parameter"><code>quant</code></em>
+ from raster scan order to
+zigzag scan order and store the resulting factors into <em class="parameter"><code>out_quant</code></em>
+.</p>
+<p>Note: it is an error to pass the same table in both <em class="parameter"><code>quant</code></em>
+ and
+<em class="parameter"><code>out_quant</code></em>
+ arguments.</p>
+<div class="refsect3">
+<a name="gst-h264-quant-matrix-4x4-get-zigzag-from-raster.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>out_quant</p></td>
+<td class="parameter_description"><p> The resulting quantization matrix. </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>quant</p></td>
+<td class="parameter_description"><p>The source quantization matrix</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -470,6 +1002,37 @@
 gst_h264_quant_matrix_4x4_get_raster_from_zigzag
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> out_quant[16]</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> quant[16]</code></em>);</pre>
+<p>Converts quantization matrix <em class="parameter"><code>quant</code></em>
+ from zigzag scan order to
+raster scan order and store the resulting factors into <em class="parameter"><code>out_quant</code></em>
+.</p>
+<p>Note: it is an error to pass the same table in both <em class="parameter"><code>quant</code></em>
+ and
+<em class="parameter"><code>out_quant</code></em>
+ arguments.</p>
+<div class="refsect3">
+<a name="gst-h264-quant-matrix-4x4-get-raster-from-zigzag.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>out_quant</p></td>
+<td class="parameter_description"><p> The resulting quantization matrix. </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>quant</p></td>
+<td class="parameter_description"><p>The source quantization matrix</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.4</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -480,6 +1043,55 @@
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> pic_struct</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *fps_num</code></em>,
                                     <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a> *fps_den</code></em>);</pre>
+<p>Calculate framerate of a video sequence using <em class="parameter"><code>sps</code></em>
+ VUI information,
+<em class="parameter"><code>field_pic_flag</code></em>
+ from a slice header and <em class="parameter"><code>pic_struct</code></em>
+ from <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264PicTiming" title="struct GstH264PicTiming"><span class="type">GstH264PicTiming</span></a> SEI
+message.</p>
+<p>If framerate is variable or can't be determined, <em class="parameter"><code>fps_num</code></em>
+ will be set to 0
+and <em class="parameter"><code>fps_den</code></em>
+ to 1.</p>
+<div class="refsect3">
+<a name="gst-h264-video-calculate-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>sps</p></td>
+<td class="parameter_description"><p>Current Sequence Parameter Set</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>field_pic_flag</p></td>
+<td class="parameter_description"><p>Current <em class="parameter"><code>field_pic_flag</code></em>
+, obtained from latest slice header</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>pic_struct</p></td>
+<td class="parameter_description"><p><em class="parameter"><code>pic_struct</code></em>
+value if available, 0 otherwise</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>fps_num</p></td>
+<td class="parameter_description"><p> The resulting fps numerator. </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>fps_den</p></td>
+<td class="parameter_description"><p> The resulting fps denominator. </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>
 </div>
 <div class="refsect1">
@@ -498,6 +1110,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstH264NalUnitType"></a><h3>enum GstH264NalUnitType</h3>
+<p>Indicates the type of H264 Nal Units</p>
 <div class="refsect3">
 <a name="GstH264NalUnitType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -509,103 +1122,143 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-UNKNOWN:CAPS"></a>GST_H264_NAL_UNKNOWN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Unknown nal type</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SLICE:CAPS"></a>GST_H264_NAL_SLICE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Slice nal</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SLICE-DPA:CAPS"></a>GST_H264_NAL_SLICE_DPA</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>DPA slice nal</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SLICE-DPB:CAPS"></a>GST_H264_NAL_SLICE_DPB</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>DPB slice nal</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SLICE-DPC:CAPS"></a>GST_H264_NAL_SLICE_DPC</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>DPC slice nal</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SLICE-IDR:CAPS"></a>GST_H264_NAL_SLICE_IDR</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>DPR slice nal</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SEI:CAPS"></a>GST_H264_NAL_SEI</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Supplemental enhancement information (SEI) nal unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SPS:CAPS"></a>GST_H264_NAL_SPS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Sequence parameter set (SPS) nal unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-PPS:CAPS"></a>GST_H264_NAL_PPS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Picture parameter set (PPS) nal unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-AU-DELIMITER:CAPS"></a>GST_H264_NAL_AU_DELIMITER</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Access unit (AU) delimiter nal unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SEQ-END:CAPS"></a>GST_H264_NAL_SEQ_END</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>End of sequence nal unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-STREAM-END:CAPS"></a>GST_H264_NAL_STREAM_END</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>End of stream nal unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-FILLER-DATA:CAPS"></a>GST_H264_NAL_FILLER_DATA</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Filler data nal lunit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SPS-EXT:CAPS"></a>GST_H264_NAL_SPS_EXT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Sequence parameter set (SPS) extension NAL unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-PREFIX-UNIT:CAPS"></a>GST_H264_NAL_PREFIX_UNIT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Prefix NAL unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SUBSET-SPS:CAPS"></a>GST_H264_NAL_SUBSET_SPS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Subset sequence parameter set (SSPS) NAL unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-DEPTH-SPS:CAPS"></a>GST_H264_NAL_DEPTH_SPS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Depth parameter set (DPS) NAL unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SLICE-AUX:CAPS"></a>GST_H264_NAL_SLICE_AUX</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Auxiliary coded picture without partitioning NAL unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SLICE-EXT:CAPS"></a>GST_H264_NAL_SLICE_EXT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Coded slice extension NAL unit</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-NAL-SLICE-DEPTH:CAPS"></a>GST_H264_NAL_SLICE_DEPTH</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Coded slice extension for depth or 3D-AVC texture view</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -614,6 +1267,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstH264ParserResult"></a><h3>enum GstH264ParserResult</h3>
+<p>The result of parsing H264 data.</p>
 <div class="refsect3">
 <a name="GstH264ParserResult.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -625,33 +1279,45 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-PARSER-OK:CAPS"></a>GST_H264_PARSER_OK</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>The parsing succeded</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-PARSER-BROKEN-DATA:CAPS"></a>GST_H264_PARSER_BROKEN_DATA</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>The data to parse is broken</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-PARSER-BROKEN-LINK:CAPS"></a>GST_H264_PARSER_BROKEN_LINK</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>The link to structure needed for the parsing couldn't be found</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-PARSER-ERROR:CAPS"></a>GST_H264_PARSER_ERROR</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>An error occured when parsing</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-PARSER-NO-NAL:CAPS"></a>GST_H264_PARSER_NO_NAL</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>No nal found during the parsing</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-PARSER-NO-NAL-END:CAPS"></a>GST_H264_PARSER_NO_NAL_END</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Start of the nal found, but not the end.</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -660,6 +1326,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstH264SEIPayloadType"></a><h3>enum GstH264SEIPayloadType</h3>
+<p>The type of SEI message.</p>
 <div class="refsect3">
 <a name="GstH264SEIPayloadType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -671,28 +1338,40 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-BUF-PERIOD:CAPS"></a>GST_H264_SEI_BUF_PERIOD</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Buffering Period SEI Message</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-PIC-TIMING:CAPS"></a>GST_H264_SEI_PIC_TIMING</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Picture Timing SEI Message</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-RECOVERY-POINT:CAPS"></a>GST_H264_SEI_RECOVERY_POINT</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Recovery Point SEI Message (D.2.7)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-STEREO-VIDEO-INFO:CAPS"></a>GST_H264_SEI_STEREO_VIDEO_INFO</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>stereo video info SEI message (Since: 1.6)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-FRAME-PACKING:CAPS"></a>GST_H264_SEI_FRAME_PACKING</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Frame Packing Arrangement (FPA) message that
+    contains the 3D arrangement for stereoscopic 3D video (Since: 1.6)
+...</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -701,6 +1380,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstH264SEIPicStructType"></a><h3>enum GstH264SEIPicStructType</h3>
+<p>SEI pic_struct type</p>
 <div class="refsect3">
 <a name="GstH264SEIPicStructType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -712,48 +1392,68 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-PIC-STRUCT-FRAME:CAPS"></a>GST_H264_SEI_PIC_STRUCT_FRAME</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Picture is a frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-PIC-STRUCT-TOP-FIELD:CAPS"></a>GST_H264_SEI_PIC_STRUCT_TOP_FIELD</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Top field of frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-PIC-STRUCT-BOTTOM-FIELD:CAPS"></a>GST_H264_SEI_PIC_STRUCT_BOTTOM_FIELD</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Botom field of frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-PIC-STRUCT-TOP-BOTTOM:CAPS"></a>GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Top bottom field of frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-PIC-STRUCT-BOTTOM-TOP:CAPS"></a>GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>bottom top field of frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-PIC-STRUCT-TOP-BOTTOM-TOP:CAPS"></a>GST_H264_SEI_PIC_STRUCT_TOP_BOTTOM_TOP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>top bottom top field of frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-PIC-STRUCT-BOTTOM-TOP-BOTTOM:CAPS"></a>GST_H264_SEI_PIC_STRUCT_BOTTOM_TOP_BOTTOM</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>bottom top bottom field of frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-PIC-STRUCT-FRAME-DOUBLING:CAPS"></a>GST_H264_SEI_PIC_STRUCT_FRAME_DOUBLING</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>indicates that the frame should
+ be displayed two times consecutively</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-H264-SEI-PIC-STRUCT-FRAME-TRIPLING:CAPS"></a>GST_H264_SEI_PIC_STRUCT_FRAME_TRIPLING</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>indicates that the frame should be
+ displayed three times consecutively</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -762,6 +1462,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstH264SliceType"></a><h3>enum GstH264SliceType</h3>
+<p>Type of Picture slice</p>
 <div class="refsect3">
 <a name="GstH264SliceType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -831,6 +1532,7 @@
 <pre class="programlisting">struct GstH264NalParser {
 };
 </pre>
+<p>H264 NAL Parser (opaque structure).</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -855,6 +1557,79 @@
   } extension;
 };
 </pre>
+<p>Structure defining the Nal unit headers</p>
+<div class="refsect3">
+<a name="GstH264NalUnit.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstH264NalUnit.ref-idc"></a>ref_idc</code></em>;</p></td>
+<td class="struct_member_description"><p>not equal to 0 specifies that the content of the NAL unit
+contains a sequence parameter set, a sequence parameter set
+extension, a subset sequence parameter set, a picture parameter
+set, a slice of a reference picture, a slice data partition of a
+reference picture, or a prefix NAL unit preceding a slice of a
+reference picture.</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="GstH264NalUnit.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>A <a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264NalUnitType" title="enum GstH264NalUnitType"><span class="type">GstH264NalUnitType</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="GstH264NalUnit.idr-pic-flag"></a>idr_pic_flag</code></em>;</p></td>
+<td class="struct_member_description"><p>calculated idr_pic_flag</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="GstH264NalUnit.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>The size of the nal unit starting from <em class="parameter"><code>offset</code></em>
+, thus
+including the header bytes. e.g. <em class="parameter"><code>type</code></em>
+(nal_unit_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="GstH264NalUnit.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset of the actual start of the nal unit, thus
+including the header 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#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstH264NalUnit.sc-offset"></a>sc_offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset of the start code of the nal unit</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="GstH264NalUnit.valid"></a>valid</code></em>;</p></td>
+<td class="struct_member_description"><p>If the nal unit is valid, which means it has
+already been parsed</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="GstH264NalUnit.data"></a>data</code></em>;</p></td>
+<td class="struct_member_description"><p>The data from which the Nalu has been parsed</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="GstH264NalUnit.header-bytes"></a>header_bytes</code></em>;</p></td>
+<td class="struct_member_description"><p>The size of the NALU header in bytes (Since 1.6)</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="GstH264NalUnit.extension-type"></a>extension_type</code></em>;</p></td>
+<td class="struct_member_description"><p>the extension type (Since 1.6)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -932,6 +1707,274 @@
   } extension;
 };
 </pre>
+<p>H264 Sequence Parameter Set (SPS)</p>
+<div class="refsect3">
+<a name="GstH264SPS.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="GstH264SPS.id"></a>id</code></em>;</p></td>
+<td class="struct_member_description"><p>The ID of the sequence parameter set</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="GstH264SPS.profile-idc"></a>profile_idc</code></em>;</p></td>
+<td class="struct_member_description"><p>indicate the profile to which the coded video sequence conforms</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="GstH264SPS.constraint-set0-flag"></a>constraint_set0_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.constraint-set1-flag"></a>constraint_set1_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.constraint-set2-flag"></a>constraint_set2_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.constraint-set3-flag"></a>constraint_set3_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.constraint-set4-flag"></a>constraint_set4_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.constraint-set5-flag"></a>constraint_set5_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.level-idc"></a>level_idc</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.chroma-format-idc"></a>chroma_format_idc</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.separate-colour-plane-flag"></a>separate_colour_plane_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.bit-depth-luma-minus8"></a>bit_depth_luma_minus8</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.bit-depth-chroma-minus8"></a>bit_depth_chroma_minus8</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.qpprime-y-zero-transform-bypass-flag"></a>qpprime_y_zero_transform_bypass_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.scaling-matrix-present-flag"></a>scaling_matrix_present_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.scaling-lists-4x4"></a>scaling_lists_4x4</code></em>[6][16];</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.scaling-lists-8x8"></a>scaling_lists_8x8</code></em>[6][64];</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.log2-max-frame-num-minus4"></a>log2_max_frame_num_minus4</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.pic-order-cnt-type"></a>pic_order_cnt_type</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.log2-max-pic-order-cnt-lsb-minus4"></a>log2_max_pic_order_cnt_lsb_minus4</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.delta-pic-order-always-zero-flag"></a>delta_pic_order_always_zero_flag</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#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="GstH264SPS.offset-for-non-ref-pic"></a>offset_for_non_ref_pic</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#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="GstH264SPS.offset-for-top-to-bottom-field"></a>offset_for_top_to_bottom_field</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.num-ref-frames-in-pic-order-cnt-cycle"></a>num_ref_frames_in_pic_order_cnt_cycle</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#gint32"><span class="type">gint32</span></a> <em class="structfield"><code><a name="GstH264SPS.offset-for-ref-frame"></a>offset_for_ref_frame</code></em>[255];</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="GstH264SPS.num-ref-frames"></a>num_ref_frames</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.gaps-in-frame-num-value-allowed-flag"></a>gaps_in_frame_num_value_allowed_flag</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="GstH264SPS.pic-width-in-mbs-minus1"></a>pic_width_in_mbs_minus1</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="GstH264SPS.pic-height-in-map-units-minus1"></a>pic_height_in_map_units_minus1</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.frame-mbs-only-flag"></a>frame_mbs_only_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.mb-adaptive-frame-field-flag"></a>mb_adaptive_frame_field_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.direct-8x8-inference-flag"></a>direct_8x8_inference_flag</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.frame-cropping-flag"></a>frame_cropping_flag</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="GstH264SPS.frame-crop-left-offset"></a>frame_crop_left_offset</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="GstH264SPS.frame-crop-right-offset"></a>frame_crop_right_offset</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="GstH264SPS.frame-crop-top-offset"></a>frame_crop_top_offset</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="GstH264SPS.frame-crop-bottom-offset"></a>frame_crop_bottom_offset</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.vui-parameters-present-flag"></a>vui_parameters_present_flag</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264VUIParams" title="struct GstH264VUIParams"><span class="type">GstH264VUIParams</span></a> <em class="structfield"><code><a name="GstH264SPS.vui-parameters"></a>vui_parameters</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.chroma-array-type"></a>chroma_array_type</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="GstH264SPS.max-frame-num"></a>max_frame_num</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#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstH264SPS.width"></a>width</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#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstH264SPS.height"></a>height</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#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstH264SPS.crop-rect-width"></a>crop_rect_width</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#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstH264SPS.crop-rect-height"></a>crop_rect_height</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#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstH264SPS.crop-rect-x"></a>crop_rect_x</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#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstH264SPS.crop-rect-y"></a>crop_rect_y</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#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstH264SPS.fps-num-removed"></a>fps_num_removed</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#gint"><span class="type">gint</span></a> <em class="structfield"><code><a name="GstH264SPS.fps-den-removed"></a>fps_den_removed</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstH264SPS.valid"></a>valid</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264SPS.extension-type"></a>extension_type</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -981,6 +2024,7 @@
   gboolean valid;
 };
 </pre>
+<p>H264 Picture Parameter Set</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1000,6 +2044,78 @@
   guint8 time_offset_length;
 };
 </pre>
+<p>Defines the HRD parameters</p>
+<div class="refsect3">
+<a name="GstH264HRDParams.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="GstH264HRDParams.cpb-cnt-minus1"></a>cpb_cnt_minus1</code></em>;</p></td>
+<td class="struct_member_description"><p>plus 1 specifies the number of alternative
+CPB specifications in the bitstream</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="GstH264HRDParams.bit-rate-scale"></a>bit_rate_scale</code></em>;</p></td>
+<td class="struct_member_description"><p>specifies the maximum input bit rate of the
+SchedSelIdx-th CPB</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="GstH264HRDParams.cpb-size-scale"></a>cpb_size_scale</code></em>;</p></td>
+<td class="struct_member_description"><p>specifies the CPB size of the SchedSelIdx-th CPB
+<em class="parameter"><code>guint32</code></em>
+bit_rate_value_minus1: specifies the maximum input bit rate for the
+SchedSelIdx-th CPB</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="GstH264HRDParams.bit-rate-value-minus1"></a>bit_rate_value_minus1</code></em>[32];</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="GstH264HRDParams.cpb-size-value-minus1"></a>cpb_size_value_minus1</code></em>[32];</p></td>
+<td class="struct_member_description"><p>is used together with cpb_size_scale to specify the
+SchedSelIdx-th CPB 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264HRDParams.cbr-flag"></a>cbr_flag</code></em>[32];</p></td>
+<td class="struct_member_description"><p>Specifies if running in itermediate bitrate mode or constant</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="GstH264HRDParams.initial-cpb-removal-delay-length-minus1"></a>initial_cpb_removal_delay_length_minus1</code></em>;</p></td>
+<td class="struct_member_description"><p>specifies the length in bits of
+the cpb_removal_delay syntax 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264HRDParams.cpb-removal-delay-length-minus1"></a>cpb_removal_delay_length_minus1</code></em>;</p></td>
+<td class="struct_member_description"><p>specifies the length in bits of the
+dpb_output_delay syntax 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264HRDParams.dpb-output-delay-length-minus1"></a>dpb_output_delay_length_minus1</code></em>;</p></td>
+<td class="struct_member_description"><div class="blockquote"><blockquote class="blockquote"><p>0 specifies the length in bits of the time_offset syntax element.
+=0 specifies that the time_offset syntax element is not present</p></blockquote></div></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="GstH264HRDParams.time-offset-length"></a>time_offset_length</code></em>;</p></td>
+<td class="struct_member_description"><p>Length of the time offset</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1059,6 +2175,225 @@
   guint par_d;
 };
 </pre>
+<p>The structure representing the VUI parameters.</p>
+<div class="refsect3">
+<a name="GstH264VUIParams.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="GstH264VUIParams.aspect-ratio-info-present-flag"></a>aspect_ratio_info_present_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> specifies that aspect_ratio_idc is present.
+<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> specifies that aspect_ratio_idc is not present
+<em class="parameter"><code>aspect_ratio_idc</code></em>
+specifies the value of the sample aspect ratio of the luma samples
+<em class="parameter"><code>sar_width</code></em>
+indicates the horizontal size of the sample aspect ratio
+<em class="parameter"><code>sar_height</code></em>
+indicates the vertical size of the sample aspect ratio</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="GstH264VUIParams.aspect-ratio-idc"></a>aspect_ratio_idc</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstH264VUIParams.sar-width"></a>sar_width</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstH264VUIParams.sar-height"></a>sar_height</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264VUIParams.overscan-info-present-flag"></a>overscan_info_present_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> overscan_appropriate_flag is present <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</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="GstH264VUIParams.overscan-appropriate-flag"></a>overscan_appropriate_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> indicates that the cropped decoded pictures
+output are suitable for display using overscan. <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> the cropped decoded pictures
+output contain visually important 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264VUIParams.video-signal-type-present-flag"></a>video_signal_type_present_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> specifies that video_format, video_full_range_flag and
+colour_description_present_flag are present.</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="GstH264VUIParams.video-format"></a>video_format</code></em>;</p></td>
+<td class="struct_member_description"><p>indicates the representation of the picture</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="GstH264VUIParams.video-full-range-flag"></a>video_full_range_flag</code></em>;</p></td>
+<td class="struct_member_description"><p>indicates the black level and range of the luma and chroma signals</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="GstH264VUIParams.colour-description-present-flag"></a>colour_description_present_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> specifies that colour_primaries,
+transfer_characteristics and matrix_coefficients are present</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="GstH264VUIParams.colour-primaries"></a>colour_primaries</code></em>;</p></td>
+<td class="struct_member_description"><p>indicates the chromaticity coordinates of the source primaries</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="GstH264VUIParams.transfer-characteristics"></a>transfer_characteristics</code></em>;</p></td>
+<td class="struct_member_description"><p>indicates the opto-electronic transfer characteristic</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="GstH264VUIParams.matrix-coefficients"></a>matrix_coefficients</code></em>;</p></td>
+<td class="struct_member_description"><p>describes the matrix coefficients used in deriving luma and chroma signals</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="GstH264VUIParams.chroma-loc-info-present-flag"></a>chroma_loc_info_present_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> specifies that chroma_sample_loc_type_top_field and
+chroma_sample_loc_type_bottom_field are present, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</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="GstH264VUIParams.chroma-sample-loc-type-top-field"></a>chroma_sample_loc_type_top_field</code></em>;</p></td>
+<td class="struct_member_description"><p>specify the location of chroma for top field
+<em class="parameter"><code>chroma_sample_loc_type_bottom_field</code></em>
+specify the location of chroma for bottom field</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="GstH264VUIParams.chroma-sample-loc-type-bottom-field"></a>chroma_sample_loc_type_bottom_field</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264VUIParams.timing-info-present-flag"></a>timing_info_present_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> specifies that num_units_in_tick,
+time_scale and fixed_frame_rate_flag are present in the bitstream</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="GstH264VUIParams.num-units-in-tick"></a>num_units_in_tick</code></em>;</p></td>
+<td class="struct_member_description"><p>is the number of time units of a clock operating at the frequency time_scale Hz
+time_scale: is the number of time units that pass in one second</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="GstH264VUIParams.time-scale"></a>time_scale</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264VUIParams.fixed-frame-rate-flag"></a>fixed_frame_rate_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> indicates that the temporal distance between the HRD output times
+of any two consecutive pictures in output order is constrained as specified in the spec, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
+otherwise.</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="GstH264VUIParams.nal-hrd-parameters-present-flag"></a>nal_hrd_parameters_present_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if nal hrd parameters present in the bitstream</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams" title="struct GstH264HRDParams"><span class="type">GstH264HRDParams</span></a> <em class="structfield"><code><a name="GstH264VUIParams.nal-hrd-parameters"></a>nal_hrd_parameters</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264VUIParams.vcl-hrd-parameters-present-flag"></a>vcl_hrd_parameters_present_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if nal vlc hrd parameters present in the bitstream</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-h264parser.html#GstH264HRDParams" title="struct GstH264HRDParams"><span class="type">GstH264HRDParams</span></a> <em class="structfield"><code><a name="GstH264VUIParams.vcl-hrd-parameters"></a>vcl_hrd_parameters</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264VUIParams.low-delay-hrd-flag"></a>low_delay_hrd_flag</code></em>;</p></td>
+<td class="struct_member_description"><p>specifies the HRD operational 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstH264VUIParams.pic-struct-present-flag"></a>pic_struct_present_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> specifies that picture timing SEI messages are present or not</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="GstH264VUIParams.bitstream-restriction-flag"></a>bitstream_restriction_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> specifies that the following coded video sequence bitstream restriction
+parameters are present</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="GstH264VUIParams.motion-vectors-over-pic-boundaries-flag"></a>motion_vectors_over_pic_boundaries_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> indicates that no sample outside the
+picture boundaries and no sample at a fractional sample position, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> indicates that one or more
+samples outside picture boundaries may be used in inter prediction</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="GstH264VUIParams.max-bytes-per-pic-denom"></a>max_bytes_per_pic_denom</code></em>;</p></td>
+<td class="struct_member_description"><p>indicates a number of bytes not exceeded by the sum of the sizes of
+the VCL NAL units associated with any coded picture in the coded video sequence.</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="GstH264VUIParams.max-bits-per-mb-denom"></a>max_bits_per_mb_denom</code></em>;</p></td>
+<td class="struct_member_description"><p>indicates the maximum number of coded bits of macroblock_layer</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="GstH264VUIParams.log2-max-mv-length-horizontal"></a>log2_max_mv_length_horizontal</code></em>;</p></td>
+<td class="struct_member_description"><p>indicate the maximum absolute value of a decoded horizontal
+motion vector 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#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="GstH264VUIParams.log2-max-mv-length-vertical"></a>log2_max_mv_length_vertical</code></em>;</p></td>
+<td class="struct_member_description"><p>indicate the maximum absolute value of a decoded vertical
+motion vector 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#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="GstH264VUIParams.num-reorder-frames"></a>num_reorder_frames</code></em>;</p></td>
+<td class="struct_member_description"><p>indicates the maximum number of frames, complementary field pairs,
+or non-paired fields that precede any 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#guint32"><span class="type">guint32</span></a> <em class="structfield"><code><a name="GstH264VUIParams.max-dec-frame-buffering"></a>max_dec_frame_buffering</code></em>;</p></td>
+<td class="struct_member_description"><p>specifies the required size of the HRD decoded picture buffer in
+units of frame buffers.</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="GstH264VUIParams.par-n"></a>par_n</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#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstH264VUIParams.par-d"></a>par_d</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/libs/html/gst-plugins-bad-libs-jpegparser.html b/docs/libs/html/gst-plugins-bad-libs-jpegparser.html
index d76b4c7..d74b3a0 100644
--- a/docs/libs/html/gst-plugins-bad-libs-jpegparser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-jpegparser.html
@@ -27,7 +27,7 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-jpegparser.top_of_page"></a>jpegparser</span></h2>
-<p>jpegparser</p>
+<p>jpegparser — Convenience library for JPEG bitstream parsing.</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -200,6 +200,11 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-jpegparser.description"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id-1.2.4.4.6.2"></a><p>
+Provides useful functions for parsing JPEG images
+</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-jpegparser.functions_details"></a><h2>Functions</h2>
@@ -210,6 +215,50 @@
                 <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#gsize"><span class="type">gsize</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> offset</code></em>);</pre>
+<p>Parses the JPEG bitstream contained in <em class="parameter"><code>data</code></em>
+, and returns the
+detected segment as a <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a>.</p>
+<p>Note that a valid segment may be returned with a length that exceeds
+the available data. It is up to the caller to make sure there's enough
+data available when parsing the segment.</p>
+<div class="refsect3">
+<a name="gst-jpeg-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>segment</p></td>
+<td class="parameter_description"><p> pointer to a <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> structure to fill 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>]</span></td>
+</tr>
+<tr>
+<td class="parameter_name"><p>data</p></td>
+<td class="parameter_description"><p>The data to parse</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>offset</p></td>
+<td class="parameter_description"><p>The offset from which to start parsing</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-jpeg-parse.returns"></a><h4>Returns</h4>
+<p> TRUE if a packet start code was found.</p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -217,6 +266,38 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_jpeg_segment_parse_frame_header (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *segment</code></em>,
                                      <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr" title="struct GstJpegFrameHdr"><span class="type">GstJpegFrameHdr</span></a> *frame_hdr</code></em>);</pre>
+<p>Parses the <em class="parameter"><code>frame_hdr</code></em>
+ JPEG frame header structure members from <em class="parameter"><code>segment</code></em>
+.</p>
+<p>The caller must make sure there is enough data for the whole segment
+available.</p>
+<div class="refsect3">
+<a name="gst-jpeg-segment-parse-frame-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>segment</p></td>
+<td class="parameter_description"><p>the JPEG segment</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>frame_hdr</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameHdr" title="struct GstJpegFrameHdr"><span class="type">GstJpegFrameHdr</span></a> structure to fill 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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-jpeg-segment-parse-frame-header.returns"></a><h4>Returns</h4>
+<p> TRUE if the frame header was correctly parsed.</p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -224,6 +305,38 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_jpeg_segment_parse_scan_header (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *segment</code></em>,
                                     <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegScanHdr" title="struct GstJpegScanHdr"><span class="type">GstJpegScanHdr</span></a> *scan_hdr</code></em>);</pre>
+<p>Parses the <em class="parameter"><code>scan_hdr</code></em>
+ JPEG scan header structure members from <em class="parameter"><code>segment</code></em>
+.</p>
+<p>The caller must make sure there is enough data for the whole segment
+available.</p>
+<div class="refsect3">
+<a name="gst-jpeg-segment-parse-scan-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>segment</p></td>
+<td class="parameter_description"><p>the JPEG segment</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>scan_hdr</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegScanHdr" title="struct GstJpegScanHdr"><span class="type">GstJpegScanHdr</span></a> structure to fill 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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-jpeg-segment-parse-scan-header.returns"></a><h4>Returns</h4>
+<p> TRUE if the scan header was correctly parsed</p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -231,6 +344,44 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_jpeg_segment_parse_huffman_table (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *segment</code></em>,
                                       <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables" title="struct GstJpegHuffmanTables"><span class="type">GstJpegHuffmanTables</span></a> *huff_tables</code></em>);</pre>
+<p>Parses the JPEG Huffman table structure members from <em class="parameter"><code>segment</code></em>
+.</p>
+<p>The caller must make sure there is enough data for the whole segment
+available.</p>
+<p>Note: <em class="parameter"><code>huf_tables</code></em>
+ represents the complete set of possible Huffman
+tables. However, the parser will only write to the Huffman table
+specified by the table destination identifier (Th). While doing so,
+the <em class="parameter"><code>valid</code></em>
+ flag of the specified Huffman table will also be set to
+<a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>;</p>
+<div class="refsect3">
+<a name="gst-jpeg-segment-parse-huffman-table.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>segment</p></td>
+<td class="parameter_description"><p>the JPEG segment</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>huff_tables</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables" title="struct GstJpegHuffmanTables"><span class="type">GstJpegHuffmanTables</span></a> structure to fill 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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-jpeg-segment-parse-huffman-table.returns"></a><h4>Returns</h4>
+<p> TRUE if the Huffman table was correctly parsed.</p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -239,6 +390,44 @@
 gst_jpeg_segment_parse_quantization_table
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *segment</code></em>,
                                 <em class="parameter"><code><a href="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable"><span class="type">GstJpegQuantTables</span></a> *quant_tables</code></em>);</pre>
+<p>Parses the JPEG quantization table structure members from <em class="parameter"><code>segment</code></em>
+.</p>
+<p>The caller must make sure there is enough data for the whole segment
+available.</p>
+<p>Note: <em class="parameter"><code>quant_tables</code></em>
+ represents the complete set of possible
+quantization tables. However, the parser will only write to the
+quantization table specified by the table destination identifier
+(Tq). While doing so, the <em class="parameter"><code>valid</code></em>
+ flag of the specified quantization
+table will also be set to <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
+<div class="refsect3">
+<a name="gst-jpeg-segment-parse-quantization-table.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>segment</p></td>
+<td class="parameter_description"><p>the JPEG segment</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>quant_tables</p></td>
+<td class="parameter_description"><p> The <a href="gst-plugins-bad-libs-jpegparser.html#GstJpegQuantTable"><span class="type">GstJpegQuantTables</span></a> structure to fill 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>]</span></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-jpeg-segment-parse-quantization-table.returns"></a><h4>Returns</h4>
+<p> TRUE if the quantization table was correctly parsed.</p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -247,6 +436,35 @@
 gst_jpeg_segment_parse_restart_interval
                                (<em class="parameter"><code>const <a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegSegment" title="struct GstJpegSegment"><span class="type">GstJpegSegment</span></a> *segment</code></em>,
                                 <em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> *interval</code></em>);</pre>
+<p>The caller must make sure there is enough data for the whole segment
+available.</p>
+<div class="refsect3">
+<a name="gst-jpeg-segment-parse-restart-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>segment</p></td>
+<td class="parameter_description"><p>the JPEG segment</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>interval</p></td>
+<td class="parameter_description"><p> The parsed restart interval value. </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-jpeg-segment-parse-restart-interval.returns"></a><h4>Returns</h4>
+<p> TRUE if the restart interval value was correctly parsed.</p>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -260,6 +478,25 @@
 <a name="gst-jpeg-get-default-huffman-tables"></a><h3>gst_jpeg_get_default_huffman_tables ()</h3>
 <pre class="programlisting"><span class="returnvalue">void</span>
 gst_jpeg_get_default_huffman_tables (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTables" title="struct GstJpegHuffmanTables"><span class="type">GstJpegHuffmanTables</span></a> *huff_tables</code></em>);</pre>
+<p>Fills in <em class="parameter"><code>huf_tables</code></em>
+ with the default AC/DC Huffman tables, as
+specified by the JPEG standard.</p>
+<div class="refsect3">
+<a name="gst-jpeg-get-default-huffman-tables.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody><tr>
+<td class="parameter_name"><p>huf_tables</p></td>
+<td class="parameter_description"><p> The default DC/AC Huffman tables to fill 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>]</span></td>
+</tr></tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 <div class="refsect1">
@@ -268,18 +505,24 @@
 <a name="GST-JPEG-MAX-FRAME-COMPONENTS:CAPS"></a><h3>GST_JPEG_MAX_FRAME_COMPONENTS</h3>
 <pre class="programlisting">#define GST_JPEG_MAX_FRAME_COMPONENTS   256
 </pre>
+<p>Maximum number of image components in a frame (Nf).</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-JPEG-MAX-SCAN-COMPONENTS:CAPS"></a><h3>GST_JPEG_MAX_SCAN_COMPONENTS</h3>
 <pre class="programlisting">#define GST_JPEG_MAX_SCAN_COMPONENTS    4
 </pre>
+<p>Maximum number of image components in a scan (Ns).</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GST-JPEG-MAX-QUANT-ELEMENTS:CAPS"></a><h3>GST_JPEG_MAX_QUANT_ELEMENTS</h3>
 <pre class="programlisting">#define GST_JPEG_MAX_QUANT_ELEMENTS     64
 </pre>
+<p>Number of elements in the quantization table.</p>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -320,6 +563,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstJpegEntropyCodingMode"></a><h3>enum GstJpegEntropyCodingMode</h3>
+<p>JPEG entropy coding mode.</p>
 <div class="refsect3">
 <a name="GstJpegEntropyCodingMode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -331,21 +575,27 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-JPEG-ENTROPY-CODING-HUFFMAN:CAPS"></a>GST_JPEG_ENTROPY_CODING_HUFFMAN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Huffman coding</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-JPEG-ENTROPY-CODING-ARITHMETIC:CAPS"></a>GST_JPEG_ENTROPY_CODING_ARITHMETIC</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>arithmetic coding</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
 <a name="GstJpegProfile"></a><h3>enum GstJpegProfile</h3>
+<p>JPEG encoding processes.</p>
 <div class="refsect3">
 <a name="GstJpegProfile.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -357,27 +607,36 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-BASELINE:CAPS"></a>GST_JPEG_PROFILE_BASELINE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Baseline DCT</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-EXTENDED:CAPS"></a>GST_JPEG_PROFILE_EXTENDED</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Extended sequential DCT</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-PROGRESSIVE:CAPS"></a>GST_JPEG_PROFILE_PROGRESSIVE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Progressive DCT</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-JPEG-PROFILE-LOSSLESS:CAPS"></a>GST_JPEG_PROFILE_LOSSLESS</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Lossless (sequential)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
 </div>
+<p class="since">Since: 1.6</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -389,6 +648,45 @@
   gssize size;
 };
 </pre>
+<p>A structure that contains the type of a segment, its offset and its size.</p>
+<div class="refsect3">
+<a name="GstJpegSegment.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><span class="type">GstJpegMarker</span> <em class="structfield"><code><a name="GstJpegSegment.marker"></a>marker</code></em>;</p></td>
+<td class="struct_member_description"><p>The type of the segment that starts at <em class="parameter"><code>offset</code></em>
+</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#guint8"><span class="type">guint8</span></a> *<em class="structfield"><code><a name="GstJpegSegment.data"></a>data</code></em>;</p></td>
+<td class="struct_member_description"><p>the data containing the jpeg segment starting at <em class="parameter"><code>offset</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="GstJpegSegment.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>The offset to the segment start in bytes. This is the
+exact start of the segment, no marker code included</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#gssize"><span class="type">gssize</span></a> <em class="structfield"><code><a name="GstJpegSegment.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>The size of the segment in bytes, or -1 if the end was not
+found. It is the exact size of the segment, without the sync byte and
+marker code but including any length bytes.</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">
@@ -401,6 +699,45 @@
   GstJpegFrameComponent components[GST_JPEG_MAX_FRAME_COMPONENTS];
 };
 </pre>
+<p>Frame header.</p>
+<div class="refsect3">
+<a name="GstJpegFrameHdr.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="GstJpegFrameHdr.sample-precision"></a>sample_precision</code></em>;</p></td>
+<td class="struct_member_description"><p>Sample precision (P)</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="GstJpegFrameHdr.width"></a>width</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of samples per line (X)</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="GstJpegFrameHdr.height"></a>height</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of lines (Y)</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="GstJpegFrameHdr.num-components"></a>num_components</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of image components in frame (Nf)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegFrameComponent" title="struct GstJpegFrameComponent"><span class="type">GstJpegFrameComponent</span></a> <em class="structfield"><code><a name="GstJpegFrameHdr.components"></a>components</code></em>[GST_JPEG_MAX_FRAME_COMPONENTS];</p></td>
+<td class="struct_member_description"><p>Image components</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">
@@ -412,6 +749,40 @@
   guint8 quant_table_selector;          /* 0 .. 3       */
 };
 </pre>
+<p>Component-specification parameters.</p>
+<div class="refsect3">
+<a name="GstJpegFrameComponent.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="GstJpegFrameComponent.identifier"></a>identifier</code></em>;</p></td>
+<td class="struct_member_description"><p>Component identifier (Ci)</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="GstJpegFrameComponent.horizontal-factor"></a>horizontal_factor</code></em>;</p></td>
+<td class="struct_member_description"><p>Horizontal sampling factor (Hi)</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="GstJpegFrameComponent.vertical-factor"></a>vertical_factor</code></em>;</p></td>
+<td class="struct_member_description"><p>Vertical sampling factor (Vi)</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="GstJpegFrameComponent.quant-table-selector"></a>quant_table_selector</code></em>;</p></td>
+<td class="struct_member_description"><p>Quantization table destination selector (Tqi)</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">
@@ -421,6 +792,30 @@
   GstJpegScanComponent components[GST_JPEG_MAX_SCAN_COMPONENTS];
 };
 </pre>
+<p>Scan header.</p>
+<div class="refsect3">
+<a name="GstJpegScanHdr.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="GstJpegScanHdr.num-components"></a>num_components</code></em>;</p></td>
+<td class="struct_member_description"><p>Number of image components in scan (Ns)</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegScanComponent" title="struct GstJpegScanComponent"><span class="type">GstJpegScanComponent</span></a> <em class="structfield"><code><a name="GstJpegScanHdr.components"></a>components</code></em>[GST_JPEG_MAX_SCAN_COMPONENTS];</p></td>
+<td class="struct_member_description"><p>Image components</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">
@@ -431,6 +826,35 @@
     guint8 ac_selector;                 /* 0 .. 3       */
 };
 </pre>
+<p>Component-specification parameters.</p>
+<div class="refsect3">
+<a name="GstJpegScanComponent.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="GstJpegScanComponent.component-selector"></a>component_selector</code></em>;</p></td>
+<td class="struct_member_description"><p>Scan component selector (Csj)</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="GstJpegScanComponent.dc-selector"></a>dc_selector</code></em>;</p></td>
+<td class="struct_member_description"><p>DC entropy coding table destination selector (Tdj)</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="GstJpegScanComponent.ac-selector"></a>ac_selector</code></em>;</p></td>
+<td class="struct_member_description"><p>AC entropy coding table destination selector (Taj)</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">
@@ -440,6 +864,31 @@
   GstJpegHuffmanTable ac_tables[GST_JPEG_MAX_SCAN_COMPONENTS];
 };
 </pre>
+<p>Helper data structure that holds all AC/DC Huffman tables used to
+decode an image.</p>
+<div class="refsect3">
+<a name="GstJpegHuffmanTables.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-bad-libs-jpegparser.html#GstJpegHuffmanTable" title="struct GstJpegHuffmanTable"><span class="type">GstJpegHuffmanTable</span></a> <em class="structfield"><code><a name="GstJpegHuffmanTables.dc-tables"></a>dc_tables</code></em>[GST_JPEG_MAX_SCAN_COMPONENTS];</p></td>
+<td class="struct_member_description"><p>DC Huffman tables</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-jpegparser.html#GstJpegHuffmanTable" title="struct GstJpegHuffmanTable"><span class="type">GstJpegHuffmanTable</span></a> <em class="structfield"><code><a name="GstJpegHuffmanTables.ac-tables"></a>ac_tables</code></em>[GST_JPEG_MAX_SCAN_COMPONENTS];</p></td>
+<td class="struct_member_description"><p>AC Huffman tables</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">
@@ -450,6 +899,36 @@
   gboolean valid;
 };
 </pre>
+<p>Huffman table.</p>
+<div class="refsect3">
+<a name="GstJpegHuffmanTable.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="GstJpegHuffmanTable.huf-bits"></a>huf_bits</code></em>[16];</p></td>
+<td class="struct_member_description"><p>Number of Huffman codes of length i + 1 (Li)</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="GstJpegHuffmanTable.huf-values"></a>huf_values</code></em>[256];</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#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstJpegHuffmanTable.valid"></a>valid</code></em>;</p></td>
+<td class="struct_member_description"><p>If the Huffman table is valid, which means it has already
+been parsed</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">
@@ -460,6 +939,36 @@
   gboolean valid;
 };
 </pre>
+<p>Quantization table.</p>
+<div class="refsect3">
+<a name="GstJpegQuantTable.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="GstJpegQuantTable.quant-precision"></a>quant_precision</code></em>;</p></td>
+<td class="struct_member_description"><p>Quantization table element precision (Pq)</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="GstJpegQuantTable.quant-table"></a>quant_table</code></em>[GST_JPEG_MAX_QUANT_ELEMENTS];</p></td>
+<td class="struct_member_description"><p>Quantization table elements (Qk)</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="GstJpegQuantTable.valid"></a>valid</code></em>;</p></td>
+<td class="struct_member_description"><p>If the quantization table is valid, which means it has
+already been parsed</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.6</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html b/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
index a8d0536..54a9a29 100644
--- a/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-mpeg4parser.html
@@ -27,7 +27,8 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-mpeg4parser.top_of_page"></a>mpeg4parser</span></h2>
-<p>mpeg4parser</p>
+<p>mpeg4parser — Convenience library for parsing mpeg4 part 2 video
+bitstream.</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -196,6 +197,8 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-mpeg4parser.description"></a><h2>Description</h2>
+<p>For more details about the structures, you can refer to the
+specifications: ISO-IEC-14496-2_2004_MPEG4_VISUAL.pdf</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-mpeg4parser.functions_details"></a><h2>Functions</h2>
@@ -208,6 +211,58 @@
                  <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> offset</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>Parses <em class="parameter"><code>data</code></em>
+ and fills <em class="parameter"><code>packet</code></em>
+ with the information of the next packet
+found.</p>
+<div class="refsect3">
+<a name="gst-mpeg4-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>packet</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4Packet" title="struct GstMpeg4Packet"><span class="type">GstMpeg4Packet</span></a> to fill</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>skip_user_data</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 skip user data packet <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vop</p></td>
+<td class="parameter_description"><p>The last parsed <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoObjectPlane" title="struct GstMpeg4VideoObjectPlane"><span class="type">GstMpeg4VideoObjectPlane</span></a> or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if you do
+not need to detect the resync codes.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>offset</p></td>
+<td class="parameter_description"><p>offset from which to start the parsing</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 parse</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 <em class="parameter"><code>data</code></em>
+to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg4-parse.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4ParseResult" title="enum GstMpeg4ParseResult"><span class="type">GstMpeg4ParseResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -218,6 +273,52 @@
                                     <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoObjectLayer" title="struct GstMpeg4VideoObjectLayer"><span class="type">GstMpeg4VideoObjectLayer</span></a> *vol</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#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+ containing the video object plane packet, and fills the <em class="parameter"><code>vol</code></em>
+
+structure.</p>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-video-object-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>vop</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoObjectPlane" title="struct GstMpeg4VideoObjectPlane"><span class="type">GstMpeg4VideoObjectPlane</span></a> currently being parsed</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sprite_trajectory</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4SpriteTrajectory" title="struct GstMpeg4SpriteTrajectory"><span class="type">GstMpeg4SpriteTrajectory</span></a> to fill 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>vol</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoObjectLayer" title="struct GstMpeg4VideoObjectLayer"><span class="type">GstMpeg4VideoObjectLayer</span></a> structure to fill</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 parse</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 <em class="parameter"><code>data</code></em>
+to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-video-object-plane.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4ParseResult" title="enum GstMpeg4ParseResult"><span class="type">GstMpeg4ParseResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -226,6 +327,42 @@
 gst_mpeg4_parse_group_of_vop (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4GroupOfVOP" title="struct GstMpeg4GroupOfVOP"><span class="type">GstMpeg4GroupOfVOP</span></a> *gov</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#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+ containing the group of video object plane packet, and fills
+the <em class="parameter"><code>gov</code></em>
+ structure.</p>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-group-of-vop.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>gov</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4GroupOfVOP" title="struct GstMpeg4GroupOfVOP"><span class="type">GstMpeg4GroupOfVOP</span></a> structure to fill</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 parse</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 <em class="parameter"><code>data</code></em>
+to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-group-of-vop.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4ParseResult" title="enum GstMpeg4ParseResult"><span class="type">GstMpeg4ParseResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -235,6 +372,47 @@
                                     <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VisualObject" title="struct GstMpeg4VisualObject"><span class="type">GstMpeg4VisualObject</span></a> *vo</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#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+ containing the video object layer packet, and fills
+the <em class="parameter"><code>vol</code></em>
+ structure.</p>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-video-object-layer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vol</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoObjectLayer" title="struct GstMpeg4VideoObjectLayer"><span class="type">GstMpeg4VideoObjectLayer</span></a> structure to fill</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vo</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VisualObject" title="struct GstMpeg4VisualObject"><span class="type">GstMpeg4VisualObject</span></a> currently being parsed 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>data</p></td>
+<td class="parameter_description"><p>The data to parse</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 <em class="parameter"><code>data</code></em>
+to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-video-object-layer.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4ParseResult" title="enum GstMpeg4ParseResult"><span class="type">GstMpeg4ParseResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -244,6 +422,48 @@
                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoSignalType" title="struct GstMpeg4VideoSignalType"><span class="type">GstMpeg4VideoSignalType</span></a> *signal_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> *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> size</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+ containing the visual object packet, and fills
+the <em class="parameter"><code>vo</code></em>
+ structure.</p>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-visual-object.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vo</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VisualObject" title="struct GstMpeg4VisualObject"><span class="type">GstMpeg4VisualObject</span></a> structure to fill</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>signal_type</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoSignalType" title="struct GstMpeg4VideoSignalType"><span class="type">GstMpeg4VideoSignalType</span></a> to fill 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>data</p></td>
+<td class="parameter_description"><p>The data to parse, should contain the vo_start_code
+but not the start code prefix</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 <em class="parameter"><code>data</code></em>
+to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-visual-object.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4ParseResult" title="enum GstMpeg4ParseResult"><span class="type">GstMpeg4ParseResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -253,6 +473,43 @@
                                (<em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VisualObjectSequence" title="struct GstMpeg4VisualObjectSequence"><span class="type">GstMpeg4VisualObjectSequence</span></a> *vos</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#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+ containing the visual object sequence packet, and fills
+the <em class="parameter"><code>vos</code></em>
+ structure.</p>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-visual-object-sequence.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>vos</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VisualObjectSequence" title="struct GstMpeg4VisualObjectSequence"><span class="type">GstMpeg4VisualObjectSequence</span></a> structure to fill</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 parse, should contain the visual_object_sequence_start_code
+but not the start code prefix</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 <em class="parameter"><code>data</code></em>
+to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-visual-object-sequence.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4ParseResult" title="enum GstMpeg4ParseResult"><span class="type">GstMpeg4ParseResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -264,12 +521,63 @@
                                      <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4SpriteTrajectory" title="struct GstMpeg4SpriteTrajectory"><span class="type">GstMpeg4SpriteTrajectory</span></a> *sprite_trajectory</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#gsize"><span class="type">gsize</span></a> size</code></em>);</pre>
+<p>Parsers <em class="parameter"><code>data</code></em>
+ containing the video packet header
+and fills the <em class="parameter"><code>videopackethdr</code></em>
+ structure</p>
+<div class="refsect3">
+<a name="gst-mpeg4-parse-video-packet-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>videopackethdr</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoPacketHdr" title="struct GstMpeg4VideoPacketHdr"><span class="type">GstMpeg4VideoPacketHdr</span></a> structure to fill</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vol</p></td>
+<td class="parameter_description"><p>The last parsed <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoObjectLayer" title="struct GstMpeg4VideoObjectLayer"><span class="type">GstMpeg4VideoObjectLayer</span></a>, will be updated
+with the informations found during the parsing</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>vop</p></td>
+<td class="parameter_description"><p>The last parsed <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4VideoObjectPlane" title="struct GstMpeg4VideoObjectPlane"><span class="type">GstMpeg4VideoObjectPlane</span></a>, will be updated
+with the informations found during the parsing</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>sprite_trajectory</p></td>
+<td class="parameter_description"><p>A <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4SpriteTrajectory" title="struct GstMpeg4SpriteTrajectory"><span class="type">GstMpeg4SpriteTrajectory</span></a> to fill or <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
+with the informations found during the parsing</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 parse, should be set after the resync marker.</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 data to parse</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-mpeg4parser.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstMpeg4StartCode"></a><h3>enum GstMpeg4StartCode</h3>
+<p>Defines the different startcodes present in the bitstream as
+defined in: Table 6-3 — Start code values</p>
 <div class="refsect3">
 <a name="GstMpeg4StartCode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -406,6 +714,8 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpeg4VisualObjectType"></a><h3>enum GstMpeg4VisualObjectType</h3>
+<p>Defines the different visual object types as
+defined in: Table 6-5 -- Meaning of visual object type</p>
 <div class="refsect3">
 <a name="GstMpeg4VisualObjectType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -447,6 +757,8 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpeg4AspectRatioInfo"></a><h3>enum GstMpeg4AspectRatioInfo</h3>
+<p>Defines the different pixel aspect ratios as
+defined in: Table 6-12 -- Meaning of pixel aspect ratio</p>
 <div class="refsect3">
 <a name="GstMpeg4AspectRatioInfo.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -458,33 +770,45 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-SQUARE:CAPS"></a>GST_MPEG4_SQUARE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>1:1 square</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-625-TYPE-4-3:CAPS"></a>GST_MPEG4_625_TYPE_4_3</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>12:11 (625-type for 4:3 picture)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-525-TYPE-4-3:CAPS"></a>GST_MPEG4_525_TYPE_4_3</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>10:11 (525-type for 4:3 picture)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-625-TYPE-16-9:CAPS"></a>GST_MPEG4_625_TYPE_16_9</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>16:11 (625-type stretched for 16:9 picture)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-525-TYPE-16-9:CAPS"></a>GST_MPEG4_525_TYPE_16_9</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>40:33 (525-type stretched for 16:9 picture)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-EXTENDED-PAR:CAPS"></a>GST_MPEG4_EXTENDED_PAR</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Extended par</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -493,6 +817,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpeg4ParseResult"></a><h3>enum GstMpeg4ParseResult</h3>
+<p>Result type of any parsing function.</p>
 <div class="refsect3">
 <a name="GstMpeg4ParseResult.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -504,23 +829,31 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-PARSER-OK:CAPS"></a>GST_MPEG4_PARSER_OK</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>The parsing went well</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-PARSER-BROKEN-DATA:CAPS"></a>GST_MPEG4_PARSER_BROKEN_DATA</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>The bitstream was broken</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-PARSER-NO-PACKET:CAPS"></a>GST_MPEG4_PARSER_NO_PACKET</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>There was no packet in the buffer</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-PARSER-NO-PACKET-END:CAPS"></a>GST_MPEG4_PARSER_NO_PACKET_END</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>There was no packet end in the buffer</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-PARSER-ERROR:CAPS"></a>GST_MPEG4_PARSER_ERROR</p></td>
@@ -534,6 +867,8 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpeg4VideoObjectCodingType"></a><h3>enum GstMpeg4VideoObjectCodingType</h3>
+<p>The vop coding types as defined in:
+Table 6-20 -- Meaning of vop_coding_type</p>
 <div class="refsect3">
 <a name="GstMpeg4VideoObjectCodingType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -545,23 +880,31 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-I-VOP:CAPS"></a>GST_MPEG4_I_VOP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>intra-coded (I)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-P-VOP:CAPS"></a>GST_MPEG4_P_VOP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>predictive-coded (P)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-B-VOP:CAPS"></a>GST_MPEG4_B_VOP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>bidirectionally-predictive-coded (B)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG4-S-VOP:CAPS"></a>GST_MPEG4_S_VOP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>sprite (S)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -570,6 +913,8 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpeg4ChromaFormat"></a><h3>enum GstMpeg4ChromaFormat</h3>
+<p>The chroma format in use as
+defined in: Table 6-13 -- Meaning of chroma_format</p>
 <div class="refsect3">
 <a name="GstMpeg4ChromaFormat.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -589,6 +934,8 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpeg4VideoObjectLayerShape"></a><h3>enum GstMpeg4VideoObjectLayerShape</h3>
+<p>The different video object layer shapes as defined in:
+Table 6-16 — Video Object Layer shape type</p>
 <div class="refsect3">
 <a name="GstMpeg4VideoObjectLayerShape.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -625,6 +972,9 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpeg4SpriteEnable"></a><h3>enum GstMpeg4SpriteEnable</h3>
+<p>Indicates the usage of static sprite coding
+or global motion compensation (GMC) as defined in:
+Table V2 - 2 -- Meaning of sprite_enable codewords</p>
 <div class="refsect3">
 <a name="GstMpeg4SpriteEnable.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -656,6 +1006,10 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpeg4Profile"></a><h3>enum GstMpeg4Profile</h3>
+<p>Different defined profiles as defined in:
+9- Profiles and levels</p>
+<p>It is computed using:
+Table G.1 — FLC table for profile_and_level_indication</p>
 <div class="refsect3">
 <a name="GstMpeg4Profile.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -772,6 +1126,10 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpeg4Level"></a><h3>enum GstMpeg4Level</h3>
+<p>Different levels as defined in:
+9- Profiles and levels</p>
+<p>It is computed using:
+Table G.1 — FLC table for profile_and_level_indication</p>
 <div class="refsect3">
 <a name="GstMpeg4Level.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -837,6 +1195,8 @@
   GstMpeg4Profile profile;
 };
 </pre>
+<p>The visual object sequence structure as defined in:
+6.2.2 Visual Object Sequence and Visual Object</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -850,6 +1210,8 @@
   GstMpeg4VisualObjectType type;
 };
 </pre>
+<p>The visual object structure as defined in:
+6.2.2 Visual Object Sequence and Visual Object</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -865,6 +1227,8 @@
   guint8 matrix_coefficients;
 };
 </pre>
+<p>The video signal type structure as defined in:
+6.2.2 Visual Object Sequence and Visual Object.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -899,6 +1263,8 @@
   guint size;
 };
 </pre>
+<p>The video plane short header structure as defined in:
+6.2.5.2 Video Plane with Short Header</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -996,6 +1362,8 @@
   GstMpeg4VideoPlaneShortHdr short_hdr;
 };
 </pre>
+<p>The video object layer structure as defined in:
+6.2.3 Video Object Layer</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1005,6 +1373,9 @@
   guint16 sprite_ref_points[63]; /* Defined as "dv" in 6.2.5.4 */
 };
 </pre>
+<p>The sprite trajectory structure as defined in:
+7.8.4 Sprite reference point decoding and
+6.2.5.4 Sprite coding</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1018,6 +1389,8 @@
   guint8 broken_link;
 };
 </pre>
+<p>The group of video object plane structure as defined in:
+6.2.4 Group of Video Object Plane</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1071,6 +1444,8 @@
   guint    size;
 };
 </pre>
+<p>The Video object plane structure as defined in:
+6.2.5 Video Object Plane and Video Plane with Short Header</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1084,6 +1459,47 @@
   GstMpeg4StartCode type;
 };
 </pre>
+<p>A structure that contains the type of a packet, its offset and its size</p>
+<div class="refsect3">
+<a name="GstMpeg4Packet.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 href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *<em class="structfield"><code><a name="GstMpeg4Packet.data"></a>data</code></em>;</p></td>
+<td class="struct_member_description"><p>the data containing packet starting at <em class="parameter"><code>offset</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="GstMpeg4Packet.offset"></a>offset</code></em>;</p></td>
+<td class="struct_member_description"><p>offset of the start of the packet (without the 3 bytes startcode), but
+including the <a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4StartCode" title="enum GstMpeg4StartCode"><span class="type">GstMpeg4StartCode</span></a> byte.</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="GstMpeg4Packet.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>The size in bytes of the packet or <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#G-MAXUINT:CAPS"><code class="literal">G_MAXUINT</code></a> if the end wasn't 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="GstMpeg4Packet.marker-size"></a>marker_size</code></em>;</p></td>
+<td class="struct_member_description"><p>The size in bit of the resync marker.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+<tr>
+<td class="struct_member_name"><p><a class="link" href="gst-plugins-bad-libs-mpeg4parser.html#GstMpeg4StartCode" title="enum GstMpeg4StartCode"><span class="type">GstMpeg4StartCode</span></a> <em class="structfield"><code><a name="GstMpeg4Packet.type"></a>type</code></em>;</p></td>
+<td class="struct_member_description"><p>the type of the packet that start at <em class="parameter"><code>offset</code></em>
+</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1095,6 +1511,40 @@
   guint   size;
 };
 </pre>
+<p>The video packet header structure as defined in:
+6.2.5.2 Video Plane with Short Header</p>
+<div class="refsect3">
+<a name="GstMpeg4VideoPacketHdr.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="GstMpeg4VideoPacketHdr.header-extension-code"></a>header_extension_code</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpeg4VideoPacketHdr.macroblock-number"></a>macroblock_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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpeg4VideoPacketHdr.quant-scale"></a>quant_scale</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#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstMpeg4VideoPacketHdr.size"></a>size</code></em>;</p></td>
+<td class="struct_member_description"><p>Size of the header in bit.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html b/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
index 84f946b..82f7c7a 100644
--- a/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-mpegvideoparser.html
@@ -27,7 +27,8 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-mpegvideoparser.top_of_page"></a>mpegvideoparser</span></h2>
-<p>mpegvideoparser</p>
+<p>mpegvideoparser — Convenience library for mpeg1 and 2 video
+bitstream parsing.</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -196,6 +197,11 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-mpegvideoparser.description"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id-1.2.4.5.6.2"></a><p>
+Provides useful functions for mpeg videos bitstream parsing.
+</p>
+</div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-mpegvideoparser.functions_details"></a><h2>Functions</h2>
@@ -206,6 +212,49 @@
                       <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#gsize"><span class="type">gsize</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> offset</code></em>);</pre>
+<p>Parses the MPEG 1/2 video bitstream contained in <em class="parameter"><code>data</code></em>
+, and returns the
+offset, and if known also the size, in <em class="parameter"><code>packet</code></em>
+. This function will scan
+the data to find the next packet if needed.</p>
+<div class="refsect3">
+<a name="gst-mpeg-video-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>packet</p></td>
+<td class="parameter_description"><p>a <span class="type">GstMpegVideoPacket</span> to fill with the data and offset of the
+next packet found</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 parse</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>offset</p></td>
+<td class="parameter_description"><p>The offset from which to start parsing</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse.returns"></a><h4>Returns</h4>
+<p> TRUE if a packet start code was found, otherwise FALSE.</p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -215,7 +264,51 @@
                                       <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#gsize"><span class="type">gsize</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> offset</code></em>);</pre>
-<div class="warning"><p><code class="literal">gst_mpeg_video_parse_sequence_header</code> is deprecated and should not be used in newly-written code.</p></div>
+<div class="warning">
+<p><code class="literal">gst_mpeg_video_parse_sequence_header</code> is deprecated and should not be used in newly-written code.</p>
+<p>Use <code class="function">gst_mpeg_video_packet_parse_sequence_header()</code> instead.</p>
+</div>
+<p>Parses the <em class="parameter"><code>seqhdr</code></em>
+ Mpeg Video Sequence Header structure members from <em class="parameter"><code>data</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse-sequence-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>seqhdr</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceHdr" title="struct GstMpegVideoSequenceHdr"><span class="type">GstMpegVideoSequenceHdr</span></a> structure to fill. </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>The data from which to parse the sequence header</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>offset</p></td>
+<td class="parameter_description"><p>The offset in byte from which to start parsing <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-mpeg-video-parse-sequence-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 the seqhdr could be parsed correctly, <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">
@@ -225,7 +318,51 @@
                                      <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#gsize"><span class="type">gsize</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> offset</code></em>);</pre>
-<div class="warning"><p><code class="literal">gst_mpeg_video_parse_picture_header</code> is deprecated and should not be used in newly-written code.</p></div>
+<div class="warning">
+<p><code class="literal">gst_mpeg_video_parse_picture_header</code> is deprecated and should not be used in newly-written code.</p>
+<p>Use <code class="function">gst_mpeg_video_packet_parse_picture_header()</code> instead.</p>
+</div>
+<p>Parsers the <em class="parameter"><code>hdr</code></em>
+ Mpeg Video Picture Header structure members from <em class="parameter"><code>data</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse-picture-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>hdr</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureHdr" title="struct GstMpegVideoPictureHdr"><span class="type">GstMpegVideoPictureHdr</span></a> structure to fill. </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>The data from which to parse the picture header</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>offset</p></td>
+<td class="parameter_description"><p>The offset in byte from which to start the parsing</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse-picture-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 the picture sequence could be parsed correctly, <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">
@@ -236,7 +373,51 @@
                                 <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#gsize"><span class="type">gsize</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> offset</code></em>);</pre>
-<div class="warning"><p><code class="literal">gst_mpeg_video_parse_picture_extension</code> is deprecated and should not be used in newly-written code.</p></div>
+<div class="warning">
+<p><code class="literal">gst_mpeg_video_parse_picture_extension</code> is deprecated and should not be used in newly-written code.</p>
+<p>Use <code class="function">gst_mpeg_video_packet_parse_picture_extension()</code> instead.</p>
+</div>
+<p>Parse the <em class="parameter"><code>ext</code></em>
+ Mpeg Video Picture Extension structure members from <em class="parameter"><code>data</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse-picture-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>ext</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoPictureExt" title="struct GstMpegVideoPictureExt"><span class="type">GstMpegVideoPictureExt</span></a> structure to fill. </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>The data from which to parse the picture extension</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>offset</p></td>
+<td class="parameter_description"><p>The offset in byte from which to start the parsing</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse-picture-extension.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 picture extension could be parsed correctly,
+<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">
@@ -246,7 +427,50 @@
                           <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#gsize"><span class="type">gsize</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> offset</code></em>);</pre>
-<div class="warning"><p><code class="literal">gst_mpeg_video_parse_gop</code> is deprecated and should not be used in newly-written code.</p></div>
+<div class="warning">
+<p><code class="literal">gst_mpeg_video_parse_gop</code> is deprecated and should not be used in newly-written code.</p>
+<p>Use <code class="function">gst_mpeg_video_packet_parse_gop()</code> instead.</p>
+</div>
+<p>Parses the <em class="parameter"><code>gop</code></em>
+ Mpeg Video Group of Picture structure members from <em class="parameter"><code>data</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse-gop.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>gop</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoGop" title="struct GstMpegVideoGop"><span class="type">GstMpegVideoGop</span></a> structure to fill. </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>The data from which to parse the gop</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>offset</p></td>
+<td class="parameter_description"><p>The offset in byte from which to start the parsing</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse-gop.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 gop could be parsed correctly, <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">
@@ -257,7 +481,51 @@
                                 <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#gsize"><span class="type">gsize</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> offset</code></em>);</pre>
-<div class="warning"><p><code class="literal">gst_mpeg_video_parse_sequence_extension</code> is deprecated and should not be used in newly-written code.</p></div>
+<div class="warning">
+<p><code class="literal">gst_mpeg_video_parse_sequence_extension</code> is deprecated and should not be used in newly-written code.</p>
+<p>Use <code class="function">gst_mpeg_video_packet_parse_sequence_extension()</code> instead.</p>
+</div>
+<p>Parses the <em class="parameter"><code>seqext</code></em>
+ Mpeg Video Sequence Extension structure members from <em class="parameter"><code>data</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse-sequence-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>seqext</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoSequenceExt" title="struct GstMpegVideoSequenceExt"><span class="type">GstMpegVideoSequenceExt</span></a> structure to fill. </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>The data from which to parse the sequence extension</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>offset</p></td>
+<td class="parameter_description"><p>The offset in byte from which to start parsing <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-mpeg-video-parse-sequence-extension.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 seqext could be parsed correctly, <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">
@@ -279,7 +547,52 @@
                                 <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#gsize"><span class="type">gsize</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> offset</code></em>);</pre>
-<div class="warning"><p><code class="literal">gst_mpeg_video_parse_quant_matrix_extension</code> is deprecated and should not be used in newly-written code.</p></div>
+<div class="warning">
+<p><code class="literal">gst_mpeg_video_parse_quant_matrix_extension</code> is deprecated and should not be used in newly-written code.</p>
+<p>Use <code class="function">gst_mpeg_video_packet_parse_quant_matrix_extension()</code> instead.</p>
+</div>
+<p>Parses the <em class="parameter"><code>quant</code></em>
+ Mpeg Video Quant Matrix Extension structure members from
+<em class="parameter"><code>data</code></em>
+</p>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse-quant-matrix-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>quant</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-mpegvideoparser.html#GstMpegVideoQuantMatrixExt" title="struct GstMpegVideoQuantMatrixExt"><span class="type">GstMpegVideoQuantMatrixExt</span></a> structure to fill. </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>The data from which to parse the Quantization Matrix extension</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>offset</p></td>
+<td class="parameter_description"><p>The offset in byte from which to start the parsing</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-mpeg-video-parse-quant-matrix-extension.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 quant matrix extension could be parsed correctly,
+<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">
@@ -297,6 +610,37 @@
 gst_mpeg_video_quant_matrix_get_raster_from_zigzag
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> out_quant[64]</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> quant[64]</code></em>);</pre>
+<p>Converts quantization matrix <em class="parameter"><code>quant</code></em>
+ from zigzag scan order to
+raster scan order and store the resulting factors into <em class="parameter"><code>out_quant</code></em>
+.</p>
+<p>Note: it is an error to pass the same table in both <em class="parameter"><code>quant</code></em>
+ and
+<em class="parameter"><code>out_quant</code></em>
+ arguments.</p>
+<div class="refsect3">
+<a name="gst-mpeg-video-quant-matrix-get-raster-from-zigzag.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>out_quant</p></td>
+<td class="parameter_description"><p> The resulting quantization matrix. </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>quant</p></td>
+<td class="parameter_description"><p>The source quantization matrix</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.2</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -305,12 +649,44 @@
 gst_mpeg_video_quant_matrix_get_zigzag_from_raster
                                (<em class="parameter"><code><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint8"><span class="type">guint8</span></a> out_quant[64]</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> quant[64]</code></em>);</pre>
+<p>Converts quantization matrix <em class="parameter"><code>quant</code></em>
+ from raster scan order to
+zigzag scan order and store the resulting factors into <em class="parameter"><code>out_quant</code></em>
+.</p>
+<p>Note: it is an error to pass the same table in both <em class="parameter"><code>quant</code></em>
+ and
+<em class="parameter"><code>out_quant</code></em>
+ arguments.</p>
+<div class="refsect3">
+<a name="gst-mpeg-video-quant-matrix-get-zigzag-from-raster.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>out_quant</p></td>
+<td class="parameter_description"><p> The resulting quantization matrix. </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>quant</p></td>
+<td class="parameter_description"><p>The source quantization matrix</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<p class="since">Since: 1.2</p>
 </div>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-mpegvideoparser.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
 <a name="GstMpegVideoPacketTypeCode"></a><h3>enum GstMpegVideoPacketTypeCode</h3>
+<p>Indicates the type of MPEG packet</p>
 <div class="refsect3">
 <a name="GstMpegVideoPacketTypeCode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -322,48 +698,66 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-PICTURE:CAPS"></a>GST_MPEG_VIDEO_PACKET_PICTURE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Picture packet starting code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-SLICE-MIN:CAPS"></a>GST_MPEG_VIDEO_PACKET_SLICE_MIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Slice min packet starting code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-SLICE-MAX:CAPS"></a>GST_MPEG_VIDEO_PACKET_SLICE_MAX</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Slice max packet starting code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-USER-DATA:CAPS"></a>GST_MPEG_VIDEO_PACKET_USER_DATA</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>User data packet starting code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-SEQUENCE:CAPS"></a>GST_MPEG_VIDEO_PACKET_SEQUENCE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Sequence packet starting code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-EXTENSION:CAPS"></a>GST_MPEG_VIDEO_PACKET_EXTENSION</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Extension packet starting code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-SEQUENCE-END:CAPS"></a>GST_MPEG_VIDEO_PACKET_SEQUENCE_END</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Sequence end packet code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-GOP:CAPS"></a>GST_MPEG_VIDEO_PACKET_GOP</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Group of Picture packet starting code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-NONE:CAPS"></a>GST_MPEG_VIDEO_PACKET_NONE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>None packet code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -372,6 +766,9 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpegVideoPacketExtensionCode"></a><h3>enum GstMpegVideoPacketExtensionCode</h3>
+<p>Indicates what type of packets are in this block, some are mutually
+exclusive though - ie, sequence packs are accumulated separately. GOP &amp;
+Picture may occur together or separately.</p>
 <div class="refsect3">
 <a name="GstMpegVideoPacketExtensionCode.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -383,28 +780,38 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE:CAPS"></a>GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Sequence extension code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE-DISPLAY:CAPS"></a>GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_DISPLAY</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Sequence Display extension code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-EXT-QUANT-MATRIX:CAPS"></a>GST_MPEG_VIDEO_PACKET_EXT_QUANT_MATRIX</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Quantization Matrix extension code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-EXT-SEQUENCE-SCALABLE:CAPS"></a>GST_MPEG_VIDEO_PACKET_EXT_SEQUENCE_SCALABLE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Sequence Scalable extension code</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PACKET-EXT-PICTURE:CAPS"></a>GST_MPEG_VIDEO_PACKET_EXT_PICTURE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Picture coding extension</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -413,6 +820,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpegVideoLevel"></a><h3>enum GstMpegVideoLevel</h3>
+<p>Mpeg-2 Levels.</p>
 <div class="refsect3">
 <a name="GstMpegVideoLevel.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -424,23 +832,31 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-LEVEL-HIGH:CAPS"></a>GST_MPEG_VIDEO_LEVEL_HIGH</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>High level (HL)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-LEVEL-HIGH-1440:CAPS"></a>GST_MPEG_VIDEO_LEVEL_HIGH_1440</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>High 1440 level (H-14)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-LEVEL-MAIN:CAPS"></a>GST_MPEG_VIDEO_LEVEL_MAIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Main level (ML)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-LEVEL-LOW:CAPS"></a>GST_MPEG_VIDEO_LEVEL_LOW</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Low level (LL)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -449,6 +865,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpegVideoProfile"></a><h3>enum GstMpegVideoProfile</h3>
+<p>Mpeg-2 Profiles.</p>
 <div class="refsect3">
 <a name="GstMpegVideoProfile.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -460,33 +877,45 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PROFILE-422:CAPS"></a>GST_MPEG_VIDEO_PROFILE_422</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>4:2:2 profile (422)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PROFILE-HIGH:CAPS"></a>GST_MPEG_VIDEO_PROFILE_HIGH</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>High profile (HP)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PROFILE-SPATIALLY-SCALABLE:CAPS"></a>GST_MPEG_VIDEO_PROFILE_SPATIALLY_SCALABLE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Spatially Scalable profile (Spatial)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PROFILE-SNR-SCALABLE:CAPS"></a>GST_MPEG_VIDEO_PROFILE_SNR_SCALABLE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>SNR Scalable profile (SNR)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PROFILE-MAIN:CAPS"></a>GST_MPEG_VIDEO_PROFILE_MAIN</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Main profile (MP)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PROFILE-SIMPLE:CAPS"></a>GST_MPEG_VIDEO_PROFILE_SIMPLE</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Simple profile (SP)</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -495,6 +924,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpegVideoPictureType"></a><h3>enum GstMpegVideoPictureType</h3>
+<p>Picture type.</p>
 <div class="refsect3">
 <a name="GstMpegVideoPictureType.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -506,23 +936,31 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PICTURE-TYPE-I:CAPS"></a>GST_MPEG_VIDEO_PICTURE_TYPE_I</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Intra-coded (I) frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PICTURE-TYPE-P:CAPS"></a>GST_MPEG_VIDEO_PICTURE_TYPE_P</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Predictive-codec (P) frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PICTURE-TYPE-B:CAPS"></a>GST_MPEG_VIDEO_PICTURE_TYPE_B</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Bidirectionally predictive-coded (B) frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PICTURE-TYPE-D:CAPS"></a>GST_MPEG_VIDEO_PICTURE_TYPE_D</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>D frame</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -531,6 +969,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstMpegVideoPictureStructure"></a><h3>enum GstMpegVideoPictureStructure</h3>
+<p>Picture structure type.</p>
 <div class="refsect3">
 <a name="GstMpegVideoPictureStructure.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
@@ -542,18 +981,24 @@
 <tbody>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PICTURE-STRUCTURE-TOP-FIELD:CAPS"></a>GST_MPEG_VIDEO_PICTURE_STRUCTURE_TOP_FIELD</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Top field</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PICTURE-STRUCTURE-BOTTOM-FIELD:CAPS"></a>GST_MPEG_VIDEO_PICTURE_STRUCTURE_BOTTOM_FIELD</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Bottom field</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 <tr>
 <td class="enum_member_name"><p><a name="GST-MPEG-VIDEO-PICTURE-STRUCTURE-FRAME:CAPS"></a>GST_MPEG_VIDEO_PICTURE_STRUCTURE_FRAME</p></td>
-<td> </td>
-<td> </td>
+<td class="enum_member_description">
+<p>Frame picture</p>
+</td>
+<td class="enum_member_annotations"> </td>
 </tr>
 </tbody>
 </table></div>
@@ -582,6 +1027,99 @@
   guint   bitrate;
 };
 </pre>
+<p>The Mpeg2 Video Sequence Header structure.</p>
+<div class="refsect3">
+<a name="GstMpegVideoSequenceHdr.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegVideoSequenceHdr.width"></a>width</code></em>;</p></td>
+<td class="struct_member_description"><p>Width of each 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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegVideoSequenceHdr.height"></a>height</code></em>;</p></td>
+<td class="struct_member_description"><p>Height of each 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoSequenceHdr.aspect-ratio-info"></a>aspect_ratio_info</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoSequenceHdr.frame-rate-code"></a>frame_rate_code</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="GstMpegVideoSequenceHdr.bitrate-value"></a>bitrate_value</code></em>;</p></td>
+<td class="struct_member_description"><p>Value of the bitrate as is in the stream (400bps unit)</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="GstMpegVideoSequenceHdr.vbv-buffer-size-value"></a>vbv_buffer_size_value</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoSequenceHdr.constrained-parameters-flag"></a>constrained_parameters_flag</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if this stream uses contrained parameters.</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="GstMpegVideoSequenceHdr.load-intra-quantiser-matrix"></a>load_intra_quantiser_matrix</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> indicates the presence of intra_quantiser_matrix</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="GstMpegVideoSequenceHdr.intra-quantizer-matrix"></a>intra_quantizer_matrix</code></em>[64];</p></td>
+<td class="struct_member_description"><p>intra-quantization table, in zigzag scan order</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="GstMpegVideoSequenceHdr.load-non-intra-quantiser-matrix"></a>load_non_intra_quantiser_matrix</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> indicates the presence of non_intra_quantiser_matrix</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="GstMpegVideoSequenceHdr.non-intra-quantizer-matrix"></a>non_intra_quantizer_matrix</code></em>[64];</p></td>
+<td class="struct_member_description"><p>non-intra quantization table, in zigzag scan order</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="GstMpegVideoSequenceHdr.par-w"></a>par_w</code></em>;</p></td>
+<td class="struct_member_description"><p>Calculated Pixel Aspect Ratio 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="GstMpegVideoSequenceHdr.par-h"></a>par_h</code></em>;</p></td>
+<td class="struct_member_description"><p>Calculated Pixel Aspect Ratio 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="GstMpegVideoSequenceHdr.fps-n"></a>fps_n</code></em>;</p></td>
+<td class="struct_member_description"><p>Calculated Framrate nominator</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="GstMpegVideoSequenceHdr.fps-d"></a>fps_d</code></em>;</p></td>
+<td class="struct_member_description"><p>Calculated Framerate denominator</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="GstMpegVideoSequenceHdr.bitrate"></a>bitrate</code></em>;</p></td>
+<td class="struct_member_description"><p>the real bitrate of the Mpeg video stream in bits per second, 0 if VBR stream</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -606,6 +1144,83 @@
   guint8 profile_level_escape_bit;
 };
 </pre>
+<p>The Mpeg2 Video Sequence Extension structure.</p>
+<div class="refsect3">
+<a name="GstMpegVideoSequenceExt.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="GstMpegVideoSequenceExt.profile"></a>profile</code></em>;</p></td>
+<td class="struct_member_description"><p>mpeg2 decoder profile</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="GstMpegVideoSequenceExt.level"></a>level</code></em>;</p></td>
+<td class="struct_member_description"><p>mpeg2 decoder level</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="GstMpegVideoSequenceExt.progressive"></a>progressive</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the frames are progressive <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</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="GstMpegVideoSequenceExt.chroma-format"></a>chroma_format</code></em>;</p></td>
+<td class="struct_member_description"><p>indicates the chrominance 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoSequenceExt.horiz-size-ext"></a>horiz_size_ext</code></em>;</p></td>
+<td class="struct_member_description"><p>Horizontal 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoSequenceExt.vert-size-ext"></a>vert_size_ext</code></em>;</p></td>
+<td class="struct_member_description"><p>Vertical 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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegVideoSequenceExt.bitrate-ext"></a>bitrate_ext</code></em>;</p></td>
+<td class="struct_member_description"><p>The bitrate</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="GstMpegVideoSequenceExt.vbv-buffer-size-extension"></a>vbv_buffer_size_extension</code></em>;</p></td>
+<td class="struct_member_description"><p>VBV vuffer 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoSequenceExt.low-delay"></a>low_delay</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the sequence doesn't contain any B-pictures, <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
+otherwise</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="GstMpegVideoSequenceExt.fps-n-ext"></a>fps_n_ext</code></em>;</p></td>
+<td class="struct_member_description"><p>Framerate nominator code</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="GstMpegVideoSequenceExt.fps-d-ext"></a>fps_d_ext</code></em>;</p></td>
+<td class="struct_member_description"><p>Framerate denominator code</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="GstMpegVideoSequenceExt.profile-level-escape-bit"></a>profile_level_escape_bit</code></em>;</p></td>
+<td class="struct_member_description"><p>Escape bit. If set, the meaning of the
+<em class="parameter"><code>profile</code></em>
+and <em class="parameter"><code>level</code></em>
+fields is different.</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -620,6 +1235,51 @@
   guint8 f_code[2][2];
 };
 </pre>
+<p>The Mpeg2 Video Picture Header structure.</p>
+<div class="refsect3">
+<a name="GstMpegVideoPictureHdr.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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureHdr.tsn"></a>tsn</code></em>;</p></td>
+<td class="struct_member_description"><p>Temporal Sequence Number</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="GstMpegVideoPictureHdr.pic-type"></a>pic_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Type 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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureHdr.vbv-delay"></a>vbv_delay</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureHdr.full-pel-forward-vector"></a>full_pel_forward_vector</code></em>;</p></td>
+<td class="struct_member_description"><p>the full pel forward flag of
+the frame: 0 or 1.</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="GstMpegVideoPictureHdr.full-pel-backward-vector"></a>full_pel_backward_vector</code></em>;</p></td>
+<td class="struct_member_description"><p>the full pel backward flag
+of the frame: 0 or 1.</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="GstMpegVideoPictureHdr.f-code"></a>f_code</code></em>[2][2];</p></td>
+<td class="struct_member_description"><p>F code</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -633,6 +1293,54 @@
   guint8 broken_link;
 };
 </pre>
+<p>The Mpeg Video Group of Picture structure.</p>
+<div class="refsect3">
+<a name="GstMpegVideoGop.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="GstMpegVideoGop.drop-frame-flag"></a>drop_frame_flag</code></em>;</p></td>
+<td class="struct_member_description"><p>Drop Frame Flag</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="GstMpegVideoGop.hour"></a>hour</code></em>;</p></td>
+<td class="struct_member_description"><p>Hour (0-23)</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="GstMpegVideoGop.minute"></a>minute</code></em>;</p></td>
+<td class="struct_member_description"><p>Minute (O-59)</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="GstMpegVideoGop.second"></a>second</code></em>;</p></td>
+<td class="struct_member_description"><p>Second (0-59)</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="GstMpegVideoGop.frame"></a>frame</code></em>;</p></td>
+<td class="struct_member_description"><p>Frame (0-59)</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="GstMpegVideoGop.closed-gop"></a>closed_gop</code></em>;</p></td>
+<td class="struct_member_description"><p>Closed Gop</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="GstMpegVideoGop.broken-link"></a>broken_link</code></em>;</p></td>
+<td class="struct_member_description"><p>Broken link</p></td>
+<td class="struct_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -659,6 +1367,109 @@
   guint8 sub_carrier_phase;
 };
 </pre>
+<p>The Mpeg2 Video Picture Extension structure.</p>
+<div class="refsect3">
+<a name="GstMpegVideoPictureExt.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="GstMpegVideoPictureExt.f-code"></a>f_code</code></em>[2][2];</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureExt.intra-dc-precision"></a>intra_dc_precision</code></em>;</p></td>
+<td class="struct_member_description"><p>Intra DC precision</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="GstMpegVideoPictureExt.picture-structure"></a>picture_structure</code></em>;</p></td>
+<td class="struct_member_description"><p>Structure of the picture</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="GstMpegVideoPictureExt.top-field-first"></a>top_field_first</code></em>;</p></td>
+<td class="struct_member_description"><p>Top field first</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="GstMpegVideoPictureExt.frame-pred-frame-dct"></a>frame_pred_frame_dct</code></em>;</p></td>
+<td class="struct_member_description"><p>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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureExt.concealment-motion-vectors"></a>concealment_motion_vectors</code></em>;</p></td>
+<td class="struct_member_description"><p>Concealment Motion Vectors</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="GstMpegVideoPictureExt.q-scale-type"></a>q_scale_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Q Scale 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureExt.intra-vlc-format"></a>intra_vlc_format</code></em>;</p></td>
+<td class="struct_member_description"><p>Intra Vlc 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureExt.alternate-scan"></a>alternate_scan</code></em>;</p></td>
+<td class="struct_member_description"><p>Alternate Scan</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="GstMpegVideoPictureExt.repeat-first-field"></a>repeat_first_field</code></em>;</p></td>
+<td class="struct_member_description"><p>Repeat First Field</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="GstMpegVideoPictureExt.chroma-420-type"></a>chroma_420_type</code></em>;</p></td>
+<td class="struct_member_description"><p>Chroma 420 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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureExt.progressive-frame"></a>progressive_frame</code></em>;</p></td>
+<td class="struct_member_description"><p><a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the frame is progressive <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</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="GstMpegVideoPictureExt.composite-display"></a>composite_display</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureExt.v-axis"></a>v_axis</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureExt.field-sequence"></a>field_sequence</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureExt.sub-carrier"></a>sub_carrier</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureExt.burst-amplitude"></a>burst_amplitude</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstMpegVideoPictureExt.sub-carrier-phase"></a>sub_carrier_phase</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -674,6 +1485,9 @@
  guint8 chroma_non_intra_quantiser_matrix[64];
 };
 </pre>
+<p>The Quant Matrix Extension structure that exposes quantization
+matrices in zigzag scan order. i.e. the original encoded scan
+order.</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gst-plugins-bad-libs-vc1parser.html b/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
index ad54d97..ccae74d 100644
--- a/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
+++ b/docs/libs/html/gst-plugins-bad-libs-vc1parser.html
@@ -27,7 +27,8 @@
 <div class="refnamediv"><table width="100%"><tr>
 <td valign="top">
 <h2><span class="refentrytitle"><a name="gst-plugins-bad-libs-vc1parser.top_of_page"></a>vc1parser</span></h2>
-<p>vc1parser</p>
+<p>vc1parser — Convenience library for parsing vc1 video
+bitstream.</p>
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
@@ -256,6 +257,8 @@
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-vc1parser.description"></a><h2>Description</h2>
+<p>For more details about the structures, look at the
+smpte specifications (S421m-2006.pdf).</p>
 </div>
 <div class="refsect1">
 <a name="gst-plugins-bad-libs-vc1parser.functions_details"></a><h2>Functions</h2>
@@ -265,6 +268,41 @@
 gst_vc1_identify_next_bdu (<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#gsize"><span class="type">gsize</span></a> size</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1BDU" title="struct GstVC1BDU"><span class="type">GstVC1BDU</span></a> *bdu</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+ and fills <em class="parameter"><code>bdu</code></em>
+ fields</p>
+<div class="refsect3">
+<a name="gst-vc1-identify-next-bdu.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 parse</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>bdu</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1BDU" title="struct GstVC1BDU"><span class="type">GstVC1BDU</span></a> where to store parsed bdu headers. </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-vc1-identify-next-bdu.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1ParserResult" title="enum GstVC1ParserResult"><span class="type">GstVC1ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -273,6 +311,41 @@
 gst_vc1_parse_sequence_header (<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#gsize"><span class="type">gsize</span></a> size</code></em>,
                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqHdr" title="struct GstVC1SeqHdr"><span class="type">GstVC1SeqHdr</span></a> *seqhdr</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills <em class="parameter"><code>seqhdr</code></em>
+ fields.</p>
+<div class="refsect3">
+<a name="gst-vc1-parse-sequence-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>data</p></td>
+<td class="parameter_description"><p>The data to parse</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>seqhdr</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqHdr" title="struct GstVC1SeqHdr"><span class="type">GstVC1SeqHdr</span></a> to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-vc1-parse-sequence-header.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1ParserResult" title="enum GstVC1ParserResult"><span class="type">GstVC1ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -281,6 +354,41 @@
 gst_vc1_parse_sequence_layer (<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#gsize"><span class="type">gsize</span></a> size</code></em>,
                               <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqLayer" title="struct GstVC1SeqLayer"><span class="type">GstVC1SeqLayer</span></a> *seqlayer</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills <em class="parameter"><code>seqlayer</code></em>
+ fields.</p>
+<div class="refsect3">
+<a name="gst-vc1-parse-sequence-layer.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 parse</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>seqlayer</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqLayer" title="struct GstVC1SeqLayer"><span class="type">GstVC1SeqLayer</span></a> to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-vc1-parse-sequence-layer.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1ParserResult" title="enum GstVC1ParserResult"><span class="type">GstVC1ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -290,6 +398,41 @@
                                (<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#gsize"><span class="type">gsize</span></a> size</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqStructA" title="struct GstVC1SeqStructA"><span class="type">GstVC1SeqStructA</span></a> *structa</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills <em class="parameter"><code>structa</code></em>
+ fields.</p>
+<div class="refsect3">
+<a name="gst-vc1-parse-sequence-header-struct-a.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 parse</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>structa</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqStructA" title="struct GstVC1SeqStructA"><span class="type">GstVC1SeqStructA</span></a> to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-vc1-parse-sequence-header-struct-a.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1ParserResult" title="enum GstVC1ParserResult"><span class="type">GstVC1ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -299,6 +442,41 @@
                                (<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#gsize"><span class="type">gsize</span></a> size</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqStructB" title="struct GstVC1SeqStructB"><span class="type">GstVC1SeqStructB</span></a> *structb</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills <em class="parameter"><code>structb</code></em>
+ fields.</p>
+<div class="refsect3">
+<a name="gst-vc1-parse-sequence-header-struct-b.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 parse</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>structb</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqStructB" title="struct GstVC1SeqStructB"><span class="type">GstVC1SeqStructB</span></a> to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-vc1-parse-sequence-header-struct-b.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1ParserResult" title="enum GstVC1ParserResult"><span class="type">GstVC1ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -308,6 +486,41 @@
                                (<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#gsize"><span class="type">gsize</span></a> size</code></em>,
                                 <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqStructC" title="struct GstVC1SeqStructC"><span class="type">GstVC1SeqStructC</span></a> *structc</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills <em class="parameter"><code>structc</code></em>
+ fields.</p>
+<div class="refsect3">
+<a name="gst-vc1-parse-sequence-header-struct-c.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<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 parse</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>structc</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqStructC" title="struct GstVC1SeqStructC"><span class="type">GstVC1SeqStructC</span></a> to set.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-vc1-parse-sequence-header-struct-c.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1ParserResult" title="enum GstVC1ParserResult"><span class="type">GstVC1ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -317,6 +530,46 @@
                                   <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-bad-libs-vc1parser.html#GstVC1EntryPointHdr" title="struct GstVC1EntryPointHdr"><span class="type">GstVC1EntryPointHdr</span></a> *entrypoint</code></em>,
                                   <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqHdr" title="struct GstVC1SeqHdr"><span class="type">GstVC1SeqHdr</span></a> *seqhdr</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and sets <em class="parameter"><code>entrypoint</code></em>
+ fields.</p>
+<div class="refsect3">
+<a name="gst-vc1-parse-entry-point-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>data</p></td>
+<td class="parameter_description"><p>The data to parse</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>entrypoint</p></td>
+<td class="parameter_description"><p> The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1EntryPointHdr" title="struct GstVC1EntryPointHdr"><span class="type">GstVC1EntryPointHdr</span></a> to set. </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>seqhdr</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqHdr" title="struct GstVC1SeqHdr"><span class="type">GstVC1SeqHdr</span></a> currently being parsed</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-vc1-parse-entry-point-header.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1EntryPointHdr" title="struct GstVC1EntryPointHdr"><span class="type">GstVC1EntryPointHdr</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -327,12 +580,63 @@
                             <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1FrameHdr" title="struct GstVC1FrameHdr"><span class="type">GstVC1FrameHdr</span></a> *framehdr</code></em>,
                             <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqHdr" title="struct GstVC1SeqHdr"><span class="type">GstVC1SeqHdr</span></a> *seqhdr</code></em>,
                             <em class="parameter"><code><span class="type">GstVC1BitPlanes</span> *bitplanes</code></em>);</pre>
+<p>Parses <em class="parameter"><code>data</code></em>
+, and fills <em class="parameter"><code>entrypoint</code></em>
+ fields.</p>
+<div class="refsect3">
+<a name="gst-vc1-parse-frame-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>data</p></td>
+<td class="parameter_description"><p>The data to parse</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>framehdr</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1FrameHdr" title="struct GstVC1FrameHdr"><span class="type">GstVC1FrameHdr</span></a> to fill.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>seqhdr</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqHdr" title="struct GstVC1SeqHdr"><span class="type">GstVC1SeqHdr</span></a> currently being parsed</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>bitplanes</p></td>
+<td class="parameter_description"><p>The <span class="type">GstVC1BitPlanes</span> to store bitplanes in 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-vc1-parse-frame-header.returns"></a><h4>Returns</h4>
+<p> a <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1ParserResult" title="enum GstVC1ParserResult"><span class="type">GstVC1ParserResult</span></a></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
 <a name="gst-vc1-bitplanes-new"></a><h3>gst_vc1_bitplanes_new ()</h3>
 <pre class="programlisting"><span class="returnvalue">GstVC1BitPlanes</span> *
 gst_vc1_bitplanes_new (<em class="parameter"><code><span class="type">void</span></code></em>);</pre>
+<p>Creates a new <span class="type">GstVC1BitPlanes</span>. It should be freed with
+<a class="link" href="gst-plugins-bad-libs-vc1parser.html#gst-vc1-bitplanes-free" title="gst_vc1_bitplanes_free ()"><code class="function">gst_vc1_bitplanes_free()</code></a> after use.</p>
+<div class="refsect3">
+<a name="gst-vc1-bitplanes-new.returns"></a><h4>Returns</h4>
+<p> a new <span class="type">GstVC1BitPlanes</span></p>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -352,6 +656,39 @@
 <pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
 gst_vc1_bitplanes_ensure_size (<em class="parameter"><code><span class="type">GstVC1BitPlanes</span> *bitplanes</code></em>,
                                <em class="parameter"><code><a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqHdr" title="struct GstVC1SeqHdr"><span class="type">GstVC1SeqHdr</span></a> *seqhdr</code></em>);</pre>
+<p>Fills the <em class="parameter"><code>bitplanes</code></em>
+ structure from <em class="parameter"><code>seqhdr</code></em>
+, this function
+should be called after <a class="link" href="gst-plugins-bad-libs-vc1parser.html#gst-vc1-parse-sequence-header" title="gst_vc1_parse_sequence_header ()"><span class="type">gst_vc1_parse_sequence_header</span></a> if
+in simple or main mode, or after <a class="link" href="gst-plugins-bad-libs-vc1parser.html#gst-vc1-parse-entry-point-header" title="gst_vc1_parse_entry_point_header ()"><span class="type">gst_vc1_parse_entry_point_header</span></a>
+if in advanced mode.</p>
+<div class="refsect3">
+<a name="gst-vc1-bitplanes-ensure-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>bitplanes</p></td>
+<td class="parameter_description"><p>The <span class="type">GstVC1BitPlanes</span> to reset</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>seqhdr</p></td>
+<td class="parameter_description"><p>The <a class="link" href="gst-plugins-bad-libs-vc1parser.html#GstVC1SeqHdr" title="struct GstVC1SeqHdr"><span class="type">GstVC1SeqHdr</span></a> from which to set <em class="parameter"><code>bitplanes</code></em>
+</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect3">
+<a name="gst-vc1-bitplanes-ensure-size.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 everything went fine, <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">
@@ -777,6 +1114,7 @@
   GstVC1AdvancedSeqHdr   advanced;
 };
 </pre>
+<p>Structure for sequence headers in any profile.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -827,6 +1165,7 @@
   GstVC1EntryPointHdr entrypoint;
 };
 </pre>
+<p>Structure for the advanced profile sequence headers specific parameters.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -942,6 +1281,7 @@
   guint8 hrd_full[MAX_HRD_NUM_LEAKY_BUCKETS];
 };
 </pre>
+<p>Structure for entrypoint header, this will be used only in advanced profiles</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -975,6 +1315,11 @@
   guint header_size;
 };
 </pre>
+<p>Structure that represent picture in any profile or mode.
+You should look at <em class="parameter"><code>ptype</code></em>
+ and <em class="parameter"><code>profile</code></em>
+ to know what is currently
+in use.</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -1054,6 +1399,258 @@
   guint8  intcompfield;
 };
 </pre>
+<div class="refsect3">
+<a name="GstVC1PicAdvanced.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><span class="type">GstVC1FrameCodingMode</span> <em class="structfield"><code><a name="GstVC1PicAdvanced.fcm"></a>fcm</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.tfcntr"></a>tfcntr</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.rptfrm"></a>rptfrm</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.tff"></a>tff</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.rff"></a>rff</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.ps-present"></a>ps_present</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="GstVC1PicAdvanced.ps-hoffset"></a>ps_hoffset</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="GstVC1PicAdvanced.ps-voffset"></a>ps_voffset</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.ps-width"></a>ps_width</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.ps-height"></a>ps_height</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.rndctrl"></a>rndctrl</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.uvsamp"></a>uvsamp</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.postproc"></a>postproc</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.mvrange"></a>mvrange</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.mvmode"></a>mvmode</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.mvtab"></a>mvtab</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.cbptab"></a>cbptab</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.ttmbf"></a>ttmbf</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.ttfrm"></a>ttfrm</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.bfraction"></a>bfraction</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.mvmode2"></a>mvmode2</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.lumscale"></a>lumscale</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.lumshift"></a>lumshift</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.bf"></a>bf</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.condover"></a>condover</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.transacfrm2"></a>transacfrm2</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.acpred"></a>acpred</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.overflags"></a>overflags</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.mvtypemb"></a>mvtypemb</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.skipmb"></a>skipmb</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.directmb"></a>directmb</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.forwardmb"></a>forwardmb</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.fieldtx"></a>fieldtx</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.intcomp"></a>intcomp</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.dmvrange"></a>dmvrange</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.mbmodetab"></a>mbmodetab</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.imvtab"></a>imvtab</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.icbptab"></a>icbptab</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.mvbptab2"></a>mvbptab2</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.mvbptab4"></a>mvbptab4</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.mvswitch4"></a>mvswitch4</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.refdist"></a>refdist</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.fptype"></a>fptype</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.numref"></a>numref</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.reffield"></a>reffield</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.lumscale2"></a>lumscale2</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.lumshift2"></a>lumshift2</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicAdvanced.intcompfield"></a>intcompfield</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1095,6 +1692,108 @@
   guint8 directmb; /* B pic main profile only */
 };
 </pre>
+<div class="refsect3">
+<a name="GstVC1PicSimpleMain.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="GstVC1PicSimpleMain.frmcnt"></a>frmcnt</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.mvrange"></a>mvrange</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.rangeredfrm"></a>rangeredfrm</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.respic"></a>respic</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.transacfrm2"></a>transacfrm2</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.bf"></a>bf</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.mvmode"></a>mvmode</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.mvtab"></a>mvtab</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.ttmbf"></a>ttmbf</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.mvmode2"></a>mvmode2</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.lumscale"></a>lumscale</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.lumshift"></a>lumshift</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.cbptab"></a>cbptab</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.ttfrm"></a>ttfrm</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#guint16"><span class="type">guint16</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.bfraction"></a>bfraction</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.mvtypemb"></a>mvtypemb</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.skipmb"></a>skipmb</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#guint8"><span class="type">guint8</span></a> <em class="structfield"><code><a name="GstVC1PicSimpleMain.directmb"></a>directmb</code></em>;</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
 </div>
 <hr>
 <div class="refsect2">
@@ -1139,6 +1838,7 @@
   guint8 * data;
 };
 </pre>
+<p>Structure that represents a Bitstream Data Unit.</p>
 </div>
 </div>
 </div>
diff --git a/docs/libs/html/gstreamer-libs-hierarchy.html b/docs/libs/html/gstreamer-libs-hierarchy.html
index 0ded4c5..94793a3 100644
--- a/docs/libs/html/gstreamer-libs-hierarchy.html
+++ b/docs/libs/html/gstreamer-libs-hierarchy.html
@@ -42,13 +42,13 @@
     <span class="lineart">│</span>       <span class="lineart">├──</span> <a class="link" href="GstGLColorConvert.html" title="GstGLColorConvert">GstGLColorConvert</a>
     <span class="lineart">│</span>       <span class="lineart">├──</span> <a class="link" href="GstGLContext.html" title="GstGLContext">GstGLContext</a>
     <span class="lineart">│</span>       <span class="lineart">├──</span> <a class="link" href="GstGLDisplay.html" title="GstGLDisplay">GstGLDisplay</a>
+    <span class="lineart">│</span>       <span class="lineart">├──</span> <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer">GstGLFramebuffer</a>
     <span class="lineart">│</span>       <span class="lineart">├──</span> <a class="link" href="GstGLShader.html" title="GstGLShader">GstGLShader</a>
     <span class="lineart">│</span>       <span class="lineart">├──</span> <a class="link" href=".html#GstGLSLStage">GstGLSLStage</a>
     <span class="lineart">│</span>       <span class="lineart">├──</span> <a class="link" href="GstGLUpload.html" title="GstGLUpload">GstGLUpload</a>
     <span class="lineart">│</span>       <span class="lineart">├──</span> GstGLViewConvert
     <span class="lineart">│</span>       <span class="lineart">├──</span> <a class="link" href="GstGLWindow.html" title="GstGLWindow">GstGLWindow</a>
     <span class="lineart">│</span>       <span class="lineart">╰──</span> <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayer">GstPlayer</a>
-    <span class="lineart">├──</span> <a class="link" href="GstGLFramebuffer.html" title="GstGLFramebuffer">GstGLFramebuffer</a>
     <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerStreamInfo">GstPlayerStreamInfo</a>
     <span class="lineart">│</span>   <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerAudioInfo">GstPlayerAudioInfo</a>
     <span class="lineart">│</span>   <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstplayer-mediainfo.html#GstPlayerSubtitleInfo">GstPlayerSubtitleInfo</a>
@@ -59,22 +59,22 @@
     <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerSignalDispatcher">GstPlayerSignalDispatcher</a>
     <span class="lineart">╰──</span> <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerVideoRenderer">GstPlayerVideoRenderer</a>
     <a href="https://developer.gnome.org/gobject/unstable/gobject-Boxed-Types.html">GBoxed</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSection">GstMpegtsSection</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptor">GstMpegtsDescriptor</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSection">GstMpegtsSection</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptor">GstMpegtsDescriptor</a>
     <span class="lineart">╰──</span> <a class="link" href="gst-plugins-bad-libs-gstplayer-visualization.html#GstPlayerVisualization">GstPlayerVisualization</a>
     <a href="https://developer.gnome.org/gobject/unstable/gobject-Enumeration-and-Flag-Types.html">GEnum</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSectionType" title="enum GstMpegtsSectionType">GstMpegtsSectionType</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsSectionTableID" title="enum GstMpegtsSectionTableID">GstMpegtsSectionTableID</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsCableOuterFECScheme" title="enum GstMpegtsCableOuterFECScheme">GstMpegtsCableOuterFECScheme</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsModulationType" title="enum GstMpegtsModulationType">GstMpegtsModulationType</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatellitePolarizationType" title="enum GstMpegtsSatellitePolarizationType">GstMpegtsSatellitePolarizationType</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsSatelliteRolloff" title="enum GstMpegtsSatelliteRolloff">GstMpegtsSatelliteRolloff</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBCodeRate" title="enum GstMpegtsDVBCodeRate">GstMpegtsDVBCodeRate</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsDescriptorType" title="enum GstMpegtsDescriptorType">GstMpegtsDescriptorType</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstmpegtsdescriptor.html#GstMpegtsIso639AudioType" title="enum GstMpegtsIso639AudioType">GstMpegtsIso639AudioType</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gst-dvb-section.html#GstMpegtsRunningStatus" title="enum GstMpegtsRunningStatus">GstMpegtsRunningStatus</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gst-dvb-descriptor.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType">GstMpegtsDVBServiceType</a>
-    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstmpegtssection.html#GstMpegtsStreamType" title="enum GstMpegtsStreamType">GstMpegtsStreamType</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionType" title="enum GstMpegtsSectionType">GstMpegtsSectionType</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsSectionTableID" title="enum GstMpegtsSectionTableID">GstMpegtsSectionTableID</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsCableOuterFECScheme" title="enum GstMpegtsCableOuterFECScheme">GstMpegtsCableOuterFECScheme</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsModulationType" title="enum GstMpegtsModulationType">GstMpegtsModulationType</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatellitePolarizationType" title="enum GstMpegtsSatellitePolarizationType">GstMpegtsSatellitePolarizationType</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsSatelliteRolloff" title="enum GstMpegtsSatelliteRolloff">GstMpegtsSatelliteRolloff</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBCodeRate" title="enum GstMpegtsDVBCodeRate">GstMpegtsDVBCodeRate</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsDescriptorType" title="enum GstMpegtsDescriptorType">GstMpegtsDescriptorType</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html#GstMpegtsIso639AudioType" title="enum GstMpegtsIso639AudioType">GstMpegtsIso639AudioType</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html#GstMpegtsRunningStatus" title="enum GstMpegtsRunningStatus">GstMpegtsRunningStatus</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html#GstMpegtsDVBServiceType" title="enum GstMpegtsDVBServiceType">GstMpegtsDVBServiceType</a>
+    <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html#GstMpegtsStreamType" title="enum GstMpegtsStreamType">GstMpegtsStreamType</a>
     <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerColorBalanceType" title="enum GstPlayerColorBalanceType">GstPlayerColorBalanceType</a>
     <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerError" title="enum GstPlayerError">GstPlayerError</a>
     <span class="lineart">├──</span> <a class="link" href="gst-plugins-bad-libs-gstplayer.html#GstPlayerState" title="enum GstPlayerState">GstPlayerState</a>
diff --git a/docs/libs/html/gstreamer-plugins-bad.html b/docs/libs/html/gstreamer-plugins-bad.html
index 874b3fc..cefe5f7 100644
--- a/docs/libs/html/gstreamer-plugins-bad.html
+++ b/docs/libs/html/gstreamer-plugins-bad.html
@@ -33,19 +33,23 @@
 <dt><span class="chapter"><a href="codecparsers.html">Bitstream parsing Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-h264parser.html">h264parser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-h264parser.html">h264parser</a></span><span class="refpurpose"> — Convenience library for h264 video
+bitstream parsing.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"> — Convenience library for JPEG bitstream parsing.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpegvideoparser.html">mpegvideoparser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpegvideoparser.html">mpegvideoparser</a></span><span class="refpurpose"> — Convenience library for mpeg1 and 2 video
+bitstream parsing.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpeg4parser.html">mpeg4parser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpeg4parser.html">mpeg4parser</a></span><span class="refpurpose"> — Convenience library for parsing mpeg4 part 2 video
+bitstream.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-vc1parser.html">vc1parser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-vc1parser.html">vc1parser</a></span><span class="refpurpose"> — Convenience library for parsing vc1 video
+bitstream.</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegvideometa.html">gstmpegvideometa</a></span><span class="refpurpose"></span>
@@ -54,38 +58,39 @@
 <dt><span class="chapter"><a href="mpegts.html">Mpeg TS helper library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegts.html">gstmpegts</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html">Mpeg-ts helper library</a></span><span class="refpurpose"> — Mpeg-ts helper library for plugins and applications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtssection.html">gstmpegtssection</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html">Base MPEG-TS sections</a></span><span class="refpurpose"> — Sections for ITU H.222.0 | ISO/IEC 13818-1</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtsdescriptor.html">gstmpegtsdescriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html">Base MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for ITU H.222.0 | ISO/IEC 13818-1</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-section.html">gst-atsc-section</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html">ATSC variants of MPEG-TS sections</a></span><span class="refpurpose"> — Sections for the various ATSC specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-section.html">gst-dvb-section</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html">DVB variants of MPEG-TS sections</a></span><span class="refpurpose"> — Sections for the various DVB specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-descriptor.html">gst-atsc-descriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html">ATSC variants of MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for the various ATSC specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-descriptor.html">gst-dvb-descriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html">DVB variants of MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for the various DVB specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-isdb-descriptor.html">gst-isdb-descriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html">ISDB variants of MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for the various ISDB specifications</span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="tools.html">Useful elements</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstInsertbin.html">GstInsertbin</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstInsertbin.html">GstInsertbin</a></span><span class="refpurpose"> — A <span class="type">GstBin</span> to insertally link filter-like elements.</span>
 </dt></dl></dd>
 <dt><span class="chapter"><a href="base.html">GStreamer Base classes from gst-plugins-bad</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregator.html">GstAggregator</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregator.html">GstAggregator</a></span><span class="refpurpose"> — manages a set of pads with the purpose of
+aggregating their buffers.</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregatorPad.html">GstAggregatorPad</a></span><span class="refpurpose"></span>
@@ -94,7 +99,7 @@
 <dt><span class="chapter"><a href="video.html">Video helpers and baseclasses</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregator.html">GstVideoAggregator</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregator.html">GstVideoAggregator</a></span><span class="refpurpose"> — Base class for video aggregators</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregatorPad.html">GstVideoAggregatorPad</a></span><span class="refpurpose"></span>
@@ -106,22 +111,22 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLAPI.html">GstGLAPI</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglbasememory.html">GstGLBaseMemory</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglbasememory.html">GstGLBaseMemory</a></span><span class="refpurpose"> — memory subclass for GL buffers</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"> — <span class="type">GstBaseTransform</span> subclass for transformin OpenGL resources</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"> — memory subclass for GL buffers</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"> — buffer pool for <span class="type">GstGLMemory</span> objects</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"> — an object that converts between color spaces/formats</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"> — OpenGL context abstraction</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLContextCocoa.html">GstGLContextCocoa</a></span><span class="refpurpose"></span>
@@ -139,7 +144,7 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLContextWGL.html">GstGLContextWGL</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLDisplay.html">GstGLDisplay</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLDisplay.html">GstGLDisplay</a></span><span class="refpurpose"> — window system display connection abstraction</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstEGLImageMemory.html">GstEGLImageMemory</a></span><span class="refpurpose"></span>
@@ -151,28 +156,28 @@
 <span class="refentrytitle"><a href="GstGLFramebuffer.html">GstGLFramebuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLMemory.html">GstGLMemory</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLMemory.html">GstGLMemory</a></span><span class="refpurpose"> — memory subclass for GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"> — memory subclass for GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"> — object representing an OpenGL shader program</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"> — helpers for dealing with OpenGL shaders</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href=".html"></a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href=".html">GstGLSLStage</a></span><span class="refpurpose"> — object for dealing with OpenGL shader stages</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSyncMeta.html">GstGLSyncMeta</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"> — an object that uploads to GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"> — window/surface abstraction</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLWindowAndroid.html">GstGLWindowAndroid</a></span><span class="refpurpose"></span>
@@ -193,7 +198,7 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLWindowX11.html">GstGLWindowX11</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstgldebug.html">OpenGL Debugging</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-OpenGL-debugging.html">OpenGL debugging</a></span><span class="refpurpose"> — helper routines for dealing with OpenGL debugging</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html">OpenGL Miscellaneous Utilities</a></span><span class="refpurpose"></span>
@@ -205,24 +210,24 @@
 <dt><span class="chapter"><a href="player.html">Player Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer.html">gstplayer</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer.html">gstplayer</a></span><span class="refpurpose"> — Player</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"> — Player Media Information</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"> — Player GLib MainContext dispatcher</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html">gstplayer-videooverlayvideorenderer</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html">gstplayer-videooverlayvideorenderer</a></span><span class="refpurpose"> — Player Video Overlay Video Renderer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"> — Player Visualization</span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="ch08.html">Interfaces</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstPhotography.html">GstPhotography</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstPhotography.html">GstPhotography</a></span><span class="refpurpose"> — Interface for digital image capture elements</span>
 </dt></dl></dd>
 </dl>
 </div>
diff --git a/docs/libs/html/home.png b/docs/libs/html/home.png
index 9346b33..4bf6d92 100644
--- a/docs/libs/html/home.png
+++ b/docs/libs/html/home.png
Binary files differ
diff --git a/docs/libs/html/index.html b/docs/libs/html/index.html
index ff61318..f505aba 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 Bad Plugins 1.0 Library Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Bad Library 1.0 (1.9.1)
+      for GStreamer Bad Library 1.0 (1.9.2)
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-libs/html/</a>.
     </p></div>
 </div>
@@ -32,19 +32,23 @@
 <dt><span class="chapter"><a href="codecparsers.html">Bitstream parsing Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-h264parser.html">h264parser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-h264parser.html">h264parser</a></span><span class="refpurpose"> — Convenience library for h264 video
+bitstream parsing.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-jpegparser.html">jpegparser</a></span><span class="refpurpose"> — Convenience library for JPEG bitstream parsing.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpegvideoparser.html">mpegvideoparser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpegvideoparser.html">mpegvideoparser</a></span><span class="refpurpose"> — Convenience library for mpeg1 and 2 video
+bitstream parsing.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpeg4parser.html">mpeg4parser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-mpeg4parser.html">mpeg4parser</a></span><span class="refpurpose"> — Convenience library for parsing mpeg4 part 2 video
+bitstream.</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-vc1parser.html">vc1parser</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-vc1parser.html">vc1parser</a></span><span class="refpurpose"> — Convenience library for parsing vc1 video
+bitstream.</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegvideometa.html">gstmpegvideometa</a></span><span class="refpurpose"></span>
@@ -53,38 +57,39 @@
 <dt><span class="chapter"><a href="mpegts.html">Mpeg TS helper library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegts.html">gstmpegts</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html">Mpeg-ts helper library</a></span><span class="refpurpose"> — Mpeg-ts helper library for plugins and applications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtssection.html">gstmpegtssection</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html">Base MPEG-TS sections</a></span><span class="refpurpose"> — Sections for ITU H.222.0 | ISO/IEC 13818-1</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtsdescriptor.html">gstmpegtsdescriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html">Base MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for ITU H.222.0 | ISO/IEC 13818-1</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-section.html">gst-atsc-section</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html">ATSC variants of MPEG-TS sections</a></span><span class="refpurpose"> — Sections for the various ATSC specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-section.html">gst-dvb-section</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html">DVB variants of MPEG-TS sections</a></span><span class="refpurpose"> — Sections for the various DVB specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-descriptor.html">gst-atsc-descriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html">ATSC variants of MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for the various ATSC specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-descriptor.html">gst-dvb-descriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html">DVB variants of MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for the various DVB specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-isdb-descriptor.html">gst-isdb-descriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html">ISDB variants of MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for the various ISDB specifications</span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="tools.html">Useful elements</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstInsertbin.html">GstInsertbin</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstInsertbin.html">GstInsertbin</a></span><span class="refpurpose"> — A <span class="type">GstBin</span> to insertally link filter-like elements.</span>
 </dt></dl></dd>
 <dt><span class="chapter"><a href="base.html">GStreamer Base classes from gst-plugins-bad</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregator.html">GstAggregator</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregator.html">GstAggregator</a></span><span class="refpurpose"> — manages a set of pads with the purpose of
+aggregating their buffers.</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstAggregatorPad.html">GstAggregatorPad</a></span><span class="refpurpose"></span>
@@ -93,7 +98,7 @@
 <dt><span class="chapter"><a href="video.html">Video helpers and baseclasses</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregator.html">GstVideoAggregator</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregator.html">GstVideoAggregator</a></span><span class="refpurpose"> — Base class for video aggregators</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregatorPad.html">GstVideoAggregatorPad</a></span><span class="refpurpose"></span>
@@ -105,22 +110,22 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLAPI.html">GstGLAPI</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglbasememory.html">GstGLBaseMemory</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglbasememory.html">GstGLBaseMemory</a></span><span class="refpurpose"> — memory subclass for GL buffers</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLBaseFilter.html">GstGLBaseFilter</a></span><span class="refpurpose"> — <span class="type">GstBaseTransform</span> subclass for transformin OpenGL resources</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLBuffer.html">GstGLBuffer</a></span><span class="refpurpose"> — memory subclass for GL buffers</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLBufferPool.html">GstGLBufferPool</a></span><span class="refpurpose"> — buffer pool for <span class="type">GstGLMemory</span> objects</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLColorConvert.html">GstGLColorConvert</a></span><span class="refpurpose"> — an object that converts between color spaces/formats</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLContext.html">GstGLContext</a></span><span class="refpurpose"> — OpenGL context abstraction</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLContextCocoa.html">GstGLContextCocoa</a></span><span class="refpurpose"></span>
@@ -138,7 +143,7 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLContextWGL.html">GstGLContextWGL</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLDisplay.html">GstGLDisplay</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLDisplay.html">GstGLDisplay</a></span><span class="refpurpose"> — window system display connection abstraction</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstEGLImageMemory.html">GstEGLImageMemory</a></span><span class="refpurpose"></span>
@@ -150,28 +155,28 @@
 <span class="refentrytitle"><a href="GstGLFramebuffer.html">GstGLFramebuffer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLMemory.html">GstGLMemory</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLMemory.html">GstGLMemory</a></span><span class="refpurpose"> — memory subclass for GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstglmemorypbo.html">GstGLMemoryPBO</a></span><span class="refpurpose"> — memory subclass for GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLShader.html">GstGLShader</a></span><span class="refpurpose"> — object representing an OpenGL shader program</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSL.html">GstGLSL</a></span><span class="refpurpose"> — helpers for dealing with OpenGL shaders</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href=".html"></a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href=".html">GstGLSLStage</a></span><span class="refpurpose"> — object for dealing with OpenGL shader stages</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLSyncMeta.html">GstGLSyncMeta</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLUpload.html">GstGLUpload</a></span><span class="refpurpose"> — an object that uploads to GL textures</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="GstGLWindow.html">GstGLWindow</a></span><span class="refpurpose"> — window/surface abstraction</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLWindowAndroid.html">GstGLWindowAndroid</a></span><span class="refpurpose"></span>
@@ -192,7 +197,7 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstGLWindowX11.html">GstGLWindowX11</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstgldebug.html">OpenGL Debugging</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-OpenGL-debugging.html">OpenGL debugging</a></span><span class="refpurpose"> — helper routines for dealing with OpenGL debugging</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-OpenGL-Miscellaneous-Utilities.html">OpenGL Miscellaneous Utilities</a></span><span class="refpurpose"></span>
@@ -204,29 +209,30 @@
 <dt><span class="chapter"><a href="player.html">Player Library</a></span></dt>
 <dd><dl>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer.html">gstplayer</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer.html">gstplayer</a></span><span class="refpurpose"> — Player</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"> — Player Media Information</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"> — Player GLib MainContext dispatcher</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html">gstplayer-videooverlayvideorenderer</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html">gstplayer-videooverlayvideorenderer</a></span><span class="refpurpose"> — Player Video Overlay Video Renderer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"> — Player Visualization</span>
 </dt>
 </dl></dd>
 <dt><span class="chapter"><a href="ch08.html">Interfaces</a></span></dt>
 <dd><dl><dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstPhotography.html">GstPhotography</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstPhotography.html">GstPhotography</a></span><span class="refpurpose"> — Interface for digital image capture elements</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/libs/html/left-insensitive.png b/docs/libs/html/left-insensitive.png
index 3269393..82cba0a 100644
--- a/docs/libs/html/left-insensitive.png
+++ b/docs/libs/html/left-insensitive.png
Binary files differ
diff --git a/docs/libs/html/left.png b/docs/libs/html/left.png
index 2abde03..8444ec0 100644
--- a/docs/libs/html/left.png
+++ b/docs/libs/html/left.png
Binary files differ
diff --git a/docs/libs/html/mpegts.html b/docs/libs/html/mpegts.html
index b91dcb7..3850144 100644
--- a/docs/libs/html/mpegts.html
+++ b/docs/libs/html/mpegts.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
 <link rel="prev" href="gst-plugins-bad-libs-gstmpegvideometa.html" title="gstmpegvideometa">
-<link rel="next" href="gst-plugins-bad-libs-gstmpegts.html" title="gstmpegts">
+<link rel="next" href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html" title="Mpeg-ts helper library">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -17,35 +17,35 @@
 <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="gstreamer-plugins-bad.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-bad-libs-gstmpegvideometa.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-libs-gstmpegts.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="mpegts"></a>Mpeg TS helper library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegts.html">gstmpegts</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-Mpeg-ts-helper-library.html">Mpeg-ts helper library</a></span><span class="refpurpose"> — Mpeg-ts helper library for plugins and applications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtssection.html">gstmpegtssection</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-Base-MPEG-TS-sections.html">Base MPEG-TS sections</a></span><span class="refpurpose"> — Sections for ITU H.222.0 | ISO/IEC 13818-1</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstmpegtsdescriptor.html">gstmpegtsdescriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-Base-MPEG-TS-descriptors.html">Base MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for ITU H.222.0 | ISO/IEC 13818-1</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-section.html">gst-atsc-section</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-sections.html">ATSC variants of MPEG-TS sections</a></span><span class="refpurpose"> — Sections for the various ATSC specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-section.html">gst-dvb-section</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-sections.html">DVB variants of MPEG-TS sections</a></span><span class="refpurpose"> — Sections for the various DVB specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-atsc-descriptor.html">gst-atsc-descriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-ATSC-variants-of-MPEG-TS-descriptors.html">ATSC variants of MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for the various ATSC specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-dvb-descriptor.html">gst-dvb-descriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-DVB-variants-of-MPEG-TS-descriptors.html">DVB variants of MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for the various DVB specifications</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gst-isdb-descriptor.html">gst-isdb-descriptor</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html">ISDB variants of MPEG-TS descriptors</a></span><span class="refpurpose"> — Descriptors for the various ISDB specifications</span>
 </dt>
 </dl></div>
 <p>
diff --git a/docs/libs/html/player.html b/docs/libs/html/player.html
index bf84f65..8835c9b 100644
--- a/docs/libs/html/player.html
+++ b/docs/libs/html/player.html
@@ -24,19 +24,19 @@
 <a name="player"></a>Player Library</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer.html">gstplayer</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer.html">gstplayer</a></span><span class="refpurpose"> — Player</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-mediainfo.html">gstplayer-mediainfo</a></span><span class="refpurpose"> — Player Media Information</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-gmaincontextsignaldispatcher.html">gstplayer-gmaincontextsignaldispatcher</a></span><span class="refpurpose"> — Player GLib MainContext dispatcher</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html">gstplayer-videooverlayvideorenderer</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-videooverlayvideorenderer.html">gstplayer-videooverlayvideorenderer</a></span><span class="refpurpose"> — Player Video Overlay Video Renderer</span>
 </dt>
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-gstplayer-visualization.html">gstplayer-visualization</a></span><span class="refpurpose"> — Player Visualization</span>
 </dt>
 </dl></div>
 </div>
diff --git a/docs/libs/html/right-insensitive.png b/docs/libs/html/right-insensitive.png
index 4c95785..7a90b99 100644
--- a/docs/libs/html/right-insensitive.png
+++ b/docs/libs/html/right-insensitive.png
Binary files differ
diff --git a/docs/libs/html/right.png b/docs/libs/html/right.png
index 76260ec..55f3359 100644
--- a/docs/libs/html/right.png
+++ b/docs/libs/html/right.png
Binary files differ
diff --git a/docs/libs/html/tools.html b/docs/libs/html/tools.html
index 075787c..f47790c 100644
--- a/docs/libs/html/tools.html
+++ b/docs/libs/html/tools.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Library Reference Manual">
 <link rel="up" href="gstreamer-plugins-bad.html" title="Part I. GStreamer Bad Plugins Libraries">
-<link rel="prev" href="gst-plugins-bad-libs-gst-isdb-descriptor.html" title="gst-isdb-descriptor">
+<link rel="prev" href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html" title="ISDB variants of MPEG-TS descriptors">
 <link rel="next" href="gst-plugins-bad-libs-GstInsertbin.html" title="GstInsertbin">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -16,14 +16,14 @@
 <td width="100%" align="left" class="shortcuts"></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="gstreamer-plugins-bad.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-libs-gst-isdb-descriptor.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-libs-ISDB-variants-of-MPEG-TS-descriptors.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-bad-libs-GstInsertbin.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="chapter">
 <div class="titlepage"><div><div><h2 class="title">
 <a name="tools"></a>Useful elements</h2></div></div></div>
 <div class="toc"><dl class="toc"><dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstInsertbin.html">GstInsertbin</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstInsertbin.html">GstInsertbin</a></span><span class="refpurpose"> — A <span class="type">GstBin</span> to insertally link filter-like elements.</span>
 </dt></dl></div>
 </div>
 <div class="footer">
diff --git a/docs/libs/html/up-insensitive.png b/docs/libs/html/up-insensitive.png
index f404986..fdb8cc7 100644
--- a/docs/libs/html/up-insensitive.png
+++ b/docs/libs/html/up-insensitive.png
Binary files differ
diff --git a/docs/libs/html/up.png b/docs/libs/html/up.png
index 80b4b37..c1aad52 100644
--- a/docs/libs/html/up.png
+++ b/docs/libs/html/up.png
Binary files differ
diff --git a/docs/libs/html/video.html b/docs/libs/html/video.html
index fc428a7..2d591f4 100644
--- a/docs/libs/html/video.html
+++ b/docs/libs/html/video.html
@@ -24,7 +24,7 @@
 <a name="video"></a>Video helpers and baseclasses</h2></div></div></div>
 <div class="toc"><dl class="toc">
 <dt>
-<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregator.html">GstVideoAggregator</a></span><span class="refpurpose"></span>
+<span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregator.html">GstVideoAggregator</a></span><span class="refpurpose"> — Base class for video aggregators</span>
 </dt>
 <dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-libs-GstVideoAggregatorPad.html">GstVideoAggregatorPad</a></span><span class="refpurpose"></span>
diff --git a/docs/plugins/Makefile.in b/docs/plugins/Makefile.in
index 7363cce..89de720 100644
--- a/docs/plugins/Makefile.in
+++ b/docs/plugins/Makefile.in
@@ -318,6 +318,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -367,6 +369,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/docs/plugins/gst-plugins-bad-plugins-docs.sgml b/docs/plugins/gst-plugins-bad-plugins-docs.sgml
index 662fd79..dea2355 100644
--- a/docs/plugins/gst-plugins-bad-plugins-docs.sgml
+++ b/docs/plugins/gst-plugins-bad-plugins-docs.sgml
@@ -23,6 +23,7 @@
     <xi:include href="xml/element-assrender.xml" />
     <xi:include href="xml/element-audiointerleave.xml" />
     <xi:include href="xml/element-audiomixer.xml" />
+    <xi:include href="xml/element-audioparse.xml" />
     <xi:include href="xml/element-autoconvert.xml" />
     <xi:include href="xml/element-bs2b.xml" />
     <xi:include href="xml/element-bulge.xml" />
@@ -57,6 +58,52 @@
     <xi:include href="xml/element-fisheye.xml" />
     <xi:include href="xml/element-fpsdisplaysink.xml" />
     <xi:include href="xml/element-gaussianblur.xml" />
+    <xi:include href="xml/element-glcolorbalance.xml" />
+    <xi:include href="xml/element-glcolorconvert.xml" />
+    <xi:include href="xml/element-glcolorscale.xml" />
+    <xi:include href="xml/element-gldeinterlace.xml" />
+    <xi:include href="xml/element-gldifferencematte.xml" />
+    <xi:include href="xml/element-gldownload.xml" />
+    <xi:include href="xml/element-gleffects_blur.xml" />
+    <xi:include href="xml/element-gleffects_bulge.xml" />
+    <xi:include href="xml/element-gleffects_fisheye.xml" />
+    <xi:include href="xml/element-gleffects_glow.xml" />
+    <xi:include href="xml/element-gleffects_heat.xml" />
+    <xi:include href="xml/element-gleffects_identity.xml" />
+    <xi:include href="xml/element-gleffects_laplacian.xml" />
+    <xi:include href="xml/element-gleffects_lumaxpro.xml" />
+    <xi:include href="xml/element-gleffects_mirror.xml" />
+    <xi:include href="xml/element-gleffects_sepia.xml" />
+    <xi:include href="xml/element-gleffects_sin.xml" />
+    <xi:include href="xml/element-gleffects_sobel.xml" />
+    <xi:include href="xml/element-gleffects_square.xml" />
+    <xi:include href="xml/element-gleffects_squeeze.xml" />
+    <xi:include href="xml/element-gleffects_stretch.xml" />
+    <xi:include href="xml/element-gleffects_tunnel.xml" />
+    <xi:include href="xml/element-gleffects_twirl.xml" />
+    <xi:include href="xml/element-gleffects.xml" />
+    <xi:include href="xml/element-gleffects_xpro.xml" />
+    <xi:include href="xml/element-gleffects_xray.xml" />
+    <xi:include href="xml/element-glfilterapp.xml" />
+    <xi:include href="xml/element-glfilterbin.xml" />
+    <xi:include href="xml/element-glfiltercube.xml" />
+    <xi:include href="xml/element-glfilterglass.xml" />
+    <xi:include href="xml/element-glimagesinkelement.xml" />
+    <xi:include href="xml/element-glimagesink.xml" />
+    <xi:include href="xml/element-glmixerbin.xml" />
+    <xi:include href="xml/element-glmosaic.xml" />
+    <xi:include href="xml/element-gloverlay.xml" />
+    <xi:include href="xml/element-glshader.xml" />
+    <xi:include href="xml/element-glsinkbin.xml" />
+    <xi:include href="xml/element-glsrcbin.xml" />
+    <xi:include href="xml/element-glstereomix.xml" />
+    <xi:include href="xml/element-glstereosplit.xml" />
+    <xi:include href="xml/element-gltestsrc.xml" />
+    <xi:include href="xml/element-gltransformation.xml" />
+    <xi:include href="xml/element-glupload.xml" />
+    <xi:include href="xml/element-glvideomixerelement.xml" />
+    <xi:include href="xml/element-glvideomixer.xml" />
+    <xi:include href="xml/element-glviewconvert.xml" />
     <xi:include href="xml/element-jpegparse.xml" />
     <xi:include href="xml/element-kaleidoscope.xml" />
     <xi:include href="xml/element-liveadder.xml" />
@@ -75,6 +122,8 @@
     <xi:include href="xml/element-openalsink.xml" />
     <xi:include href="xml/element-pcapparse.xml" />
     <xi:include href="xml/element-pinch.xml" />
+    <xi:include href="xml/element-rawaudioparse.xml" />
+    <xi:include href="xml/element-rawvideoparse.xml" />
     <xi:include href="xml/element-rfbsrc.xml" />
     <xi:include href="xml/element-rtmpsink.xml" />
     <xi:include href="xml/element-rtmpsrc.xml" />
@@ -93,6 +142,8 @@
     <xi:include href="xml/element-opencvtextoverlay.xml" />
     <xi:include href="xml/element-tunnel.xml" />
     <xi:include href="xml/element-twirl.xml" />
+    <xi:include href="xml/element-unalignedaudioparse.xml" />
+    <xi:include href="xml/element-unalignedvideoparse.xml" />
     <xi:include href="xml/element-videoparse.xml" />
     <xi:include href="xml/element-waterripple.xml" />
     <xi:include href="xml/element-zbar.xml" />
@@ -138,6 +189,7 @@
     <xi:include href="xml/plugin-neon.xml" />
     <xi:include href="xml/plugin-ofa.xml" />
     <xi:include href="xml/plugin-openal.xml" />
+    <xi:include href="xml/plugin-opengl.xml" />
     <xi:include href="xml/plugin-opencv.xml" />
     <xi:include href="xml/plugin-pcapparse.xml" />
     <xi:include href="xml/plugin-rawparse.xml" />
diff --git a/docs/plugins/gst-plugins-bad-plugins-sections.txt b/docs/plugins/gst-plugins-bad-plugins-sections.txt
index 386658a..ba933c1 100644
--- a/docs/plugins/gst-plugins-bad-plugins-sections.txt
+++ b/docs/plugins/gst-plugins-bad-plugins-sections.txt
@@ -31,6 +31,22 @@
 </SECTION>
 
 <SECTION>
+<FILE>element-audioparse</FILE>
+<TITLE>audioparse</TITLE>
+GstAudioParse
+<SUBSECTION Standard>
+GstAudioParseClass
+GST_AUDIO_PARSE
+GST_AUDIO_PARSE_CAST
+GST_IS_AUDIO_PARSE
+GST_AUDIO_PARSE_CLASS
+GST_IS_AUDIO_PARSE_CLASS
+GST_TYPE_AUDIO_PARSE
+<SUBSECTION Private>
+gst_audio_parse_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-dvbbasebin</FILE>
 <TITLE>dvbbasebin</TITLE>
 GstBaseBin
@@ -3892,6 +3908,22 @@
 </SECTION>
 
 <SECTION>
+<FILE>element-unalignedvideoparse</FILE>
+<TITLE>unalignedvideoparse</TITLE>
+GstUnalignedVideoParse
+<SUBSECTION Standard>
+GstUnalignedVideoParseClass
+GST_UNALIGNED_VIDEO_PARSE
+GST_UNALIGNED_VIDEO_PARSE_CAST
+GST_IS_UNALIGNED_VIDEO_PARSE
+GST_UNALIGNED_VIDEO_PARSE_CLASS
+GST_IS_UNALIGNED_VIDEO_PARSE_CLASS
+GST_TYPE_UNALIGNED_VIDEO_PARSE
+<SUBSECTION Private>
+gst_unaligned_video_parse_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-uvch264mjpgdemux</FILE>
 <TITLE>uvch264mjpgdemux</TITLE>
 GstUvcH264MjpgDemux
@@ -4052,6 +4084,38 @@
 </SECTION>
 
 <SECTION>
+<FILE>element-rawaudioparse</FILE>
+<TITLE>rawaudioparse</TITLE>
+GstRawAudioParse
+<SUBSECTION Standard>
+GstRawAudioParseClass
+GST_RAW_AUDIO_PARSE
+GST_RAW_AUDIO_PARSE_CAST
+GST_IS_AUDIO_PARSE
+GST_RAW_AUDIO_PARSE_CLASS
+GST_IS_AUDIO_PARSE_CLASS
+GST_TYPE_AUDIO_PARSE
+<SUBSECTION Private>
+gst_raw_audio_parse_get_type
+</SECTION>
+
+<SECTION>
+<FILE>element-rawvideoparse</FILE>
+<TITLE>rawvideoparse</TITLE>
+GstRawVideoParse
+<SUBSECTION Standard>
+GstRawVideoParseClass
+GST_RAW_VIDEO_PARSE
+GST_RAW_VIDEO_PARSE_CAST
+GST_IS_VIDEO_PARSE
+GST_RAW_VIDEO_PARSE_CLASS
+GST_IS_VIDEO_PARSE_CLASS
+GST_TYPE_VIDEO_PARSE
+<SUBSECTION Private>
+gst_raw_video_parse_get_type
+</SECTION>
+
+<SECTION>
 <FILE>element-videosegmentclip</FILE>
 <TITLE>videosegmentclip</TITLE>
 GstVideoSegmentClip
diff --git a/docs/plugins/gst-plugins-bad-plugins.args b/docs/plugins/gst-plugins-bad-plugins.args
index ce94f99..25b4ac0 100644
--- a/docs/plugins/gst-plugins-bad-plugins.args
+++ b/docs/plugins/gst-plugins-bad-plugins.args
@@ -58965,7 +58965,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Eyes profile</NICK>
 <BLURB>Location of Haar cascade file to use for eye-pair detection.</BLURB>
-<DEFAULT>"/usr/share/opencv/haarcascades/haarcascade_mcs_eyepair_small.xml"</DEFAULT>
+<DEFAULT>"/usr/share/OpenCV/haarcascades/haarcascade_mcs_eyepair_small.xml"</DEFAULT>
 </ARG>
 
 <ARG>
@@ -59015,7 +59015,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Mouth profile</NICK>
 <BLURB>Location of Haar cascade file to use for mouth detection.</BLURB>
-<DEFAULT>"/usr/share/opencv/haarcascades/haarcascade_mcs_mouth.xml"</DEFAULT>
+<DEFAULT>"/usr/share/OpenCV/haarcascades/haarcascade_mcs_mouth.xml"</DEFAULT>
 </ARG>
 
 <ARG>
@@ -59025,7 +59025,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Nose profile</NICK>
 <BLURB>Location of Haar cascade file to use for nose detection.</BLURB>
-<DEFAULT>"/usr/share/opencv/haarcascades/haarcascade_mcs_nose.xml"</DEFAULT>
+<DEFAULT>"/usr/share/OpenCV/haarcascades/haarcascade_mcs_nose.xml"</DEFAULT>
 </ARG>
 
 <ARG>
@@ -59035,7 +59035,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Face profile</NICK>
 <BLURB>Location of Haar cascade file to use for face detection.</BLURB>
-<DEFAULT>"/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml"</DEFAULT>
+<DEFAULT>"/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml"</DEFAULT>
 </ARG>
 
 <ARG>
@@ -59075,7 +59075,7 @@
 <FLAGS>rw</FLAGS>
 <NICK>Profile</NICK>
 <BLURB>Location of Haar cascade file to use for face blurion.</BLURB>
-<DEFAULT>"/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml"</DEFAULT>
+<DEFAULT>"/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml"</DEFAULT>
 </ARG>
 
 <ARG>
@@ -60041,11 +60041,11 @@
 <ARG>
 <NAME>GstDashDemux::max-bitrate</NAME>
 <TYPE>guint</TYPE>
-<RANGE>>= 1000</RANGE>
+<RANGE></RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Max bitrate</NICK>
-<BLURB>Max of bitrate supported by target decoder.</BLURB>
-<DEFAULT>24000000</DEFAULT>
+<BLURB>Max of bitrate supported by target video decoder (0 = no maximum).</BLURB>
+<DEFAULT>0</DEFAULT>
 </ARG>
 
 <ARG>
@@ -60069,6 +60069,36 @@
 </ARG>
 
 <ARG>
+<NAME>GstDashDemux::max-video-framerate</NAME>
+<TYPE>GstFraction</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Max video framerate</NICK>
+<BLURB>Max video framerate to select (0/1 = no maximum).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstDashDemux::max-video-height</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Max video height</NICK>
+<BLURB>Max video height to select (0 = no maximum).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstDashDemux::max-video-width</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Max video width</NICK>
+<BLURB>Max video width to select (0 = no maximum).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstSkinDetect::method</NAME>
 <TYPE>GstSkindetectMethod</TYPE>
 <RANGE></RANGE>
@@ -67841,6 +67871,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstDecklinkVideoSrc::timecode-format</NAME>
+<TYPE>GstDecklinkTimecodeFormat</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Timecode format</NICK>
+<BLURB>Timecode format type to use for input.</BLURB>
+<DEFAULT>bmdTimecodeRP188Any</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstDecklinkVideoSink::device-number</NAME>
 <TYPE>gint</TYPE>
 <RANGE>>= 0</RANGE>
@@ -67871,6 +67911,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstDecklinkVideoSink::timecode-format</NAME>
+<TYPE>GstDecklinkTimecodeFormat</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Timecode format</NICK>
+<BLURB>Timecode format type to use for playback.</BLURB>
+<DEFAULT>bmdTimecodeRP188Any</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstDecklinkAudioSrc::alignment-threshold</NAME>
 <TYPE>guint64</TYPE>
 <RANGE><= 18446744073709551614</RANGE>
@@ -68052,7 +68102,7 @@
 
 <ARG>
 <NAME>GstOpenh264Enc::slice-mode</NAME>
-<TYPE>GstOpenh264encSliceModes</TYPE>
+<TYPE>GstOpenh264EncSliceModes</TYPE>
 <RANGE></RANGE>
 <FLAGS>rw</FLAGS>
 <NICK>Slice mode</NICK>
@@ -72201,6 +72251,16 @@
 </ARG>
 
 <ARG>
+<NAME>GstWebrtcDsp::delay-agnostic</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rwx</FLAGS>
+<NICK>Delay Agnostic</NICK>
+<BLURB>Enable or disable the delay agnostic mode.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
 <NAME>GstDC1394Src::dma</NAME>
 <TYPE>guint</TYPE>
 <RANGE>>= 1</RANGE>
@@ -72240,3 +72300,253 @@
 <DEFAULT>-1</DEFAULT>
 </ARG>
 
+<ARG>
+<NAME>GstTimeCodeWait::target-timecode</NAME>
+<TYPE>GstVideoTimeCode*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Target timecode (object)</NICK>
+<BLURB>Timecode to wait for (object).</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstTimeCodeWait::target-timecode-string</NAME>
+<TYPE>gchar*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Target timecode (string)</NICK>
+<BLURB>Timecode to wait for (string). Must take the form 00:00:00:00.</BLURB>
+<DEFAULT>"00:00:00:00"</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstTimeCodeStamper::daily-jam</NAME>
+<TYPE>GDateTime*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Daily jam</NICK>
+<BLURB>The daily jam of the timecode.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstTimeCodeStamper::drop-frame</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Override existing timecode</NICK>
+<BLURB>Use drop-frame timecodes for 29.97 and 59.94 FPS.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstTimeCodeStamper::override-existing</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Override existing timecode</NICK>
+<BLURB>If set to true, any existing timecode will be overridden.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstTimeCodeStamper::source-clock</NAME>
+<TYPE>GstClock*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Source clock to use for first timecode</NICK>
+<BLURB>If unset, the timecode will refer to the stream time.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawVideoParse::format</NAME>
+<TYPE>GstVideoFormat</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Format</NICK>
+<BLURB>Format of frames in raw stream.</BLURB>
+<DEFAULT>GST_VIDEO_FORMAT_I420</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawVideoParse::frame-stride</NAME>
+<TYPE>guint</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Frame stride</NICK>
+<BLURB>Stride between whole frames (0 = frames are tightly packed together).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawVideoParse::framerate</NAME>
+<TYPE>GstFraction</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Frame rate</NICK>
+<BLURB>Rate of frames in raw stream.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawVideoParse::height</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Height</NICK>
+<BLURB>Height of frames in raw stream.</BLURB>
+<DEFAULT>240</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawVideoParse::interlaced</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Interlaced flag</NICK>
+<BLURB>True if frames in raw stream are interlaced.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawVideoParse::pixel-aspect-ratio</NAME>
+<TYPE>GstFraction</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Pixel aspect ratio</NICK>
+<BLURB>Pixel aspect ratio of frames in raw stream.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawVideoParse::plane-offsets</NAME>
+<TYPE>GValueArray*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Plane offsets</NICK>
+<BLURB>Offsets of the planets in bytes.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawVideoParse::plane-strides</NAME>
+<TYPE>GValueArray*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Plane strides</NICK>
+<BLURB>Strides of the planets in bytes.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawVideoParse::top-field-first</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Top field first</NICK>
+<BLURB>True if top field in frames in raw stream come first (not used if frames aren't interlaced).</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawVideoParse::width</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Width</NICK>
+<BLURB>Width of frames in raw stream.</BLURB>
+<DEFAULT>320</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawAudioParse::channel-positions</NAME>
+<TYPE>GValueArray*</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Channel positions</NICK>
+<BLURB>Channel positions used on the output.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawAudioParse::format</NAME>
+<TYPE>GstRawAudioParseFormat</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Format</NICK>
+<BLURB>Format of the raw audio stream.</BLURB>
+<DEFAULT>PCM</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawAudioParse::interleaved</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Interleaved layout</NICK>
+<BLURB>True if audio has interleaved layout.</BLURB>
+<DEFAULT>TRUE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawAudioParse::num-channels</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 1</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Number of channels</NICK>
+<BLURB>Number of channels in raw stream.</BLURB>
+<DEFAULT>2</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawAudioParse::pcm-format</NAME>
+<TYPE>GstAudioFormat</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>PCM format</NICK>
+<BLURB>Format of audio samples in PCM stream (ignored if format property is not set to pcm).</BLURB>
+<DEFAULT>GST_AUDIO_FORMAT_UNKNOWN</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstRawAudioParse::sample-rate</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 1</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Sample rate</NICK>
+<BLURB>Rate of audio samples in raw stream.</BLURB>
+<DEFAULT>44100</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstQtSrc::use-default-fbo</NAME>
+<TYPE>gboolean</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>If use default fbo</NICK>
+<BLURB>When set TRUE, it will not create new fbo for qml render thread.</BLURB>
+<DEFAULT>FALSE</DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstQtSrc::window</NAME>
+<TYPE>gpointer</TYPE>
+<RANGE></RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>QQuickWindow</NICK>
+<BLURB>The QQuickWindow to place in the object heirachy.</BLURB>
+<DEFAULT></DEFAULT>
+</ARG>
+
+<ARG>
+<NAME>GstFdkAacEnc::bitrate</NAME>
+<TYPE>gint</TYPE>
+<RANGE>>= 0</RANGE>
+<FLAGS>rw</FLAGS>
+<NICK>Bitrate</NICK>
+<BLURB>Target Audio Bitrate (0 = fixed value based on  sample rate and channel count).</BLURB>
+<DEFAULT>0</DEFAULT>
+</ARG>
+
diff --git a/docs/plugins/gst-plugins-bad-plugins.hierarchy b/docs/plugins/gst-plugins-bad-plugins.hierarchy
index 2405c41..2a879f1 100644
--- a/docs/plugins/gst-plugins-bad-plugins.hierarchy
+++ b/docs/plugins/gst-plugins-bad-plugins.hierarchy
@@ -36,12 +36,14 @@
           ADPCMDec
           GstDtsDec
           GstFaad
+          GstFdkAacDec
           GstGSMDec
           GstSbcDec
           GstSirenDec
         GstAudioEncoder
           ADPCMEnc
           GstFaac
+          GstFdkAacEnc
           GstGSMEnc
           GstSbcEnc
           GstSirenEnc
@@ -66,6 +68,9 @@
           GstMpegvParse
           GstOpusParse
           GstPngParse
+          GstRawBaseParse
+            GstRawAudioParse
+            GstRawVideoParse
           GstVC1Parse
         GstBaseSink
           GstAudioBaseSink
@@ -115,6 +120,7 @@
             GstDvbSrc
             GstGLTestSrc
             GstMMS
+            GstQtSrc
             GstRTMPSrc
             GstRfbSrc
             GstShmSrc
@@ -138,6 +144,8 @@
               ladspa-sine-so-sine-fcaa
             GstOFA
             GstStereo
+            GstWebrtcDsp
+            GstWebrtcEchoProbe
           GstBayer2RGB
           GstDebugSpy
           GstDtmfDetect
@@ -181,6 +189,7 @@
           GstIvtc
           GstRGB2Bayer
           GstRemoveSilence
+          GstTimeCodeStamper
           GstVideoFilter
             GstBurn
             GstChromaHold
@@ -247,6 +256,7 @@
             GstDashDemux
             GstHLSDemux
             GstMssDemux
+          GstAudioParse
           GstAutoConvert
           GstAutoVideoConvert
           GstBaseCameraSrc
@@ -268,6 +278,8 @@
           GstSDPDemux
           GstSdpSrc
           GstUnalignedAudioParse
+          GstUnalignedVideoParse
+          GstVideoParse
           GstViewfinderBin
           RsnDvdBin
         GstBz2dec
@@ -309,9 +321,6 @@
         GstPitch
         GstRTPBasePayload
           GstRtpAsfPay
-        GstRawParse
-          GstAudioParse
-          GstVideoParse
         GstRtpOnvifParse
         GstRtpOnvifTimestamp
         GstSFDec
@@ -326,6 +335,7 @@
         GstTagMux
           GstId3Mux
         GstTeletextDec
+        GstTimeCodeWait
         GstUvcH264MjpgDemux
         GstVideoDecoder
           GstLibde265Dec
diff --git a/docs/plugins/gst-plugins-bad-plugins.interfaces b/docs/plugins/gst-plugins-bad-plugins.interfaces
index 1a5967c..53b47ca 100644
--- a/docs/plugins/gst-plugins-bad-plugins.interfaces
+++ b/docs/plugins/gst-plugins-bad-plugins.interfaces
@@ -8,6 +8,7 @@
 GstAudioEncoder GstPreset
 GstAudioInterleave GstChildProxy
 GstAudioMixer GstChildProxy
+GstAudioParse GstChildProxy
 GstAutoConvert GstChildProxy
 GstAutoVideoConvert GstChildProxy
 GstBaseCameraSrc GstChildProxy
@@ -32,6 +33,7 @@
 GstFPSDisplaySink GstChildProxy
 GstFaac GstPreset
 GstFaceOverlay GstChildProxy
+GstFdkAacEnc GstPreset
 GstFreeverb GstPreset
 GstGLBaseMixer GstChildProxy
 GstGLColorBalance GstColorBalance
@@ -82,12 +84,14 @@
 GstSirenEnc GstPreset
 GstTagMux GstTagSetter
 GstUnalignedAudioParse GstChildProxy
+GstUnalignedVideoParse GstChildProxy
 GstUvcH264Src GstChildProxy
 GstVCDSrc GstURIHandler
 GstVP8Enc GstPreset GstTagSetter
 GstVP8Enc GstTagSetter GstPreset
 GstVideoAggregator GstChildProxy
 GstVideoEncoder GstPreset
+GstVideoParse GstChildProxy
 GstViewfinderBin GstChildProxy
 GstVoAacEnc GstPreset
 GstVoAmrWbEnc GstPreset
diff --git a/docs/plugins/html/ch01.html b/docs/plugins/html/ch01.html
index f4d2a1e..1c001f7 100644
--- a/docs/plugins/html/ch01.html
+++ b/docs/plugins/html/ch01.html
@@ -42,6 +42,9 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-audiomixer.html">audiomixer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-audioparse.html">audioparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-autoconvert.html">autoconvert</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
@@ -141,6 +144,144 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-gaussianblur.html">gaussianblur</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glcolorbalance.html">glcolorbalance</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glcolorconvert.html">glcolorconvert</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glcolorscale.html">glcolorscale</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gldeinterlace.html">gldeinterlace</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gldifferencematte.html">gldifferencematte</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gldownload.html">gldownload</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-blur.html">gleffects_blur</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-bulge.html">gleffects_bulge</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-fisheye.html">gleffects_fisheye</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-glow.html">gleffects_glow</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-heat.html">gleffects_heat</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-identity.html">gleffects_identity</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-laplacian.html">gleffects_laplacian</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-lumaxpro.html">gleffects_lumaxpro</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-mirror.html">gleffects_mirror</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-sepia.html">gleffects_sepia</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-sin.html">gleffects_sin</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-sobel.html">gleffects_sobel</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-square.html">gleffects_square</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-squeeze.html">gleffects_squeeze</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-stretch.html">gleffects_stretch</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-tunnel.html">gleffects_tunnel</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-twirl.html">gleffects_twirl</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects.html">gleffects</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-xpro.html">gleffects_xpro</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-xray.html">gleffects_xray</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glfilterapp.html">glfilterapp</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glfilterbin.html">glfilterbin</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glfiltercube.html">glfiltercube</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glfilterglass.html">glfilterglass</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glimagesinkelement.html">glimagesinkelement</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glimagesink.html">glimagesink</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glmixerbin.html">glmixerbin</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glmosaic.html">glmosaic</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gloverlay.html">gloverlay</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glshader.html">glshader</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glsinkbin.html">glsinkbin</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glsrcbin.html">glsrcbin</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glstereomix.html">glstereomix</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glstereosplit.html">glstereosplit</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gltestsrc.html">gltestsrc</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gltransformation.html">gltransformation</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glupload.html">glupload</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glvideomixerelement.html">glvideomixerelement</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glvideomixer.html">glvideomixer</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glviewconvert.html">glviewconvert</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-jpegparse.html">jpegparse</a></span><span class="refpurpose"> — JPEG parser</span>
 </dt>
 <dt>
@@ -195,6 +336,12 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-pinch.html">pinch</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-rawaudioparse.html">rawaudioparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-rawvideoparse.html">rawvideoparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-rfbsrc.html">rfbsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
@@ -249,6 +396,12 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-twirl.html">twirl</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-unalignedaudioparse.html">unalignedaudioparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-unalignedvideoparse.html">unalignedvideoparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-videoparse.html">videoparse</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
diff --git a/docs/plugins/html/ch02.html b/docs/plugins/html/ch02.html
index a375336..276d2eb 100644
--- a/docs/plugins/html/ch02.html
+++ b/docs/plugins/html/ch02.html
@@ -123,6 +123,9 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-openal.html">openal</a></span><span class="refpurpose"> — OpenAL plugin library</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opengl.html">opengl</a></span><span class="refpurpose"> — OpenGL plugin</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opencv.html">opencv</a></span><span class="refpurpose"> — GStreamer OpenCV Plugins</span>
 </dt>
 <dt>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2 b/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2
index 948d2cf..0741f2b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2
+++ b/docs/plugins/html/gst-plugins-bad-plugins-1.0.devhelp2
@@ -8,6 +8,7 @@
       <sub name="assrender" link="gst-plugins-bad-plugins-assrender.html"/>
       <sub name="audiointerleave" link="gst-plugins-bad-plugins-audiointerleave.html"/>
       <sub name="audiomixer" link="gst-plugins-bad-plugins-audiomixer.html"/>
+      <sub name="audioparse" link="gst-plugins-bad-plugins-audioparse.html"/>
       <sub name="autoconvert" link="gst-plugins-bad-plugins-autoconvert.html"/>
       <sub name="bs2b" link="gst-plugins-bad-plugins-bs2b.html"/>
       <sub name="bulge" link="gst-plugins-bad-plugins-bulge.html"/>
@@ -41,6 +42,52 @@
       <sub name="fisheye" link="gst-plugins-bad-plugins-fisheye.html"/>
       <sub name="fpsdisplaysink" link="gst-plugins-bad-plugins-fpsdisplaysink.html"/>
       <sub name="gaussianblur" link="gst-plugins-bad-plugins-gaussianblur.html"/>
+      <sub name="glcolorbalance" link="gst-plugins-bad-plugins-glcolorbalance.html"/>
+      <sub name="glcolorconvert" link="gst-plugins-bad-plugins-glcolorconvert.html"/>
+      <sub name="glcolorscale" link="gst-plugins-bad-plugins-glcolorscale.html"/>
+      <sub name="gldeinterlace" link="gst-plugins-bad-plugins-gldeinterlace.html"/>
+      <sub name="gldifferencematte" link="gst-plugins-bad-plugins-gldifferencematte.html"/>
+      <sub name="gldownload" link="gst-plugins-bad-plugins-gldownload.html"/>
+      <sub name="gleffects_blur" link="gst-plugins-bad-plugins-gleffects-blur.html"/>
+      <sub name="gleffects_bulge" link="gst-plugins-bad-plugins-gleffects-bulge.html"/>
+      <sub name="gleffects_fisheye" link="gst-plugins-bad-plugins-gleffects-fisheye.html"/>
+      <sub name="gleffects_glow" link="gst-plugins-bad-plugins-gleffects-glow.html"/>
+      <sub name="gleffects_heat" link="gst-plugins-bad-plugins-gleffects-heat.html"/>
+      <sub name="gleffects_identity" link="gst-plugins-bad-plugins-gleffects-identity.html"/>
+      <sub name="gleffects_laplacian" link="gst-plugins-bad-plugins-gleffects-laplacian.html"/>
+      <sub name="gleffects_lumaxpro" link="gst-plugins-bad-plugins-gleffects-lumaxpro.html"/>
+      <sub name="gleffects_mirror" link="gst-plugins-bad-plugins-gleffects-mirror.html"/>
+      <sub name="gleffects_sepia" link="gst-plugins-bad-plugins-gleffects-sepia.html"/>
+      <sub name="gleffects_sin" link="gst-plugins-bad-plugins-gleffects-sin.html"/>
+      <sub name="gleffects_sobel" link="gst-plugins-bad-plugins-gleffects-sobel.html"/>
+      <sub name="gleffects_square" link="gst-plugins-bad-plugins-gleffects-square.html"/>
+      <sub name="gleffects_squeeze" link="gst-plugins-bad-plugins-gleffects-squeeze.html"/>
+      <sub name="gleffects_stretch" link="gst-plugins-bad-plugins-gleffects-stretch.html"/>
+      <sub name="gleffects_tunnel" link="gst-plugins-bad-plugins-gleffects-tunnel.html"/>
+      <sub name="gleffects_twirl" link="gst-plugins-bad-plugins-gleffects-twirl.html"/>
+      <sub name="gleffects" link="gst-plugins-bad-plugins-gleffects.html"/>
+      <sub name="gleffects_xpro" link="gst-plugins-bad-plugins-gleffects-xpro.html"/>
+      <sub name="gleffects_xray" link="gst-plugins-bad-plugins-gleffects-xray.html"/>
+      <sub name="glfilterapp" link="gst-plugins-bad-plugins-glfilterapp.html"/>
+      <sub name="glfilterbin" link="gst-plugins-bad-plugins-glfilterbin.html"/>
+      <sub name="glfiltercube" link="gst-plugins-bad-plugins-glfiltercube.html"/>
+      <sub name="glfilterglass" link="gst-plugins-bad-plugins-glfilterglass.html"/>
+      <sub name="glimagesinkelement" link="gst-plugins-bad-plugins-glimagesinkelement.html"/>
+      <sub name="glimagesink" link="gst-plugins-bad-plugins-glimagesink.html"/>
+      <sub name="glmixerbin" link="gst-plugins-bad-plugins-glmixerbin.html"/>
+      <sub name="glmosaic" link="gst-plugins-bad-plugins-glmosaic.html"/>
+      <sub name="gloverlay" link="gst-plugins-bad-plugins-gloverlay.html"/>
+      <sub name="glshader" link="gst-plugins-bad-plugins-glshader.html"/>
+      <sub name="glsinkbin" link="gst-plugins-bad-plugins-glsinkbin.html"/>
+      <sub name="glsrcbin" link="gst-plugins-bad-plugins-glsrcbin.html"/>
+      <sub name="glstereomix" link="gst-plugins-bad-plugins-glstereomix.html"/>
+      <sub name="glstereosplit" link="gst-plugins-bad-plugins-glstereosplit.html"/>
+      <sub name="gltestsrc" link="gst-plugins-bad-plugins-gltestsrc.html"/>
+      <sub name="gltransformation" link="gst-plugins-bad-plugins-gltransformation.html"/>
+      <sub name="glupload" link="gst-plugins-bad-plugins-glupload.html"/>
+      <sub name="glvideomixerelement" link="gst-plugins-bad-plugins-glvideomixerelement.html"/>
+      <sub name="glvideomixer" link="gst-plugins-bad-plugins-glvideomixer.html"/>
+      <sub name="glviewconvert" link="gst-plugins-bad-plugins-glviewconvert.html"/>
       <sub name="jpegparse" link="gst-plugins-bad-plugins-jpegparse.html"/>
       <sub name="kaleidoscope" link="gst-plugins-bad-plugins-kaleidoscope.html"/>
       <sub name="liveadder" link="gst-plugins-bad-plugins-liveadder.html"/>
@@ -59,6 +106,8 @@
       <sub name="openalsink" link="gst-plugins-bad-plugins-openalsink.html"/>
       <sub name="pcapparse" link="gst-plugins-bad-plugins-pcapparse.html"/>
       <sub name="pinch" link="gst-plugins-bad-plugins-pinch.html"/>
+      <sub name="rawaudioparse" link="gst-plugins-bad-plugins-rawaudioparse.html"/>
+      <sub name="rawvideoparse" link="gst-plugins-bad-plugins-rawvideoparse.html"/>
       <sub name="rfbsrc" link="gst-plugins-bad-plugins-rfbsrc.html"/>
       <sub name="rtmpsink" link="gst-plugins-bad-plugins-rtmpsink.html"/>
       <sub name="rtmpsrc" link="gst-plugins-bad-plugins-rtmpsrc.html"/>
@@ -77,6 +126,8 @@
       <sub name="opencvtextoverlay" link="gst-plugins-bad-plugins-opencvtextoverlay.html"/>
       <sub name="tunnel" link="gst-plugins-bad-plugins-tunnel.html"/>
       <sub name="twirl" link="gst-plugins-bad-plugins-twirl.html"/>
+      <sub name="unalignedaudioparse" link="gst-plugins-bad-plugins-unalignedaudioparse.html"/>
+      <sub name="unalignedvideoparse" link="gst-plugins-bad-plugins-unalignedvideoparse.html"/>
       <sub name="videoparse" link="gst-plugins-bad-plugins-videoparse.html"/>
       <sub name="waterripple" link="gst-plugins-bad-plugins-waterripple.html"/>
       <sub name="zbar" link="gst-plugins-bad-plugins-zbar.html"/>
@@ -120,6 +171,7 @@
       <sub name="neon" link="gst-plugins-bad-plugins-plugin-neon.html"/>
       <sub name="ofa" link="gst-plugins-bad-plugins-plugin-ofa.html"/>
       <sub name="openal" link="gst-plugins-bad-plugins-plugin-openal.html"/>
+      <sub name="opengl" link="gst-plugins-bad-plugins-plugin-opengl.html"/>
       <sub name="opencv" link="gst-plugins-bad-plugins-plugin-opencv.html"/>
       <sub name="pcapparse" link="gst-plugins-bad-plugins-plugin-pcapparse.html"/>
       <sub name="rawparse" link="gst-plugins-bad-plugins-plugin-rawparse.html"/>
@@ -154,6 +206,18 @@
     <keyword type="property" name="The “discont-wait” property" link="gst-plugins-bad-plugins-audiomixer.html#GstAudioMixer--discont-wait"/>
     <keyword type="property" name="The “blocksize” property" link="gst-plugins-bad-plugins-audiomixer.html#GstAudioMixer--blocksize"/>
     <keyword type="property" name="The “output-buffer-duration” property" link="gst-plugins-bad-plugins-audiomixer.html#GstAudioMixer--output-buffer-duration"/>
+    <keyword type="struct" name="struct GstAudioParse" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse-struct"/>
+    <keyword type="property" name="The “channels” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--channels"/>
+    <keyword type="property" name="The “depth” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--depth"/>
+    <keyword type="property" name="The “endianness” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--endianness"/>
+    <keyword type="property" name="The “format” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--format"/>
+    <keyword type="property" name="The “rate” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--rate"/>
+    <keyword type="property" name="The “signed” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--signed"/>
+    <keyword type="property" name="The “width” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--width"/>
+    <keyword type="property" name="The “channel-positions” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--channel-positions"/>
+    <keyword type="property" name="The “interleaved” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--interleaved"/>
+    <keyword type="property" name="The “raw-format” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--raw-format"/>
+    <keyword type="property" name="The “use-sink-caps” property" link="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--use-sink-caps"/>
     <keyword type="struct" name="struct GstAutoConvert" link="gst-plugins-bad-plugins-autoconvert.html#GstAutoConvert-struct"/>
     <keyword type="property" name="The “factories” property" link="gst-plugins-bad-plugins-autoconvert.html#GstAutoConvert--factories"/>
     <keyword type="property" name="The “initial-identity” property" link="gst-plugins-bad-plugins-autoconvert.html#GstAutoConvert--initial-identity"/>
@@ -165,7 +229,7 @@
     <keyword type="struct" name="struct GstBurn" link="gst-plugins-bad-plugins-burn.html#GstBurn-struct"/>
     <keyword type="property" name="The “silent” property" link="gst-plugins-bad-plugins-burn.html#GstBurn--silent"/>
     <keyword type="property" name="The “adjustment” property" link="gst-plugins-bad-plugins-burn.html#GstBurn--adjustment"/>
-    <keyword type="typedef" name="GstChromium" link="gst-plugins-bad-plugins-chromium.html#GstChromium"/>
+    <keyword type="struct" name="struct GstChromium" link="gst-plugins-bad-plugins-chromium.html#GstChromium-struct"/>
     <keyword type="property" name="The “silent” property" link="gst-plugins-bad-plugins-chromium.html#GstChromium--silent"/>
     <keyword type="property" name="The “edge-a” property" link="gst-plugins-bad-plugins-chromium.html#GstChromium--edge-a"/>
     <keyword type="property" name="The “edge-b” property" link="gst-plugins-bad-plugins-chromium.html#GstChromium--edge-b"/>
@@ -326,8 +390,133 @@
     <keyword type="property" name="The “last-message” property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--last-message"/>
     <keyword type="property" name="The “silent” property" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink--silent"/>
     <keyword type="signal" name="The “fps-measurements” signal" link="gst-plugins-bad-plugins-fpsdisplaysink.html#GstFPSDisplaySink-fps-measurements"/>
-    <keyword type="typedef" name="GstGaussianBlur" link="gst-plugins-bad-plugins-gaussianblur.html#GstGaussianBlur"/>
+    <keyword type="struct" name="struct GstGaussianBlur" link="gst-plugins-bad-plugins-gaussianblur.html#GstGaussianBlur-struct"/>
     <keyword type="property" name="The “sigma” property" link="gst-plugins-bad-plugins-gaussianblur.html#GstGaussianBlur--sigma"/>
+    <keyword type="struct" name="struct GstGLColorBalance" link="gst-plugins-bad-plugins-glcolorbalance.html#GstGLColorBalance-struct"/>
+    <keyword type="property" name="The “brightness” property" link="gst-plugins-bad-plugins-glcolorbalance.html#GstGLColorBalance--brightness"/>
+    <keyword type="property" name="The “contrast” property" link="gst-plugins-bad-plugins-glcolorbalance.html#GstGLColorBalance--contrast"/>
+    <keyword type="property" name="The “hue” property" link="gst-plugins-bad-plugins-glcolorbalance.html#GstGLColorBalance--hue"/>
+    <keyword type="property" name="The “saturation” property" link="gst-plugins-bad-plugins-glcolorbalance.html#GstGLColorBalance--saturation"/>
+    <keyword type="struct" name="struct GstGLColorConvertElement" link="gst-plugins-bad-plugins-glcolorconvert.html#GstGLColorConvertElement-struct"/>
+    <keyword type="struct" name="struct GstGLColorscale" link="gst-plugins-bad-plugins-glcolorscale.html#GstGLColorscale-struct"/>
+    <keyword type="struct" name="struct GstGLDeinterlace" link="gst-plugins-bad-plugins-gldeinterlace.html#GstGLDeinterlace-struct"/>
+    <keyword type="property" name="The “method” property" link="gst-plugins-bad-plugins-gldeinterlace.html#GstGLDeinterlace--method"/>
+    <keyword type="struct" name="struct GstGLDifferenceMatte" link="gst-plugins-bad-plugins-gldifferencematte.html#GstGLDifferenceMatte-struct"/>
+    <keyword type="property" name="The “location” property" link="gst-plugins-bad-plugins-gldifferencematte.html#GstGLDifferenceMatte--location"/>
+    <keyword type="struct" name="struct GstGLDownloadElement" link="gst-plugins-bad-plugins-gldownload.html#GstGLDownloadElement-struct"/>
+    <keyword type="struct" name="struct GstGLFilterApp" link="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp-struct"/>
+    <keyword type="property" name="The “client-data” property" link="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp--client-data"/>
+    <keyword type="property" name="The “client-draw-callback” property" link="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp--client-draw-callback"/>
+    <keyword type="property" name="The “client-reshape-callback” property" link="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp--client-reshape-callback"/>
+    <keyword type="signal" name="The “client-draw” signal" link="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp-client-draw"/>
+    <keyword type="struct" name="struct GstGLFilterBin" link="gst-plugins-bad-plugins-glfilterbin.html#GstGLFilterBin-struct"/>
+    <keyword type="property" name="The “filter” property" link="gst-plugins-bad-plugins-glfilterbin.html#GstGLFilterBin--filter"/>
+    <keyword type="signal" name="The “create-element” signal" link="gst-plugins-bad-plugins-glfilterbin.html#GstGLFilterBin-create-element"/>
+    <keyword type="struct" name="struct GstGLFilterCube" link="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube-struct"/>
+    <keyword type="property" name="The “aspect” property" link="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--aspect"/>
+    <keyword type="property" name="The “blue” property" link="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--blue"/>
+    <keyword type="property" name="The “fovy” property" link="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--fovy"/>
+    <keyword type="property" name="The “green” property" link="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--green"/>
+    <keyword type="property" name="The “red” property" link="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--red"/>
+    <keyword type="property" name="The “zfar” property" link="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--zfar"/>
+    <keyword type="property" name="The “znear” property" link="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--znear"/>
+    <keyword type="struct" name="struct GstGLFilterGlass" link="gst-plugins-bad-plugins-glfilterglass.html#GstGLFilterGlass-struct"/>
+    <keyword type="struct" name="struct GstGLImageSink" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink-struct"/>
+    <keyword type="property" name="The “display” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--display"/>
+    <keyword type="property" name="The “client-data” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--client-data"/>
+    <keyword type="property" name="The “client-draw-callback” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--client-draw-callback"/>
+    <keyword type="property" name="The “client-reshape-callback” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--client-reshape-callback"/>
+    <keyword type="property" name="The “force-aspect-ratio” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--force-aspect-ratio"/>
+    <keyword type="property" name="The “other-context” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--other-context"/>
+    <keyword type="property" name="The “pixel-aspect-ratio” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--pixel-aspect-ratio"/>
+    <keyword type="property" name="The “context” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--context"/>
+    <keyword type="property" name="The “handle-events” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--handle-events"/>
+    <keyword type="property" name="The “ignore-alpha” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--ignore-alpha"/>
+    <keyword type="property" name="The “output-multiview-downmix-mode” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--output-multiview-downmix-mode"/>
+    <keyword type="property" name="The “output-multiview-flags” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--output-multiview-flags"/>
+    <keyword type="property" name="The “output-multiview-mode” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--output-multiview-mode"/>
+    <keyword type="property" name="The “rotate-method” property" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--rotate-method"/>
+    <keyword type="signal" name="The “client-draw” signal" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink-client-draw"/>
+    <keyword type="signal" name="The “client-reshape” signal" link="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink-client-reshape"/>
+    <keyword type="struct" name="struct GstGLMixerBin" link="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin-struct"/>
+    <keyword type="property" name="The “latency” property" link="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin--latency"/>
+    <keyword type="property" name="The “mixer” property" link="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin--mixer"/>
+    <keyword type="property" name="The “start-time” property" link="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin--start-time"/>
+    <keyword type="property" name="The “start-time-selection” property" link="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin--start-time-selection"/>
+    <keyword type="signal" name="The “create-element” signal" link="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin-create-element"/>
+    <keyword type="struct" name="struct GstGLMosaic" link="gst-plugins-bad-plugins-glmosaic.html#GstGLMosaic-struct"/>
+    <keyword type="struct" name="struct GstGLOverlay" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay-struct"/>
+    <keyword type="property" name="The “angle-png” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--angle-png"/>
+    <keyword type="property" name="The “angle-video” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--angle-video"/>
+    <keyword type="property" name="The “location” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--location"/>
+    <keyword type="property" name="The “proportion-png” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--proportion-png"/>
+    <keyword type="property" name="The “proportion-video” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--proportion-video"/>
+    <keyword type="property" name="The “ratio-video” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--ratio-video"/>
+    <keyword type="property" name="The “rotate-png” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--rotate-png"/>
+    <keyword type="property" name="The “rotate-video” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--rotate-video"/>
+    <keyword type="property" name="The “video-top” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--video-top"/>
+    <keyword type="property" name="The “xpos-png” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--xpos-png"/>
+    <keyword type="property" name="The “xpos-video” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--xpos-video"/>
+    <keyword type="property" name="The “ypos-png” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--ypos-png"/>
+    <keyword type="property" name="The “ypos-video” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--ypos-video"/>
+    <keyword type="property" name="The “alpha” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--alpha"/>
+    <keyword type="property" name="The “offset-x” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--offset-x"/>
+    <keyword type="property" name="The “offset-y” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--offset-y"/>
+    <keyword type="property" name="The “overlay-height” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--overlay-height"/>
+    <keyword type="property" name="The “overlay-width” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--overlay-width"/>
+    <keyword type="property" name="The “relative-x” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--relative-x"/>
+    <keyword type="property" name="The “relative-y” property" link="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--relative-y"/>
+    <keyword type="struct" name="struct GstGLFilterShader" link="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader-struct"/>
+    <keyword type="property" name="The “location” property" link="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--location"/>
+    <keyword type="property" name="The “preset” property" link="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--preset"/>
+    <keyword type="property" name="The “vars” property" link="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--vars"/>
+    <keyword type="property" name="The “fragment” property" link="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--fragment"/>
+    <keyword type="property" name="The “shader” property" link="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--shader"/>
+    <keyword type="property" name="The “uniforms” property" link="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--uniforms"/>
+    <keyword type="property" name="The “update-shader” property" link="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--update-shader"/>
+    <keyword type="property" name="The “vertex” property" link="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--vertex"/>
+    <keyword type="signal" name="The “create-shader” signal" link="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader-create-shader"/>
+    <keyword type="struct" name="struct GstGLSinkBin" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin-struct"/>
+    <keyword type="property" name="The “force-aspect-ratio” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--force-aspect-ratio"/>
+    <keyword type="property" name="The “sink” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--sink"/>
+    <keyword type="property" name="The “async” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--async"/>
+    <keyword type="property" name="The “blocksize” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--blocksize"/>
+    <keyword type="property" name="The “enable-last-sample” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--enable-last-sample"/>
+    <keyword type="property" name="The “last-sample” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--last-sample"/>
+    <keyword type="property" name="The “max-bitrate” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--max-bitrate"/>
+    <keyword type="property" name="The “max-lateness” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--max-lateness"/>
+    <keyword type="property" name="The “qos” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--qos"/>
+    <keyword type="property" name="The “render-delay” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--render-delay"/>
+    <keyword type="property" name="The “sync” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--sync"/>
+    <keyword type="property" name="The “throttle-time” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--throttle-time"/>
+    <keyword type="property" name="The “ts-offset” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--ts-offset"/>
+    <keyword type="property" name="The “brightness” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--brightness"/>
+    <keyword type="property" name="The “contrast” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--contrast"/>
+    <keyword type="property" name="The “hue” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--hue"/>
+    <keyword type="property" name="The “saturation” property" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--saturation"/>
+    <keyword type="signal" name="The “create-element” signal" link="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin-create-element"/>
+    <keyword type="struct" name="struct GstGLSrcBin" link="gst-plugins-bad-plugins-glsrcbin.html#GstGLSrcBin-struct"/>
+    <keyword type="property" name="The “src” property" link="gst-plugins-bad-plugins-glsrcbin.html#GstGLSrcBin--src"/>
+    <keyword type="signal" name="The “create-element” signal" link="gst-plugins-bad-plugins-glsrcbin.html#GstGLSrcBin-create-element"/>
+    <keyword type="struct" name="struct GstGLStereoMix" link="gst-plugins-bad-plugins-glstereomix.html#GstGLStereoMix-struct"/>
+    <keyword type="property" name="The “downmix-mode” property" link="gst-plugins-bad-plugins-glstereomix.html#GstGLStereoMix--downmix-mode"/>
+    <keyword type="struct" name="struct GstGLStereoSplit" link="gst-plugins-bad-plugins-glstereosplit.html#GstGLStereoSplit-struct"/>
+    <keyword type="struct" name="GstGLTestSrc" link="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrc-struct"/>
+    <keyword type="enum" name="enum GstGLTestSrcPattern" link="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrcPattern"/>
+    <keyword type="property" name="The “is-live” property" link="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrc--is-live"/>
+    <keyword type="property" name="The “pattern” property" link="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrc--pattern"/>
+    <keyword type="property" name="The “timestamp-offset” property" link="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrc--timestamp-offset"/>
+    <keyword type="struct" name="struct GstGLTransformation" link="gst-plugins-bad-plugins-gltransformation.html#GstGLTransformation"/>
+    <keyword type="struct" name="struct GstGLUploadElement" link="gst-plugins-bad-plugins-glupload.html#GstGLUploadElement-struct"/>
+    <keyword type="struct" name="struct GstGLVideoMixer" link="gst-plugins-bad-plugins-glvideomixerelement.html#GstGLVideoMixer-struct"/>
+    <keyword type="enum" name="enum GstGLVideoMixerBackground" link="gst-plugins-bad-plugins-glvideomixerelement.html#GstGLVideoMixerBackground"/>
+    <keyword type="property" name="The “background” property" link="gst-plugins-bad-plugins-glvideomixerelement.html#GstGLVideoMixer--background"/>
+    <keyword type="struct" name="struct GstGLViewConvertElement" link="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement-struct"/>
+    <keyword type="property" name="The “downmix-mode” property" link="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement--downmix-mode"/>
+    <keyword type="property" name="The “input-flags-override” property" link="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement--input-flags-override"/>
+    <keyword type="property" name="The “input-mode-override” property" link="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement--input-mode-override"/>
+    <keyword type="property" name="The “output-flags-override” property" link="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement--output-flags-override"/>
+    <keyword type="property" name="The “output-mode-override” property" link="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement--output-mode-override"/>
     <keyword type="struct" name="struct GstJpegParse" link="gst-plugins-bad-plugins-jpegparse.html#GstJpegParse-struct"/>
     <keyword type="struct" name="struct GstKaleidoscope" link="gst-plugins-bad-plugins-kaleidoscope.html#GstKaleidoscope-struct"/>
     <keyword type="property" name="The “angle” property" link="gst-plugins-bad-plugins-kaleidoscope.html#GstKaleidoscope--angle"/>
@@ -438,6 +627,24 @@
     <keyword type="property" name="The “ts-offset” property" link="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--ts-offset"/>
     <keyword type="struct" name="struct GstPinch" link="gst-plugins-bad-plugins-pinch.html#GstPinch-struct"/>
     <keyword type="property" name="The “intensity” property" link="gst-plugins-bad-plugins-pinch.html#GstPinch--intensity"/>
+    <keyword type="struct" name="struct GstRawAudioParse" link="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse-struct"/>
+    <keyword type="property" name="The “channel-positions” property" link="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--channel-positions"/>
+    <keyword type="property" name="The “format” property" link="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--format"/>
+    <keyword type="property" name="The “interleaved” property" link="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--interleaved"/>
+    <keyword type="property" name="The “num-channels” property" link="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--num-channels"/>
+    <keyword type="property" name="The “pcm-format” property" link="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--pcm-format"/>
+    <keyword type="property" name="The “sample-rate” property" link="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--sample-rate"/>
+    <keyword type="struct" name="struct GstRawVideoParse" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse-struct"/>
+    <keyword type="property" name="The “format” property" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--format"/>
+    <keyword type="property" name="The “frame-stride” property" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--frame-stride"/>
+    <keyword type="property" name="The “framerate” property" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--framerate"/>
+    <keyword type="property" name="The “height” property" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--height"/>
+    <keyword type="property" name="The “interlaced” property" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--interlaced"/>
+    <keyword type="property" name="The “pixel-aspect-ratio” property" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--pixel-aspect-ratio"/>
+    <keyword type="property" name="The “plane-offsets” property" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--plane-offsets"/>
+    <keyword type="property" name="The “plane-strides” property" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--plane-strides"/>
+    <keyword type="property" name="The “top-field-first” property" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--top-field-first"/>
+    <keyword type="property" name="The “width” property" link="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--width"/>
     <keyword type="struct" name="struct GstRfbSrc" link="gst-plugins-bad-plugins-rfbsrc.html#GstRfbSrc-struct"/>
     <keyword type="property" name="The “host” property" link="gst-plugins-bad-plugins-rfbsrc.html#GstRfbSrc--host"/>
     <keyword type="property" name="The “port” property" link="gst-plugins-bad-plugins-rfbsrc.html#GstRfbSrc--port"/>
@@ -509,6 +716,8 @@
     <keyword type="struct" name="struct GstTunnel" link="gst-plugins-bad-plugins-tunnel.html#GstTunnel-struct"/>
     <keyword type="struct" name="struct GstTwirl" link="gst-plugins-bad-plugins-twirl.html#GstTwirl-struct"/>
     <keyword type="property" name="The “angle” property" link="gst-plugins-bad-plugins-twirl.html#GstTwirl--angle"/>
+    <keyword type="struct" name="GstUnalignedAudioParse" link="gst-plugins-bad-plugins-unalignedaudioparse.html#GstUnalignedAudioParse-struct"/>
+    <keyword type="struct" name="GstUnalignedVideoParse" link="gst-plugins-bad-plugins-unalignedvideoparse.html#GstUnalignedVideoParse-struct"/>
     <keyword type="struct" name="struct GstVideoParse" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse-struct"/>
     <keyword type="property" name="The “alpha-mask” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--alpha-mask"/>
     <keyword type="property" name="The “blue-mask” property" link="gst-plugins-bad-plugins-videoparse.html#GstVideoParse--blue-mask"/>
@@ -541,7 +750,7 @@
     <keyword type="property" name="The “band-mode” property" link="gst-plugins-bad-plugins-voamrwbenc.html#GstVoAmrWbEnc--band-mode"/>
     <keyword type="struct" name="struct GstWaveScope" link="gst-plugins-bad-plugins-wavescope.html#GstWaveScope-struct"/>
     <keyword type="property" name="The “style” property" link="gst-plugins-bad-plugins-wavescope.html#GstWaveScope--style"/>
-    <keyword type="struct" name="GstWebrtcDsp" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp"/>
+    <keyword type="struct" name="GstWebrtcDsp" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp-struct"/>
     <keyword type="property" name="The “echo-cancel” property" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--echo-cancel"/>
     <keyword type="property" name="The “experimental-agc” property" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--experimental-agc"/>
     <keyword type="property" name="The “extended-filter” property" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--extended-filter"/>
@@ -551,7 +760,8 @@
     <keyword type="property" name="The “probe” property" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--probe"/>
     <keyword type="property" name="The “echo-suppression-level” property" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--echo-suppression-level"/>
     <keyword type="property" name="The “noise-suppression-level” property" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--noise-suppression-level"/>
-    <keyword type="struct" name="struct GstWebrtcEchoProbe" link="gst-plugins-bad-plugins-webrtcechoprobe.html#GstWebrtcEchoProbe"/>
+    <keyword type="property" name="The “delay-agnostic” property" link="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--delay-agnostic"/>
+    <keyword type="struct" name="struct GstWebrtcEchoProbe" link="gst-plugins-bad-plugins-webrtcechoprobe.html#GstWebrtcEchoProbe-struct"/>
     <keyword type="constant" name="GST_COLOR_EFFECTS_PRESET_NONE" link="gst-plugins-bad-plugins-coloreffects.html#GST-COLOR-EFFECTS-PRESET-NONE:CAPS"/>
     <keyword type="constant" name="GST_COLOR_EFFECTS_PRESET_HEAT" link="gst-plugins-bad-plugins-coloreffects.html#GST-COLOR-EFFECTS-PRESET-HEAT:CAPS"/>
     <keyword type="constant" name="GST_COLOR_EFFECTS_PRESET_SEPIA" link="gst-plugins-bad-plugins-coloreffects.html#GST-COLOR-EFFECTS-PRESET-SEPIA:CAPS"/>
@@ -566,6 +776,24 @@
     <keyword type="constant" name="GST_FACEDETECT_UPDATES_ON_CHANGE" link="gst-plugins-bad-plugins-facedetect.html#GST-FACEDETECT-UPDATES-ON-CHANGE:CAPS"/>
     <keyword type="constant" name="GST_FACEDETECT_UPDATES_ON_FACE" link="gst-plugins-bad-plugins-facedetect.html#GST-FACEDETECT-UPDATES-ON-FACE:CAPS"/>
     <keyword type="constant" name="GST_FACEDETECT_UPDATES_NONE" link="gst-plugins-bad-plugins-facedetect.html#GST-FACEDETECT-UPDATES-NONE:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_SMPTE" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-SMPTE:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_SNOW" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-SNOW:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_BLACK" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-BLACK:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_WHITE" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-WHITE:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_RED" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-RED:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_GREEN" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-GREEN:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_BLUE" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-BLUE:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_CHECKERS1" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-CHECKERS1:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_CHECKERS2" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-CHECKERS2:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_CHECKERS4" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-CHECKERS4:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_CHECKERS8" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-CHECKERS8:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_CIRCULAR" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-CIRCULAR:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_BLINK" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-BLINK:CAPS"/>
+    <keyword type="constant" name="GST_GL_TEST_SRC_MANDELBROT" link="gst-plugins-bad-plugins-gltestsrc.html#GST-GL-TEST-SRC-MANDELBROT:CAPS"/>
+    <keyword type="constant" name="GST_GL_VIDEO_MIXER_BACKGROUND_CHECKER" link="gst-plugins-bad-plugins-glvideomixerelement.html#GST-GL-VIDEO-MIXER-BACKGROUND-CHECKER:CAPS"/>
+    <keyword type="constant" name="GST_GL_VIDEO_MIXER_BACKGROUND_BLACK" link="gst-plugins-bad-plugins-glvideomixerelement.html#GST-GL-VIDEO-MIXER-BACKGROUND-BLACK:CAPS"/>
+    <keyword type="constant" name="GST_GL_VIDEO_MIXER_BACKGROUND_WHITE" link="gst-plugins-bad-plugins-glvideomixerelement.html#GST-GL-VIDEO-MIXER-BACKGROUND-WHITE:CAPS"/>
+    <keyword type="constant" name="GST_GL_VIDEO_MIXER_BACKGROUND_TRANSPARENT" link="gst-plugins-bad-plugins-glvideomixerelement.html#GST-GL-VIDEO-MIXER-BACKGROUND-TRANSPARENT:CAPS"/>
     <keyword type="constant" name="GST_MIRROR_MODE_LEFT" link="gst-plugins-bad-plugins-mirror.html#GST-MIRROR-MODE-LEFT:CAPS"/>
     <keyword type="constant" name="GST_MIRROR_MODE_RIGHT" link="gst-plugins-bad-plugins-mirror.html#GST-MIRROR-MODE-RIGHT:CAPS"/>
     <keyword type="constant" name="GST_MIRROR_MODE_TOP" link="gst-plugins-bad-plugins-mirror.html#GST-MIRROR-MODE-TOP:CAPS"/>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html b/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html
index efa9fd0..ce7e6d8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-audiomixer.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
 <link rel="prev" href="gst-plugins-bad-plugins-audiointerleave.html" title="audiointerleave">
-<link rel="next" href="gst-plugins-bad-plugins-autoconvert.html" title="autoconvert">
+<link rel="next" href="gst-plugins-bad-plugins-audioparse.html" title="audioparse">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -23,7 +23,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-bad-plugins-audiointerleave.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-plugins-autoconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-audioparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-bad-plugins-audiomixer"></a><div class="titlepage"></div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-audioparse.html b/docs/plugins/html/gst-plugins-bad-plugins-audioparse.html
new file mode 100644
index 0000000..24c8141
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-audioparse.html
@@ -0,0 +1,339 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>audioparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-audiomixer.html" title="audiomixer">
+<link rel="next" href="gst-plugins-bad-plugins-autoconvert.html" title="autoconvert">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-audioparse.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-audioparse.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-audioparse.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-audioparse.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-audiomixer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-autoconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-audioparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-audioparse.top_of_page"></a>audioparse</span></h2>
+<p>audioparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-audioparse.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--channels" title="The “channels” property">channels</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--depth" title="The “depth” property">depth</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstAudioParseEndianness</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--endianness" title="The “endianness” property">endianness</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstAudioParseFormat</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--format" title="The “format” property">format</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--rate" title="The “rate” property">rate</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--signed" title="The “signed” property">signed</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--width" title="The “width” property">width</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gobjectgobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--channel-positions" title="The “channel-positions” property">channel-positions</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--interleaved" title="The “interleaved” property">interleaved</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstaudio.html#GstAudioFormat"><span class="type">GstAudioFormat</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--raw-format" title="The “raw-format” property">raw-format</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse--use-sink-caps" title="The “use-sink-caps” property">use-sink-caps</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstAudioParse"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-audioparse.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-audioparse.html#GstAudioParse-struct" title="struct GstAudioParse">GstAudioParse</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-audioparse.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#GstBin-struct">GstBin</a>
+                    <span class="lineart">╰──</span> GstAudioParse
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-audioparse.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstAudioParse implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-audioparse.description"></a><h2>Description</h2>
+<p>Converts a byte stream into audio frames.</p>
+<div class="note">This element is deprecated. Use <a class="link" href="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse"><span class="type">GstRawAudioParse</span></a> instead.</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.8.8.4.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-rawparse.html#plugin-rawparse">rawparse</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Audio</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.8.8.4.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>ANY</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>audio/x-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>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-unaligned-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>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-audioparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-audioparse.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstAudioParse-struct"></a><h3>struct GstAudioParse</h3>
+<pre class="programlisting">struct GstAudioParse;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-audioparse.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstAudioParse--channels"></a><h3>The <code class="literal">“channels”</code> property</h3>
+<pre class="programlisting">  “channels”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Number of channels in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [1,64]</p>
+<p>Default value: 2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioParse--depth"></a><h3>The <code class="literal">“depth”</code> property</h3>
+<pre class="programlisting">  “depth”                    <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Depth of audio samples in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 1</p>
+<p>Default value: 16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioParse--endianness"></a><h3>The <code class="literal">“endianness”</code> property</h3>
+<pre class="programlisting">  “endianness”               <span class="type">GstAudioParseEndianness</span></pre>
+<p>Endianness of audio samples in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Little Endian</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioParse--format"></a><h3>The <code class="literal">“format”</code> property</h3>
+<pre class="programlisting">  “format”                   <span class="type">GstAudioParseFormat</span></pre>
+<p>Format of audio samples in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Raw</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioParse--rate"></a><h3>The <code class="literal">“rate”</code> property</h3>
+<pre class="programlisting">  “rate”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Rate of audio samples in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 1</p>
+<p>Default value: 44100</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioParse--signed"></a><h3>The <code class="literal">“signed”</code> property</h3>
+<pre class="programlisting">  “signed”                   <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Sign of audio samples in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioParse--width"></a><h3>The <code class="literal">“width”</code> property</h3>
+<pre class="programlisting">  “width”                    <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Width of audio samples in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 1</p>
+<p>Default value: 16</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioParse--channel-positions"></a><h3>The <code class="literal">“channel-positions”</code> property</h3>
+<pre class="programlisting">  “channel-positions”        <a href="/usr/share/gtk-doc/html/gobjectgobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> *</pre>
+<p>Channel positions used on the output.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioParse--interleaved"></a><h3>The <code class="literal">“interleaved”</code> property</h3>
+<pre class="programlisting">  “interleaved”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>True if audio has interleaved layout.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioParse--raw-format"></a><h3>The <code class="literal">“raw-format”</code> property</h3>
+<pre class="programlisting">  “raw-format”               <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstaudio.html#GstAudioFormat"><span class="type">GstAudioFormat</span></a></pre>
+<p>Format of audio samples in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: GST_AUDIO_FORMAT_S16LE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstAudioParse--use-sink-caps"></a><h3>The <code class="literal">“use-sink-caps”</code> property</h3>
+<pre class="programlisting">  “use-sink-caps”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Use the sink caps for the format, only performing timestamping.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: FALSE</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html b/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
index b352b06..2432e32 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-autoconvert.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
-<link rel="prev" href="gst-plugins-bad-plugins-audiomixer.html" title="audiomixer">
+<link rel="prev" href="gst-plugins-bad-plugins-audioparse.html" title="audioparse">
 <link rel="next" href="gst-plugins-bad-plugins-bs2b.html" title="bs2b">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -22,7 +22,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-plugins-audiomixer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-audioparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-bad-plugins-bs2b.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -98,7 +98,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.8.8.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.9.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -124,7 +124,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.8.8.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.9.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html b/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
index 7411cd8..610db8d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-bs2b.html
@@ -92,7 +92,7 @@
 It does so by mixing the left and right channel in a way that simulates
 a stereo speaker setup while using headphones.</p>
 <div class="refsect2">
-<a name="id-1.2.9.8.3"></a><h3>Example pipelines</h3>
+<a name="id-1.2.10.8.3"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -108,7 +108,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.9.8.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.10.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -134,7 +134,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.9.8.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.10.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-bulge.html b/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
index 0c63bd8..63ec883 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-bulge.html
@@ -79,7 +79,7 @@
 <p>Bugle is a geometric image transform element. It adds a protuberance in the
 center point.</p>
 <div class="refsect2">
-<a name="id-1.2.10.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.11.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -95,7 +95,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.10.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.11.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -121,7 +121,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.10.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.11.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-burn.html b/docs/plugins/html/gst-plugins-bad-plugins-burn.html
index b073437..5a1242b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-burn.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-burn.html
@@ -83,7 +83,7 @@
 <a name="gst-plugins-bad-plugins-burn.description"></a><h2>Description</h2>
 <p>Burn adjusts the colors of a video stream in realtime.</p>
 <div class="refsect2">
-<a name="id-1.2.11.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.12.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -99,7 +99,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.11.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.12.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -125,7 +125,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.11.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.12.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html b/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
index f0def8f..0236422 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-camerabin.html
@@ -33,10 +33,126 @@
 </tr></table></div>
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-camerabin.description"></a><h2>Description</h2>
+<p>CameraBin is a high-level camera object that encapsulates gstreamer
+elements, providing an API for controlling a digital camera.</p>
+<div class="note">
+Note that camerabin is still UNSTABLE and under development.
+</div>
+<p>CameraBin has the following main features:</p>
+<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
+<li class="listitem">
+Record videos
+</li>
+<li class="listitem">
+Capture pictures
+</li>
+<li class="listitem">
+Display a viewfinder
+</li>
+<li class="listitem">
+Post preview images for each capture (video and image)
+</li>
+</ul></div>
+<div class="refsect2">
+<a name="id-1.2.13.3.6"></a><h3>Usage</h3>
+<p>
+Camerabin can be created using <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElementFactory.html#gst-element-factory-make"><code class="function">gst_element_factory_make()</code></a> just like
+any other element. Video or image capture mode can be selected using
+the <span class="type">“mode”</span> property and the file to save the capture is
+selected using <span class="type">“location”</span> property.
+
+After creating camerabin, applications might want to do some
+customization (there's a section about this below), then select
+the desired mode and start capturing.
+
+In image capture mode, just send a <span class="type">“start-capture”</span> and a
+picture will be captured. When the picture is stored on the selected
+location, a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><code class="literal">GST_MESSAGE_ELEMENT</code></a> named 'image-done' will be posted on
+the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a>.
+
+In video capture mode, send a <span class="type">“start-capture”</span> to start
+recording, then send a <span class="type">“stop-capture”</span> to stop recording.
+Note that both signals are asynchronous, so, calling
+<span class="type">“stop-capture”</span> doesn't guarantee that the video has been
+properly finished yet. Applications should wait for the 'video-done'
+message to be posted on the bus.
+
+In both modes, if <span class="type">“post-previews”</span> is <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>, a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBuffer.html#GstBuffer-struct"><span class="type">GstBuffer</span></a>
+will be post to the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a> in a field named 'buffer', in a
+'preview-image' message of type <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstMessage.html#GST-MESSAGE-ELEMENT:CAPS"><code class="literal">GST_MESSAGE_ELEMENT</code></a>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.13.3.7"></a><h3>Customization</h3>
+<p>
+Camerabin provides various customization properties, allowing the user
+to set custom filters, selecting the viewfinder sink and formats to
+use to encode the captured images/videos.
+
+<a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-encoding-profile.html#GstEncodingProfile-struct"><span class="type">GstEncodingProfile</span></a>s are used to tell camerabin which formats it
+should encode the captures to, those should be set to
+<span class="type">“image-profile”</span> and <span class="type">“video-profile”</span>. Default is
+jpeg for images, and ogg (theora and vorbis) for video. If a profile without
+an audio stream is set for video, audio will be disabled on recordings.
+
+<span class="type">“preview-caps”</span> can be used to select which format preview
+images should be posted on the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a>. It has to be a raw video format.
+
+Camerabin has a <span class="type">“camera-source”</span> property so applications can
+set their source that will provide buffers for the viewfinder and for
+captures. This camera source is a special type of source that has 3 pads.
+To use a 'regular' source with a single pad you should use
+<span class="type">GstWrapperCameraBinSource</span>, it will adapt your source and provide 3 pads.
+
+Applications can also select the desired viewfinder sink using
+<span class="type">“viewfinder-sink”</span>, it is also possible to select the audio
+source using <span class="type">“audio-source”</span>.
+
+The viewfinder resolution can be configured using
+<span class="type">“viewfinder-caps”</span>, these <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstCaps.html#GstCaps-struct"><span class="type">GstCaps</span></a> should be a subset of
+<span class="type">“viewfinder-supported-caps”</span>.
+
+To select the desired resolution for captures, camerabin provides
+<span class="type">“image-capture-caps”</span> and <span class="type">“video-capture-caps”</span>,
+these caps must be a subset of what the source can produce. The allowed
+caps can be probed using <span class="type">“image-capture-supported-caps”</span> and
+<span class="type">“video-capture-supported-caps”</span>. In an analogous way, there
+are <span class="type">“audio-capture-caps”</span> and
+<span class="type">“audio-capture-supported-caps”</span>.
+
+Camerabin also allows applications to insert custom <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElements</span></a> on any
+of its branches: video capture, image capture, viewfinder and preview.
+Check <span class="type">“video-filter”</span>, <span class="type">“image-filter”</span>,
+<span class="type">“viewfinder-filter”</span> and <span class="type">“preview-filter”</span>.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.13.3.8"></a><h3>Example launch line</h3>
+<p>
+Unfortunately, camerabin can't be really used from gst-launch-1.0, as you
+need to send signals to control it. The following pipeline might be able
+to show the viewfinder using all the default elements.
+</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">gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span> <span class="gtkdoc opt">-</span>v <span class="gtkdoc opt">-</span>m camerabin</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+<p>
+</p>
+</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.12.3.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.13.3.9.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -62,7 +178,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.12.3.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.13.3.9.2"></a><h3>Element Pads</h3>
 </div>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-chromium.html b/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
index da80981..4b76f1e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-chromium.html
@@ -68,8 +68,8 @@
 <col class="description">
 </colgroup>
 <tbody><tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-chromium.html#GstChromium">GstChromium</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-chromium.html#GstChromium-struct" title="struct GstChromium">GstChromium</a></td>
 </tr></tbody>
 </table></div>
 </div>
@@ -88,7 +88,7 @@
 <a name="gst-plugins-bad-plugins-chromium.description"></a><h2>Description</h2>
 <p>Chromium breaks the colors of a video stream in realtime.</p>
 <div class="refsect2">
-<a name="id-1.2.13.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.14.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -104,7 +104,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.13.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.14.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -130,7 +130,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.13.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.14.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -189,9 +189,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-chromium.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstChromium"></a><h3>GstChromium</h3>
-<pre class="programlisting">typedef struct GstChromium      GstChromium;
-</pre>
+<a name="GstChromium-struct"></a><h3>struct GstChromium</h3>
+<pre class="programlisting">struct GstChromium;</pre>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-circle.html b/docs/plugins/html/gst-plugins-bad-plugins-circle.html
index 868ec80..a025dde 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-circle.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-circle.html
@@ -91,7 +91,7 @@
 <p>Circle is a geometric image transform element. It warps the picture into an
 arc shaped form.</p>
 <div class="refsect2">
-<a name="id-1.2.14.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.15.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -107,7 +107,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.14.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.15.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -133,7 +133,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.14.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.15.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html b/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
index 9adb740..0cc39c4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-coloreffects.html
@@ -82,7 +82,7 @@
 <a name="gst-plugins-bad-plugins-coloreffects.description"></a><h2>Description</h2>
 <p>Map colors of the video input to a lookup table</p>
 <div class="refsect2">
-<a name="id-1.2.15.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.16.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -100,7 +100,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.15.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.16.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -126,7 +126,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.15.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.16.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -192,7 +192,7 @@
 <hr>
 <div class="refsect2">
 <a name="GstColorEffectsPreset"></a><h3>enum GstColorEffectsPreset</h3>
-<p>The lookup table to use to convert input colors</p>
+<p>How to split the video frame and which side reflect</p>
 <div class="refsect3">
 <a name="GstColorEffectsPreset.members"></a><h4>Members</h4>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-compositor.html b/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
index 968bf0d..47d9e71 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-compositor.html
@@ -122,7 +122,7 @@
 </li>
 </ul></div>
 <div class="refsect2">
-<a name="id-1.2.16.8.6"></a><h3>Sample pipelines</h3>
+<a name="id-1.2.17.8.6"></a><h3>Sample pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -221,7 +221,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.16.8.7.1"></a><h3>Element Information</h3>
+<a name="id-1.2.17.8.7.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -247,7 +247,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.16.8.7.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.17.8.7.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-bad-plugins-cvdilate.html b/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
index 50c3922..e740efd 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvdilate.html
@@ -62,7 +62,7 @@
 <a name="gst-plugins-bad-plugins-cvdilate.description"></a><h2>Description</h2>
 <p>Dilates the image with the cvDilate OpenCV function.</p>
 <div class="refsect2">
-<a name="id-1.2.17.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.18.6.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -78,7 +78,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.17.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.18.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -104,7 +104,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.17.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.18.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html b/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
index e31ee3d..cabaa3c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvequalizehist.html
@@ -62,7 +62,7 @@
 <p>Equalizes the histogram of a grayscale image with the cvEqualizeHist OpenCV
 function.</p>
 <div class="refsect2">
-<a name="id-1.2.19.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.20.6.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -78,7 +78,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.19.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.20.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -104,7 +104,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.19.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.20.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cverode.html b/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
index 0601245..b2fe282 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cverode.html
@@ -62,7 +62,7 @@
 <a name="gst-plugins-bad-plugins-cverode.description"></a><h2>Description</h2>
 <p>Erodes the image with the cvErode OpenCV function.</p>
 <div class="refsect2">
-<a name="id-1.2.18.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.19.6.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -78,7 +78,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.18.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.19.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -104,7 +104,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.18.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.19.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html b/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
index d09961b..22d241c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvlaplace.html
@@ -94,7 +94,7 @@
 <a name="gst-plugins-bad-plugins-cvlaplace.description"></a><h2>Description</h2>
 <p>Applies cvLaplace OpenCV function to the image.</p>
 <div class="refsect2">
-<a name="id-1.2.20.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.21.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -110,7 +110,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.20.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.21.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -136,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.20.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.21.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html b/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
index 8f1476d..271f3ab 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvsmooth.html
@@ -119,7 +119,7 @@
 <a name="gst-plugins-bad-plugins-cvsmooth.description"></a><h2>Description</h2>
 <p>Smooths the image using thes cvSmooth OpenCV function.</p>
 <div class="refsect2">
-<a name="id-1.2.21.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.22.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -135,7 +135,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.21.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.22.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -161,7 +161,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.21.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.22.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html b/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
index ae72eb7..b761de3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-cvsobel.html
@@ -94,7 +94,7 @@
 <a name="gst-plugins-bad-plugins-cvsobel.description"></a><h2>Description</h2>
 <p>Applies the cvSobel OpenCV function to the image.</p>
 <div class="refsect2">
-<a name="id-1.2.22.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.23.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -110,7 +110,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.22.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.23.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -136,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.22.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.23.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html b/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
index baa0ce1..2365ca4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dataurisrc.html
@@ -83,7 +83,7 @@
 <a name="gst-plugins-bad-plugins-dataurisrc.description"></a><h2>Description</h2>
 <p>dataurisrc handles data: URIs, see <a class="ulink" href="http://tools.ietf.org/html/rfc2397" target="_top">RFC 2397</a> for more information.</p>
 <div class="refsect2">
-<a name="id-1.2.23.8.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.24.8.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -99,7 +99,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.23.8.4.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 +125,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.23.8.4.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">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html b/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
index 81a0a83..4713000 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-diffuse.html
@@ -78,7 +78,7 @@
 <p>Diffuse is a geometric image transform element. It diffuses the image by
 moving its pixels in random directions.</p>
 <div class="refsect2">
-<a name="id-1.2.24.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.25.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.24.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.25.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,7 +120,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.24.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.25.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dilate.html b/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
index 85a5b4d..6d8d482 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dilate.html
@@ -83,7 +83,7 @@
 <a name="gst-plugins-bad-plugins-dilate.description"></a><h2>Description</h2>
 <p>Dilate adjusts the colors of a video stream in realtime.</p>
 <div class="refsect2">
-<a name="id-1.2.25.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.26.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -99,7 +99,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.25.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.26.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -125,7 +125,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.25.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.26.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dodge.html b/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
index 21a0ec1..0b69182 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dodge.html
@@ -76,7 +76,7 @@
 <a name="gst-plugins-bad-plugins-dodge.description"></a><h2>Description</h2>
 <p>Dodge saturates the colors of a video stream in realtime.</p>
 <div class="refsect2">
-<a name="id-1.2.26.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.27.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.26.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.27.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -118,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.26.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.27.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html b/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
index 43092e6..f804dd8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtmfdetect.html
@@ -81,7 +81,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.27.6.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.28.6.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -107,7 +107,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.27.6.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.28.6.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html b/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
index 7b494d7..d67f234 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dtsdec.html
@@ -75,7 +75,7 @@
 <a name="gst-plugins-bad-plugins-dtsdec.description"></a><h2>Description</h2>
 <p>Digital Theatre System (DTS) audio decoder</p>
 <div class="refsect2">
-<a name="id-1.2.28.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.29.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -102,7 +102,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.28.7.4.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">
@@ -128,7 +128,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.28.7.4.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">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
index a71cc8d..200f335 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dvbsrc.html
@@ -369,7 +369,7 @@
 <p>dvbsrc can be used to capture media from DVB cards. Supported DTV
 broadcasting standards include DVB-T/C/S, ATSC, ISDB-T and DTMB.</p>
 <div class="refsect2">
-<a name="id-1.2.29.8.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.30.8.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -429,7 +429,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.29.8.4.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">
@@ -456,7 +456,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.29.8.4.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">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html b/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
index 3c2c75c..17629d0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-dvdspu.html
@@ -58,7 +58,7 @@
 <a name="gst-plugins-bad-plugins-dvdspu.description"></a><h2>Description</h2>
 <p>DVD sub picture overlay element.</p>
 <div class="refsect2">
-<a name="id-1.2.30.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.31.6.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -74,7 +74,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.30.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.31.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -100,7 +100,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.30.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.31.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html b/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
index 5802825..f105b6a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-edgedetect.html
@@ -94,7 +94,7 @@
 <a name="gst-plugins-bad-plugins-edgedetect.description"></a><h2>Description</h2>
 <p>Performs canny edge detection on videos and images</p>
 <div class="refsect2">
-<a name="id-1.2.32.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.33.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -110,7 +110,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.32.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.33.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -136,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.32.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.33.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html b/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
index 23fac6e..d34c0e9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-exclusion.html
@@ -83,7 +83,7 @@
 <a name="gst-plugins-bad-plugins-exclusion.description"></a><h2>Description</h2>
 <p>Exclusion saturates the colors of a video stream in realtime.</p>
 <div class="refsect2">
-<a name="id-1.2.31.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.32.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -99,7 +99,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.31.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.32.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -125,7 +125,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.31.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.32.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faac.html b/docs/plugins/html/gst-plugins-bad-plugins-faac.html
index faac749..082180e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faac.html
@@ -119,7 +119,7 @@
 <a name="gst-plugins-bad-plugins-faac.description"></a><h2>Description</h2>
 <p>faac encodes raw audio to AAC (MPEG-4 part 3) streams.</p>
 <div class="refsect2">
-<a name="id-1.2.33.8.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.34.8.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -135,7 +135,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.33.8.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.34.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -161,7 +161,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.33.8.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.34.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faad.html b/docs/plugins/html/gst-plugins-bad-plugins-faad.html
index c066761..b29896b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faad.html
@@ -59,7 +59,7 @@
 <a name="gst-plugins-bad-plugins-faad.description"></a><h2>Description</h2>
 <p>faad decodes AAC (MPEG-4 part 3) stream.</p>
 <div class="refsect2">
-<a name="id-1.2.34.6.3"></a><h3>Example launch lines</h3>
+<a name="id-1.2.35.6.3"></a><h3>Example launch lines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -86,7 +86,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.34.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.35.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -112,7 +112,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.34.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.35.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html b/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
index 75812ff..c51e369 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-faceblur.html
@@ -105,7 +105,7 @@
 <a name="gst-plugins-bad-plugins-faceblur.description"></a><h2>Description</h2>
 <p>Blurs faces in images and videos.</p>
 <div class="refsect2">
-<a name="id-1.2.35.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.36.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -121,7 +121,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.35.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.36.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -147,7 +147,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.35.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.36.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -217,7 +217,7 @@
 <pre class="programlisting">  “profile”                  <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
 <p>Location of Haar cascade file to use for face blurion.</p>
 <p>Flags: Read / Write</p>
-<p>Default value: "/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml"</p>
+<p>Default value: "/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml"</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html b/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
index 4562a01..b2e77fa 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-facedetect.html
@@ -148,7 +148,7 @@
 until the size is &lt;= GstFaceDetect::min-size-width or
 GstFaceDetect::min-size-height.</p>
 <div class="refsect2">
-<a name="id-1.2.36.7.4"></a><h3>Example launch line</h3>
+<a name="id-1.2.37.7.4"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -176,7 +176,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.36.7.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.37.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -202,7 +202,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.36.7.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.37.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -325,7 +325,7 @@
 <pre class="programlisting">  “eyes-profile”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
 <p>Location of Haar cascade file to use for eye-pair detection.</p>
 <p>Flags: Read / Write</p>
-<p>Default value: "/usr/share/opencv/haarcascades/haarcascade_mcs_eyepair_small.xml"</p>
+<p>Default value: "/usr/share/OpenCV/haarcascades/haarcascade_mcs_eyepair_small.xml"</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -368,7 +368,7 @@
 <pre class="programlisting">  “mouth-profile”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
 <p>Location of Haar cascade file to use for mouth detection.</p>
 <p>Flags: Read / Write</p>
-<p>Default value: "/usr/share/opencv/haarcascades/haarcascade_mcs_mouth.xml"</p>
+<p>Default value: "/usr/share/OpenCV/haarcascades/haarcascade_mcs_mouth.xml"</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -376,7 +376,7 @@
 <pre class="programlisting">  “nose-profile”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
 <p>Location of Haar cascade file to use for nose detection.</p>
 <p>Flags: Read / Write</p>
-<p>Default value: "/usr/share/opencv/haarcascades/haarcascade_mcs_nose.xml"</p>
+<p>Default value: "/usr/share/OpenCV/haarcascades/haarcascade_mcs_nose.xml"</p>
 </div>
 <hr>
 <div class="refsect2">
@@ -384,7 +384,7 @@
 <pre class="programlisting">  “profile”                  <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
 <p>Location of Haar cascade file to use for face detection.</p>
 <p>Flags: Read / Write</p>
-<p>Default value: "/usr/share/opencv/haarcascades/haarcascade_frontalface_default.xml"</p>
+<p>Default value: "/usr/share/OpenCV/haarcascades/haarcascade_frontalface_default.xml"</p>
 </div>
 <hr>
 <div class="refsect2">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-festival.html b/docs/plugins/html/gst-plugins-bad-plugins-festival.html
index 367e450..7c970e5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-festival.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-festival.html
@@ -61,7 +61,7 @@
 in server mode, started as </p>
 <pre class="screen">festival --server</pre>
 <div class="refsect2">
-<a name="id-1.2.37.6.5"></a><h3>Example pipeline</h3>
+<a name="id-1.2.38.6.5"></a><h3>Example pipeline</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -77,7 +77,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.37.6.6.1"></a><h3>Element Information</h3>
+<a name="id-1.2.38.6.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -103,7 +103,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.37.6.6.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.38.6.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-bad-plugins-fisheye.html b/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
index f6ed0e8..2de95f9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-fisheye.html
@@ -62,7 +62,7 @@
 <p>Fisheye is a geometric image transform element. It simulates a fisheye lens
 by zooming on the center of the image and compressing the edges.</p>
 <div class="refsect2">
-<a name="id-1.2.38.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.39.6.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -78,7 +78,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.38.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.39.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -104,7 +104,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.38.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.39.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html b/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
index 0955f02..68b482a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-fpsdisplaysink.html
@@ -152,7 +152,7 @@
 <a name="gst-plugins-bad-plugins-fpsdisplaysink.description"></a><h2>Description</h2>
 <p>Can display the current and average framerate as a testoverlay or on stdout.</p>
 <div class="refsect2">
-<a name="id-1.2.39.9.3"></a><h3>Example launch lines</h3>
+<a name="id-1.2.40.9.3"></a><h3>Example launch lines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -174,7 +174,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.39.9.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.40.9.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -200,7 +200,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.39.9.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.40.9.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html b/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
index 9c23870..e56bb7c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gaussianblur.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
 <link rel="prev" href="gst-plugins-bad-plugins-fpsdisplaysink.html" title="fpsdisplaysink">
-<link rel="next" href="gst-plugins-bad-plugins-jpegparse.html" title="jpegparse">
+<link rel="next" href="gst-plugins-bad-plugins-glcolorbalance.html" title="glcolorbalance">
 <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-bad-plugins-fpsdisplaysink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-plugins-jpegparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glcolorbalance.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-bad-plugins-gaussianblur"></a><div class="titlepage"></div>
@@ -56,8 +56,8 @@
 <col class="description">
 </colgroup>
 <tbody><tr>
-<td class="typedef_keyword">typedef</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-gaussianblur.html#GstGaussianBlur">GstGaussianBlur</a></td>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-gaussianblur.html#GstGaussianBlur-struct" title="struct GstGaussianBlur">GstGaussianBlur</a></td>
 </tr></tbody>
 </table></div>
 </div>
@@ -76,7 +76,7 @@
 <a name="gst-plugins-bad-plugins-gaussianblur.description"></a><h2>Description</h2>
 <p>Gaussianblur blurs the video stream in realtime.</p>
 <div class="refsect2">
-<a name="id-1.2.40.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.41.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.40.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.41.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -118,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.40.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.41.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -177,9 +177,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-gaussianblur.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstGaussianBlur"></a><h3>GstGaussianBlur</h3>
-<pre class="programlisting">typedef struct GstGaussianBlur GstGaussianBlur;
-</pre>
+<a name="GstGaussianBlur-struct"></a><h3>struct GstGaussianBlur</h3>
+<pre class="programlisting">struct GstGaussianBlur;</pre>
 </div>
 </div>
 <div class="refsect1">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glcolorbalance.html b/docs/plugins/html/gst-plugins-bad-plugins-glcolorbalance.html
new file mode 100644
index 0000000..39f9b61
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glcolorbalance.html
@@ -0,0 +1,261 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glcolorbalance: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gaussianblur.html" title="gaussianblur">
+<link rel="next" href="gst-plugins-bad-plugins-glcolorconvert.html" title="glcolorconvert">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glcolorbalance.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glcolorbalance.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glcolorbalance.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glcolorbalance.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gaussianblur.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glcolorconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glcolorbalance"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glcolorbalance.top_of_page"></a>glcolorbalance</span></h2>
+<p>glcolorbalance</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorbalance.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glcolorbalance.html#GstGLColorBalance--brightness" title="The “brightness” property">brightness</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glcolorbalance.html#GstGLColorBalance--contrast" title="The “contrast” property">contrast</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glcolorbalance.html#GstGLColorBalance--hue" title="The “hue” property">hue</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glcolorbalance.html#GstGLColorBalance--saturation" title="The “saturation” property">saturation</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstGLColorBalance"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorbalance.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glcolorbalance.html#GstGLColorBalance-struct" title="struct GstGLColorBalance">GstGLColorBalance</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorbalance.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLFilter.html#GstGLFilter-struct">GstGLFilter</a>
+                            <span class="lineart">╰──</span> GstGLColorBalance
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorbalance.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstGLColorBalance implements
+ <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance-struct">GstColorBalance</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorbalance.description"></a><h2>Description</h2>
+<p>Adjusts brightness, contrast, hue, saturation on a video stream.</p>
+<div class="refsect2">
+<a name="id-1.2.42.8.3"></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><span class="number">1.0</span> videotestsrc <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> glcolorbalance saturation<span class="gtkdoc opt">=</span><span class="number">0.0</span> <span class="gtkdoc opt">!</span> glcolorconvert <span class="gtkdoc opt">!</span> gldownload <span class="gtkdoc opt">!</span> ximagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ This pipeline converts the image to black and white by setting the
+saturation to 0.0.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.42.8.4.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.42.8.4.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorbalance.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorbalance.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLColorBalance-struct"></a><h3>struct GstGLColorBalance</h3>
+<pre class="programlisting">struct GstGLColorBalance;</pre>
+<p>Opaque data structure.</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorbalance.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLColorBalance--brightness"></a><h3>The <code class="literal">“brightness”</code> property</h3>
+<pre class="programlisting">  “brightness”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>brightness.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [-1,1]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLColorBalance--contrast"></a><h3>The <code class="literal">“contrast”</code> property</h3>
+<pre class="programlisting">  “contrast”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>contrast.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,2]</p>
+<p>Default value: 1</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLColorBalance--hue"></a><h3>The <code class="literal">“hue”</code> property</h3>
+<pre class="programlisting">  “hue”                      <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>hue.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [-1,1]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLColorBalance--saturation"></a><h3>The <code class="literal">“saturation”</code> property</h3>
+<pre class="programlisting">  “saturation”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>saturation.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,2]</p>
+<p>Default value: 1</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glcolorconvert.html b/docs/plugins/html/gst-plugins-bad-plugins-glcolorconvert.html
new file mode 100644
index 0000000..5734d16
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glcolorconvert.html
@@ -0,0 +1,165 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glcolorconvert: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glcolorbalance.html" title="glcolorbalance">
+<link rel="next" href="gst-plugins-bad-plugins-glcolorscale.html" title="glcolorscale">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glcolorconvert.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glcolorconvert.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glcolorbalance.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glcolorscale.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glcolorconvert"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glcolorconvert.top_of_page"></a>glcolorconvert</span></h2>
+<p>glcolorconvert</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<a name="GstGLColorConvertElement"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorconvert.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glcolorconvert.html#GstGLColorConvertElement-struct" title="struct GstGLColorConvertElement">GstGLColorConvertElement</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorconvert.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> GstGLColorConvertElement
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorconvert.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.43.6.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Converter/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.43.6.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle, external-oes }</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle, external-oes }</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle, external-oes }</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, rectangle, external-oes }</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorconvert.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorconvert.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLColorConvertElement-struct"></a><h3>struct GstGLColorConvertElement</h3>
+<pre class="programlisting">struct GstGLColorConvertElement;</pre>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glcolorscale.html b/docs/plugins/html/gst-plugins-bad-plugins-glcolorscale.html
new file mode 100644
index 0000000..8de053d
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glcolorscale.html
@@ -0,0 +1,204 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glcolorscale: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glcolorconvert.html" title="glcolorconvert">
+<link rel="next" href="gst-plugins-bad-plugins-gldeinterlace.html" title="gldeinterlace">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glcolorscale.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glcolorscale.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glcolorconvert.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gldeinterlace.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glcolorscale"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glcolorscale.top_of_page"></a>glcolorscale</span></h2>
+<p>glcolorscale</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<a name="GstGLColorscale"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorscale.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glcolorscale.html#GstGLColorscale-struct" title="struct GstGLColorscale">GstGLColorscale</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorscale.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLFilter.html#GstGLFilter-struct">GstGLFilter</a>
+                            <span class="lineart">╰──</span> GstGLColorscale
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorscale.description"></a><h2>Description</h2>
+<p>video frame scaling and colorspace conversion.</p>
+<div class="refsect2">
+<a name="id-1.2.44.6.3"></a><h3>Scaling and Color space conversion</h3>
+<p>
+Equivalent to glupload ! gldownload.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.44.6.4"></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> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw <span class="gtkdoc opt">!</span> glcolorscale <span class="gtkdoc opt">!</span> ximagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline to test colorspace conversion.
+FBO is required.
+  <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> <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> width<span class="gtkdoc opt">=</span><span class="number">640</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">480</span><span class="gtkdoc opt">,</span> format<span class="gtkdoc opt">=</span>AYUV <span class="gtkdoc opt">!</span> glcolorscale <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> format<span class="gtkdoc opt">=</span>YV12 <span class="gtkdoc opt">!</span> videoconvert <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline to test hardware scaling and colorspace conversion.
+FBO and GLSL are required.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.44.6.5.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Julien Isorce &lt;julien.isorce@gmail.com&gt;
+Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.44.6.5.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorscale.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glcolorscale.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLColorscale-struct"></a><h3>struct GstGLColorscale</h3>
+<pre class="programlisting">struct GstGLColorscale;</pre>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gldeinterlace.html b/docs/plugins/html/gst-plugins-bad-plugins-gldeinterlace.html
new file mode 100644
index 0000000..6ef5cd8
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gldeinterlace.html
@@ -0,0 +1,192 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gldeinterlace: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glcolorscale.html" title="glcolorscale">
+<link rel="next" href="gst-plugins-bad-plugins-gldifferencematte.html" title="gldifferencematte">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gldeinterlace.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gldeinterlace.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gldeinterlace.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glcolorscale.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gldifferencematte.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gldeinterlace"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gldeinterlace.top_of_page"></a>gldeinterlace</span></h2>
+<p>gldeinterlace</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldeinterlace.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type"><span class="type">GstGLDeinterlaceMethod</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gldeinterlace.html#GstGLDeinterlace--method" title="The “method” property">method</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<a name="GstGLDeinterlace"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldeinterlace.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-gldeinterlace.html#GstGLDeinterlace-struct" title="struct GstGLDeinterlace">GstGLDeinterlace</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldeinterlace.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLFilter.html#GstGLFilter-struct">GstGLFilter</a>
+                            <span class="lineart">╰──</span> GstGLDeinterlace
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldeinterlace.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.45.7.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Julien Isorce &lt;julien.isorce@mail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Deinterlace</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.45.7.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldeinterlace.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldeinterlace.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLDeinterlace-struct"></a><h3>struct GstGLDeinterlace</h3>
+<pre class="programlisting">struct GstGLDeinterlace;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldeinterlace.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLDeinterlace--method"></a><h3>The <code class="literal">“method”</code> property</h3>
+<pre class="programlisting">  “method”                   <span class="type">GstGLDeinterlaceMethod</span></pre>
+<p>Select which deinterlace method apply to GL video texture.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Blur Vertical</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gldifferencematte.html b/docs/plugins/html/gst-plugins-bad-plugins-gldifferencematte.html
new file mode 100644
index 0000000..b07fa82
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gldifferencematte.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gldifferencematte: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gldeinterlace.html" title="gldeinterlace">
+<link rel="next" href="gst-plugins-bad-plugins-gldownload.html" title="gldownload">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gldifferencematte.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gldifferencematte.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gldifferencematte.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gldeinterlace.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gldownload.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gldifferencematte"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gldifferencematte.top_of_page"></a>gldifferencematte</span></h2>
+<p>gldifferencematte</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldifferencematte.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gldifferencematte.html#GstGLDifferenceMatte--location" title="The “location” property">location</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<a name="GstGLDifferenceMatte"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldifferencematte.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-gldifferencematte.html#GstGLDifferenceMatte-struct" title="struct GstGLDifferenceMatte">GstGLDifferenceMatte</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldifferencematte.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLFilter.html#GstGLFilter-struct">GstGLFilter</a>
+                            <span class="lineart">╰──</span> GstGLDifferenceMatte
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldifferencematte.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.46.7.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.46.7.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldifferencematte.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldifferencematte.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLDifferenceMatte-struct"></a><h3>struct GstGLDifferenceMatte</h3>
+<pre class="programlisting">struct GstGLDifferenceMatte;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldifferencematte.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLDifferenceMatte--location"></a><h3>The <code class="literal">“location”</code> property</h3>
+<pre class="programlisting">  “location”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Background image location.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gldownload.html b/docs/plugins/html/gst-plugins-bad-plugins-gldownload.html
new file mode 100644
index 0000000..56f2e65
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gldownload.html
@@ -0,0 +1,165 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gldownload: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gldifferencematte.html" title="gldifferencematte">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-blur.html" title="gleffects_blur">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gldownload.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gldownload.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gldifferencematte.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-blur.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gldownload"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gldownload.top_of_page"></a>gldownload</span></h2>
+<p>gldownload</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<a name="GstGLDownloadElement"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldownload.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-gldownload.html#GstGLDownloadElement-struct" title="struct GstGLDownloadElement">GstGLDownloadElement</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldownload.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> GstGLDownloadElement
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldownload.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.47.6.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.47.6.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory)</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldownload.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gldownload.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLDownloadElement-struct"></a><h3>struct GstGLDownloadElement</h3>
+<pre class="programlisting">struct GstGLDownloadElement;</pre>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-blur.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-blur.html
new file mode 100644
index 0000000..0ed343a
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-blur.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_blur: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gldownload.html" title="gldownload">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-bulge.html" title="gleffects_bulge">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-blur.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gldownload.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-bulge.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-blur"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-blur.top_of_page"></a>gleffects_blur</span></h2>
+<p>gleffects_blur</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-blur.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.48.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.48.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-blur.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-blur.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-bulge.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-bulge.html
new file mode 100644
index 0000000..4ff2f7a
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-bulge.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_bulge: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-blur.html" title="gleffects_blur">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-fisheye.html" title="gleffects_fisheye">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-bulge.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-blur.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-fisheye.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-bulge"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-bulge.top_of_page"></a>gleffects_bulge</span></h2>
+<p>gleffects_bulge</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-bulge.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.49.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.49.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-bulge.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-bulge.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-fisheye.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-fisheye.html
new file mode 100644
index 0000000..e586924
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-fisheye.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_fisheye: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-bulge.html" title="gleffects_bulge">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-glow.html" title="gleffects_glow">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-fisheye.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-bulge.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-glow.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-fisheye"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-fisheye.top_of_page"></a>gleffects_fisheye</span></h2>
+<p>gleffects_fisheye</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-fisheye.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.50.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.50.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-fisheye.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-fisheye.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-glow.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-glow.html
new file mode 100644
index 0000000..1101a65
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-glow.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_glow: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-fisheye.html" title="gleffects_fisheye">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-heat.html" title="gleffects_heat">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-glow.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-fisheye.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-heat.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-glow"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-glow.top_of_page"></a>gleffects_glow</span></h2>
+<p>gleffects_glow</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-glow.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.51.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.51.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-glow.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-glow.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-heat.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-heat.html
new file mode 100644
index 0000000..9028b1e
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-heat.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_heat: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-glow.html" title="gleffects_glow">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-identity.html" title="gleffects_identity">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-heat.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-glow.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-identity.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-heat"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-heat.top_of_page"></a>gleffects_heat</span></h2>
+<p>gleffects_heat</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-heat.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.52.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.52.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-heat.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-heat.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-identity.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-identity.html
new file mode 100644
index 0000000..2996e5f
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-identity.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_identity: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-heat.html" title="gleffects_heat">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-laplacian.html" title="gleffects_laplacian">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-identity.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-heat.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-laplacian.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-identity"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-identity.top_of_page"></a>gleffects_identity</span></h2>
+<p>gleffects_identity</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-identity.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.53.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.53.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-identity.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-identity.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-laplacian.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-laplacian.html
new file mode 100644
index 0000000..27ee98a
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-laplacian.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_laplacian: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-identity.html" title="gleffects_identity">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-lumaxpro.html" title="gleffects_lumaxpro">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-laplacian.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-identity.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-lumaxpro.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-laplacian"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-laplacian.top_of_page"></a>gleffects_laplacian</span></h2>
+<p>gleffects_laplacian</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-laplacian.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.54.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.54.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-laplacian.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-laplacian.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-lumaxpro.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-lumaxpro.html
new file mode 100644
index 0000000..c9d4d29
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-lumaxpro.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_lumaxpro: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-laplacian.html" title="gleffects_laplacian">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-mirror.html" title="gleffects_mirror">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-lumaxpro.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-laplacian.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-mirror.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-lumaxpro"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-lumaxpro.top_of_page"></a>gleffects_lumaxpro</span></h2>
+<p>gleffects_lumaxpro</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-lumaxpro.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.55.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.55.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-lumaxpro.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-lumaxpro.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-mirror.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-mirror.html
new file mode 100644
index 0000000..a77116b
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-mirror.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_mirror: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-lumaxpro.html" title="gleffects_lumaxpro">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-sepia.html" title="gleffects_sepia">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-mirror.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-lumaxpro.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-sepia.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-mirror"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-mirror.top_of_page"></a>gleffects_mirror</span></h2>
+<p>gleffects_mirror</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-mirror.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.56.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.56.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-mirror.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-mirror.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-sepia.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-sepia.html
new file mode 100644
index 0000000..5ada4f9
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-sepia.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_sepia: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-mirror.html" title="gleffects_mirror">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-sin.html" title="gleffects_sin">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-sepia.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-mirror.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-sin.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-sepia"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-sepia.top_of_page"></a>gleffects_sepia</span></h2>
+<p>gleffects_sepia</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-sepia.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.57.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.57.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-sepia.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-sepia.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-sin.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-sin.html
new file mode 100644
index 0000000..5fd68f9
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-sin.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_sin: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-sepia.html" title="gleffects_sepia">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-sobel.html" title="gleffects_sobel">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-sin.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-sepia.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-sobel.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-sin"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-sin.top_of_page"></a>gleffects_sin</span></h2>
+<p>gleffects_sin</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-sin.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.58.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.58.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-sin.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-sin.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-sobel.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-sobel.html
new file mode 100644
index 0000000..796814c
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-sobel.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_sobel: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-sin.html" title="gleffects_sin">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-square.html" title="gleffects_square">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-sobel.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-sin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-square.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-sobel"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-sobel.top_of_page"></a>gleffects_sobel</span></h2>
+<p>gleffects_sobel</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-sobel.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.59.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.59.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-sobel.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-sobel.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-square.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-square.html
new file mode 100644
index 0000000..e7c9315
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-square.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_square: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-sobel.html" title="gleffects_sobel">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-squeeze.html" title="gleffects_squeeze">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-square.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-sobel.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-squeeze.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-square"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-square.top_of_page"></a>gleffects_square</span></h2>
+<p>gleffects_square</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-square.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.60.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.60.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-square.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-square.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-squeeze.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-squeeze.html
new file mode 100644
index 0000000..b12ba9d
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-squeeze.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_squeeze: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-square.html" title="gleffects_square">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-stretch.html" title="gleffects_stretch">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-squeeze.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-square.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-stretch.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-squeeze"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-squeeze.top_of_page"></a>gleffects_squeeze</span></h2>
+<p>gleffects_squeeze</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-squeeze.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.61.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.61.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-squeeze.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-squeeze.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-stretch.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-stretch.html
new file mode 100644
index 0000000..95c6e4f
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-stretch.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_stretch: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-squeeze.html" title="gleffects_squeeze">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-tunnel.html" title="gleffects_tunnel">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-stretch.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-squeeze.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-tunnel.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-stretch"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-stretch.top_of_page"></a>gleffects_stretch</span></h2>
+<p>gleffects_stretch</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-stretch.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.62.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.62.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-stretch.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-stretch.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-tunnel.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-tunnel.html
new file mode 100644
index 0000000..2141769
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-tunnel.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_tunnel: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-stretch.html" title="gleffects_stretch">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-twirl.html" title="gleffects_twirl">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-tunnel.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-stretch.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-twirl.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-tunnel"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-tunnel.top_of_page"></a>gleffects_tunnel</span></h2>
+<p>gleffects_tunnel</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-tunnel.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.63.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.63.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-tunnel.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-tunnel.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-twirl.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-twirl.html
new file mode 100644
index 0000000..5750612
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-twirl.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_twirl: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-tunnel.html" title="gleffects_tunnel">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects.html" title="gleffects">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-twirl.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-tunnel.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-twirl"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-twirl.top_of_page"></a>gleffects_twirl</span></h2>
+<p>gleffects_twirl</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-twirl.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.64.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.64.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-twirl.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-twirl.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-xpro.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-xpro.html
new file mode 100644
index 0000000..ac5b6ab
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-xpro.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_xpro: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects.html" title="gleffects">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-xray.html" title="gleffects_xray">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-xpro.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-xray.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-xpro"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-xpro.top_of_page"></a>gleffects_xpro</span></h2>
+<p>gleffects_xpro</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-xpro.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.66.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.66.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-xpro.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-xpro.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects-xray.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-xray.html
new file mode 100644
index 0000000..d5b93fa
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects-xray.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects_xray: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-xpro.html" title="gleffects_xpro">
+<link rel="next" href="gst-plugins-bad-plugins-glfilterapp.html" title="glfilterapp">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects-xray.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-xpro.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glfilterapp.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects-xray"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects-xray.top_of_page"></a>gleffects_xray</span></h2>
+<p>gleffects_xray</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-xray.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.67.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.67.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-xray.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects-xray.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gleffects.html b/docs/plugins/html/gst-plugins-bad-plugins-gleffects.html
new file mode 100644
index 0000000..55c21dd
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gleffects.html
@@ -0,0 +1,136 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gleffects: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-twirl.html" title="gleffects_twirl">
+<link rel="next" href="gst-plugins-bad-plugins-gleffects-xpro.html" title="gleffects_xpro">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gleffects.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-twirl.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gleffects-xpro.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gleffects"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gleffects.top_of_page"></a>gleffects</span></h2>
+<p>gleffects</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.65.3.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.65.3.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gleffects.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glfilterapp.html b/docs/plugins/html/gst-plugins-bad-plugins-glfilterapp.html
new file mode 100644
index 0000000..ccfd928
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glfilterapp.html
@@ -0,0 +1,306 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glfilterapp: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gleffects-xray.html" title="gleffects_xray">
+<link rel="next" href="gst-plugins-bad-plugins-glfilterbin.html" title="glfilterbin">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterapp.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterapp.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterapp.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterapp.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gleffects-xray.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glfilterbin.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glfilterapp"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glfilterapp.top_of_page"></a>glfilterapp</span></h2>
+<p>glfilterapp</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterapp.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp--client-data" title="The “client-data” property">client-data</a></td>
+<td class="property_flags">Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp--client-draw-callback" title="The “client-draw-callback” property">client-draw-callback</a></td>
+<td class="property_flags">Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp--client-reshape-callback" title="The “client-reshape-callback” property">client-reshape-callback</a></td>
+<td class="property_flags">Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterapp.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody><tr>
+<td class="signal_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp-client-draw" title="The “client-draw” signal">client-draw</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>
+<a name="GstGLFilterApp"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterapp.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp-struct" title="struct GstGLFilterApp">GstGLFilterApp</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterapp.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLFilter.html#GstGLFilter-struct">GstGLFilter</a>
+                            <span class="lineart">╰──</span> GstGLFilterApp
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterapp.description"></a><h2>Description</h2>
+<p>The resize and redraw callbacks can be set from a client code.</p>
+<div class="refsect2">
+<a name="id-1.2.68.8.3"></a><h3>CLient callbacks</h3>
+<p>
+The graphic scene can be written from a client code through the 
+two glfilterapp properties.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.68.8.4"></a><h3>Examples</h3>
+see gst-plugins-gl/tests/examples/generic/recordgraphic
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.68.8.5.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Julien Isorce &lt;julien.isorce@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.68.8.5.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterapp.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterapp.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLFilterApp-struct"></a><h3>struct GstGLFilterApp</h3>
+<pre class="programlisting">struct GstGLFilterApp;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterapp.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLFilterApp--client-data"></a><h3>The <code class="literal">“client-data”</code> property</h3>
+<pre class="programlisting">  “client-data”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></pre>
+<p>Pass data to the draw and reshape callbacks.</p>
+<p>Flags: Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterApp--client-draw-callback"></a><h3>The <code class="literal">“client-draw-callback”</code> property</h3>
+<pre class="programlisting">  “client-draw-callback”     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></pre>
+<p>Define a custom draw callback in a client code.</p>
+<p>Flags: Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterApp--client-reshape-callback"></a><h3>The <code class="literal">“client-reshape-callback”</code> property</h3>
+<pre class="programlisting">  “client-reshape-callback”  <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></pre>
+<p>Define a custom reshape callback in a client code.</p>
+<p>Flags: Write</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterapp.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="GstGLFilterApp-client-draw"></a><h3>The <code class="literal">“client-draw”</code> signal</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="gst-plugins-bad-plugins-glfilterapp.html#GstGLFilterApp"><span class="type">GstGLFilterApp</span></a> *object,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a>           texture,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a>           width,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a>           height,
+               <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 before to draw the texture.  The client should
+redraw the surface/contents with the <em class="parameter"><code>texture</code></em>
+, <em class="parameter"><code>width</code></em>
+ and <em class="parameter"><code>height</code></em>
+.</p>
+<div class="refsect3">
+<a name="GstGLFilterApp-client-draw.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink"><span class="type">GstGLImageSink</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>texture</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> id of the texture.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>width</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width of the texture.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> height of the texture.</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>
+<div class="refsect3">
+<a name="GstGLFilterApp-client-draw.returns"></a><h4>Returns</h4>
+<p> whether the texture was redrawn by the signal.  If not, a
+default redraw will occur.</p>
+</div>
+<p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glfilterbin.html b/docs/plugins/html/gst-plugins-bad-plugins-glfilterbin.html
new file mode 100644
index 0000000..f258653
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glfilterbin.html
@@ -0,0 +1,247 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glfilterbin: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glfilterapp.html" title="glfilterapp">
+<link rel="next" href="gst-plugins-bad-plugins-glfiltercube.html" title="glfiltercube">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterbin.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterbin.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterbin.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterbin.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterbin.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glfilterapp.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glfiltercube.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glfilterbin"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glfilterbin.top_of_page"></a>glfilterbin</span></h2>
+<p>glfilterbin</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterbin.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfilterbin.html#GstGLFilterBin--filter" title="The “filter” property">filter</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterbin.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody><tr>
+<td class="signal_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="returnvalue">GstElement</span></a>*</td>
+<td class="signal_name"><a class="link" href="gst-plugins-bad-plugins-glfilterbin.html#GstGLFilterBin-create-element" title="The “create-element” signal">create-element</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>
+<a name="GstGLFilterBin"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterbin.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glfilterbin.html#GstGLFilterBin-struct" title="struct GstGLFilterBin">GstGLFilterBin</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterbin.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#GstBin-struct">GstBin</a>
+                    <span class="lineart">╰──</span> GstGLFilterBin
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterbin.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstGLFilterBin implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterbin.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.69.9.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.69.9.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, 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(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterbin.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterbin.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLFilterBin-struct"></a><h3>struct GstGLFilterBin</h3>
+<pre class="programlisting">struct GstGLFilterBin;</pre>
+<div class="refsect3">
+<a name="GstGLFilterBin.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">
+<a name="gst-plugins-bad-plugins-glfilterbin.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLFilterBin--filter"></a><h3>The <code class="literal">“filter”</code> property</h3>
+<pre class="programlisting">  “filter”                   <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *</pre>
+<p>The GL filter chain to use.</p>
+<p>Flags: Read / Write</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterbin.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="GstGLFilterBin-create-element"></a><h3>The <code class="literal">“create-element”</code> signal</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="returnvalue">GstElement</span></a>*
+user_function (<a class="link" href="gst-plugins-bad-plugins-glfilterbin.html#GstGLFilterBin"><span class="type">GstGLFilterBin</span></a> *gstglfilterbin,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)</pre>
+<p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glfiltercube.html b/docs/plugins/html/gst-plugins-bad-plugins-glfiltercube.html
new file mode 100644
index 0000000..e201760
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glfiltercube.html
@@ -0,0 +1,319 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glfiltercube: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glfilterbin.html" title="glfilterbin">
+<link rel="next" href="gst-plugins-bad-plugins-glfilterglass.html" title="glfilterglass">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfiltercube.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfiltercube.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfiltercube.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glfilterbin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glfilterglass.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glfiltercube"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glfiltercube.top_of_page"></a>glfiltercube</span></h2>
+<p>glfiltercube</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfiltercube.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--aspect" title="The “aspect” property">aspect</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#gfloat"><span class="type">gfloat</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--blue" title="The “blue” property">blue</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--fovy" title="The “fovy” property">fovy</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#gfloat"><span class="type">gfloat</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--green" title="The “green” property">green</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#gfloat"><span class="type">gfloat</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--red" title="The “red” property">red</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--zfar" title="The “zfar” property">zfar</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube--znear" title="The “znear” property">znear</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstGLFilterCube"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfiltercube.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glfiltercube.html#GstGLFilterCube-struct" title="struct GstGLFilterCube">GstGLFilterCube</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfiltercube.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLFilter.html#GstGLFilter-struct">GstGLFilter</a>
+                            <span class="lineart">╰──</span> GstGLFilterCube
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfiltercube.description"></a><h2>Description</h2>
+<p>The resize and redraw callbacks can be set from a client code.</p>
+<div class="refsect2">
+<a name="id-1.2.70.7.3"></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> glfiltercube <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline to mpa textures on the 6 cube faces..
+FBO is required.
+<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> glfiltercube <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">640</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">480</span> <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Resize scene after drawing the cube.
+The scene size is greater than the input video size.
+  <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> width<span class="gtkdoc opt">=</span><span class="number">640</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">480</span>  <span class="gtkdoc opt">!</span> glfiltercube <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Resize scene before drawing the cube.
+The scene size is greater than the input video size.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.70.7.4.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Julien Isorce &lt;julien.isorce@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.70.7.4.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfiltercube.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfiltercube.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLFilterCube-struct"></a><h3>struct GstGLFilterCube</h3>
+<pre class="programlisting">struct GstGLFilterCube;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfiltercube.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLFilterCube--aspect"></a><h3>The <code class="literal">“aspect”</code> property</h3>
+<pre class="programlisting">  “aspect”                   <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>Field of view in the x direction.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,100]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterCube--blue"></a><h3>The <code class="literal">“blue”</code> property</h3>
+<pre class="programlisting">  “blue”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a></pre>
+<p>Background blue color.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,1]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterCube--fovy"></a><h3>The <code class="literal">“fovy”</code> property</h3>
+<pre class="programlisting">  “fovy”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>Field of view angle in degrees.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,180]</p>
+<p>Default value: 45</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterCube--green"></a><h3>The <code class="literal">“green”</code> property</h3>
+<pre class="programlisting">  “green”                    <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a></pre>
+<p>Background green color.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,1]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterCube--red"></a><h3>The <code class="literal">“red”</code> property</h3>
+<pre class="programlisting">  “red”                      <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gfloat"><span class="type">gfloat</span></a></pre>
+<p>Background red color.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,1]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterCube--zfar"></a><h3>The <code class="literal">“zfar”</code> property</h3>
+<pre class="programlisting">  “zfar”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>Specifies the distance from the viewer to the far clipping plane.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,1000]</p>
+<p>Default value: 100</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterCube--znear"></a><h3>The <code class="literal">“znear”</code> property</h3>
+<pre class="programlisting">  “znear”                    <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>Specifies the distance from the viewer to the near clipping plane.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,100]</p>
+<p>Default value: 0.1</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glfilterglass.html b/docs/plugins/html/gst-plugins-bad-plugins-glfilterglass.html
new file mode 100644
index 0000000..5986ead
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glfilterglass.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glfilterglass: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glfiltercube.html" title="glfiltercube">
+<link rel="next" href="gst-plugins-bad-plugins-glimagesinkelement.html" title="glimagesinkelement">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterglass.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glfilterglass.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glfiltercube.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glimagesinkelement.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glfilterglass"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glfilterglass.top_of_page"></a>glfilterglass</span></h2>
+<p>glfilterglass</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<a name="GstGLFilterGlass"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterglass.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glfilterglass.html#GstGLFilterGlass-struct" title="struct GstGLFilterGlass">GstGLFilterGlass</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterglass.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLFilter.html#GstGLFilter-struct">GstGLFilter</a>
+                            <span class="lineart">╰──</span> GstGLFilterGlass
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterglass.description"></a><h2>Description</h2>
+<p>Map textures on moving glass.</p>
+<div class="refsect2">
+<a name="id-1.2.71.6.3"></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> glfilterglass <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline inspired from http://www.mdk.org.pl/2007/11/17/gl-colorspace-conversions
+FBO is required.
+<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> glfilterglass <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">640</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">480</span> <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ The scene is greater than the input size.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.71.6.4.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Julien Isorce &lt;julien.isorce@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.71.6.4.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterglass.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glfilterglass.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLFilterGlass-struct"></a><h3>struct GstGLFilterGlass</h3>
+<pre class="programlisting">struct GstGLFilterGlass;</pre>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glimagesink.html b/docs/plugins/html/gst-plugins-bad-plugins-glimagesink.html
new file mode 100644
index 0000000..a7398c3
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glimagesink.html
@@ -0,0 +1,213 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glimagesink: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glimagesinkelement.html" title="glimagesinkelement">
+<link rel="next" href="gst-plugins-bad-plugins-glmixerbin.html" title="glmixerbin">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glimagesink.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glimagesinkelement.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glmixerbin.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glimagesink"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glimagesink.top_of_page"></a>glimagesink</span></h2>
+<p>glimagesink</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesink.description"></a><h2>Description</h2>
+<p>glimagesink renders video frames to a drawable on a local or remote
+display using OpenGL. This element can receive a Window ID from the
+application through the VideoOverlay 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>
+<p>See the <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLDisplay.html#GstGLDisplay-struct"><span class="type">GstGLDisplay</span></a> documentation for a list of environment variables that
+can override window/platform detection.</p>
+<div class="refsect2">
+<a name="id-1.2.73.3.4"></a><h3>Scaling</h3>
+<p>
+Depends on the driver, OpenGL 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-bad-plugins-glimagesinkelement.html#GstGLImageSink--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.73.3.5"></a><h3>Events</h3>
+<p>
+Through the gl thread, glimagesink handle some events coming from the drawable
+to manage its 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.73.3.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> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline to test hardware scaling.
+No special opengl extension is used in this pipeline, that's why it should work
+with OpenGL &gt;= 1.1. That's the case if you are using the MESA3D driver v1.3.
+<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>format<span class="gtkdoc opt">=</span>I420 <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline to test hardware scaling and hardware colorspace conversion.
+When your driver supports GLSL (OpenGL Shading Language needs OpenGL &gt;= 2.1),
+the 4 following format YUY2, UYVY, I420, YV12 and AYUV are converted to RGB32
+through some fragment shaders and using one framebuffer (FBO extension OpenGL &gt;= 1.4).
+If your driver does not support GLSL but supports MESA_YCbCr extension then
+the you can use YUY2 and UYVY. In this case the colorspace conversion is automatically
+made when loading the texture and therefore no framebuffer is used.
+<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 gltestsrc <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline 100% OpenGL.
+No special opengl extension is used in this pipeline, that's why it should work
+with OpenGL &gt;= 1.1. That's the case if you are using the MESA3D driver v1.3.
+<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>plugins<span class="gtkdoc opt">-</span>bas<span class="gtkdoc opt">/</span>tests<span class="gtkdoc opt">/</span>examples<span class="gtkdoc opt">/</span>gl<span class="gtkdoc opt">/</span>generic<span class="gtkdoc opt">/</span>cube</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ The graphic FPS scene can be greater than the input video FPS.
+The graphic scene can be written from a client code through the
+two glfilterapp properties.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.73.3.7.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Sink/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.73.3.7.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, 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(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesink.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesink.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glimagesinkelement.html b/docs/plugins/html/gst-plugins-bad-plugins-glimagesinkelement.html
new file mode 100644
index 0000000..a735f9e
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glimagesinkelement.html
@@ -0,0 +1,472 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glimagesinkelement: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glfilterglass.html" title="glfilterglass">
+<link rel="next" href="gst-plugins-bad-plugins-glimagesink.html" title="glimagesink">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glimagesinkelement.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glimagesinkelement.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glimagesinkelement.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glimagesinkelement.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glimagesinkelement.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glfilterglass.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glimagesink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glimagesinkelement"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glimagesinkelement.top_of_page"></a>glimagesinkelement</span></h2>
+<p>glimagesinkelement</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesinkelement.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--display" title="The “display” property">display</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#gpointer"><span class="type">gpointer</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--client-data" title="The “client-data” property">client-data</a></td>
+<td class="property_flags">Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--client-draw-callback" title="The “client-draw-callback” property">client-draw-callback</a></td>
+<td class="property_flags">Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--client-reshape-callback" title="The “client-reshape-callback” property">client-reshape-callback</a></td>
+<td class="property_flags">Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--force-aspect-ratio" title="The “force-aspect-ratio” property">force-aspect-ratio</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLContext.html#GstGLContext-struct"><span class="type">GstGLContext</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--other-context" title="The “other-context” property">other-context</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstFraction</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--pixel-aspect-ratio" title="The “pixel-aspect-ratio” property">pixel-aspect-ratio</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLContext.html#GstGLContext-struct"><span class="type">GstGLContext</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--context" title="The “context” property">context</a></td>
+<td class="property_flags">Read</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--handle-events" title="The “handle-events” property">handle-events</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--ignore-alpha" title="The “ignore-alpha” property">ignore-alpha</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstGLStereoDownmix</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--output-multiview-downmix-mode" title="The “output-multiview-downmix-mode” property">output-multiview-downmix-mode</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--output-multiview-flags" title="The “output-multiview-flags” property">output-multiview-flags</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--output-multiview-mode" title="The “output-multiview-mode” property">output-multiview-mode</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstGLRotateMethod</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink--rotate-method" title="The “rotate-method” property">rotate-method</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesinkelement.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="signal_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink-client-draw" title="The “client-draw” signal">client-draw</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"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a></td>
+<td class="signal_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink-client-reshape" title="The “client-reshape” signal">client-reshape</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>
+<a name="GstGLImageSink"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesinkelement.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink-struct" title="struct GstGLImageSink">GstGLImageSink</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesinkelement.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseSink.html#GstBaseSink-struct">GstBaseSink</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideosink.html#GstVideoSink-struct">GstVideoSink</a>
+                        <span class="lineart">╰──</span> GstGLImageSink
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesinkelement.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstGLImageSink implements
+ <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay-struct">GstVideoOverlay</a> and  <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstnavigation.html#GstNavigation-struct">GstNavigation</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesinkelement.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.72.9.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Julien Isorce &lt;julien.isorce@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Sink/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.72.9.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, external-oes }</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string){ 2D, external-oes }</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesinkelement.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesinkelement.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLImageSink-struct"></a><h3>struct GstGLImageSink</h3>
+<pre class="programlisting">struct GstGLImageSink;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesinkelement.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLImageSink--display"></a><h3>The <code class="literal">“display”</code> property</h3>
+<pre class="programlisting">  “display”                  <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Display name.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--client-data"></a><h3>The <code class="literal">“client-data”</code> property</h3>
+<pre class="programlisting">  “client-data”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></pre>
+<p>Pass data to the draw and reshape callbacks.</p>
+<p>Flags: Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--client-draw-callback"></a><h3>The <code class="literal">“client-draw-callback”</code> property</h3>
+<pre class="programlisting">  “client-draw-callback”     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></pre>
+<p>Define a custom draw callback in a client code.</p>
+<p>Flags: Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--client-reshape-callback"></a><h3>The <code class="literal">“client-reshape-callback”</code> property</h3>
+<pre class="programlisting">  “client-reshape-callback”  <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a></pre>
+<p>Define a custom reshape callback in a client code.</p>
+<p>Flags: Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--force-aspect-ratio"></a><h3>The <code class="literal">“force-aspect-ratio”</code> property</h3>
+<pre class="programlisting">  “force-aspect-ratio”       <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>When enabled, scaling will respect original aspect ratio.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--other-context"></a><h3>The <code class="literal">“other-context”</code> property</h3>
+<pre class="programlisting">  “other-context”            <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLContext.html#GstGLContext-struct"><span class="type">GstGLContext</span></a> *</pre>
+<p>Give an external OpenGL context with which to share textures.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--pixel-aspect-ratio"></a><h3>The <code class="literal">“pixel-aspect-ratio”</code> property</h3>
+<pre class="programlisting">  “pixel-aspect-ratio”       <span class="type">GstFraction</span></pre>
+<p>The pixel aspect ratio of the device.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--context"></a><h3>The <code class="literal">“context”</code> property</h3>
+<pre class="programlisting">  “context”                  <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLContext.html#GstGLContext-struct"><span class="type">GstGLContext</span></a> *</pre>
+<p>Get OpenGL context.</p>
+<p>Flags: Read</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--handle-events"></a><h3>The <code class="literal">“handle-events”</code> property</h3>
+<pre class="programlisting">  “handle-events”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>When enabled, XEvents will be selected and handled.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--ignore-alpha"></a><h3>The <code class="literal">“ignore-alpha”</code> property</h3>
+<pre class="programlisting">  “ignore-alpha”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>When enabled, alpha will be ignored and converted to black.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--output-multiview-downmix-mode"></a><h3>The <code class="literal">“output-multiview-downmix-mode”</code> property</h3>
+<pre class="programlisting">  “output-multiview-downmix-mode” <span class="type">GstGLStereoDownmix</span></pre>
+<p>Output anaglyph type to generate when downmixing to mono.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Dubois optimised Green-Magenta anaglyph</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--output-multiview-flags"></a><h3>The <code class="literal">“output-multiview-flags”</code> property</h3>
+<pre class="programlisting">  “output-multiview-flags”   <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a></pre>
+<p>Output multiview layout modifier flags.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--output-multiview-mode"></a><h3>The <code class="literal">“output-multiview-mode”</code> property</h3>
+<pre class="programlisting">  “output-multiview-mode”    <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a></pre>
+<p>Choose output mode for multiview/3D video.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: GST_VIDEO_MULTIVIEW_MODE_MONO</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLImageSink--rotate-method"></a><h3>The <code class="literal">“rotate-method”</code> property</h3>
+<pre class="programlisting">  “rotate-method”            <span class="type">GstGLRotateMethod</span></pre>
+<p>rotate method.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Identity (no rotation)</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glimagesinkelement.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="GstGLImageSink-client-draw"></a><h3>The <code class="literal">“client-draw”</code> signal</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink"><span class="type">GstGLImageSink</span></a> *object,
+               <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLContext.html#GstGLContext-struct"><span class="type">GstGLContext</span></a>   *texture,
+               <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a>      *width,
+               <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 before actually drawing the texture.  The client should
+redraw the surface/contents with the <em class="parameter"><code>texture</code></em>
+, <em class="parameter"><code>width</code></em>
+ and <em class="parameter"><code>height</code></em>
+ and
+and return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
+<div class="refsect3">
+<a name="GstGLImageSink-client-draw.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink"><span class="type">GstGLImageSink</span></a></p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>texture</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> id of the texture.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>width</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width of the texture.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> height of the texture.</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>
+<div class="refsect3">
+<a name="GstGLImageSink-client-draw.returns"></a><h4>Returns</h4>
+<p> whether the texture was redrawn by the signal.  If not, a
+default redraw will occur.</p>
+</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="GstGLImageSink-client-reshape"></a><h3>The <code class="literal">“client-reshape”</code> signal</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
+user_function (<a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink"><span class="type">GstGLImageSink</span></a> *object,
+               <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLContext.html#GstGLContext-struct"><span class="type">GstGLContext</span></a>   *width,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a>           height,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a>           Returns,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>        user_data)</pre>
+<p>The client should resize the surface/window/viewport with the <em class="parameter"><code>width</code></em>
+ and
+<em class="parameter"><code>height</code></em>
+ and return <a href="/usr/share/gtk-doc/html/glibglib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>.</p>
+<div class="refsect3">
+<a name="GstGLImageSink-client-reshape.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html#GstGLImageSink"><span class="type">GstGLImageSink</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 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> width of the texture.</p></td>
+<td class="parameter_annotations"> </td>
+</tr>
+<tr>
+<td class="parameter_name"><p>height</p></td>
+<td class="parameter_description"><p>the <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> height of the texture.</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>
+<div class="refsect3">
+<a name="GstGLImageSink-client-reshape.returns"></a><h4>Returns</h4>
+<p> whether the content area was resized by the signal.  If not, a
+default viewport resize will occur.</p>
+</div>
+<p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glmixerbin.html b/docs/plugins/html/gst-plugins-bad-plugins-glmixerbin.html
new file mode 100644
index 0000000..46b821c
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glmixerbin.html
@@ -0,0 +1,279 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glmixerbin: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glimagesink.html" title="glimagesink">
+<link rel="next" href="gst-plugins-bad-plugins-glmosaic.html" title="glmosaic">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glmixerbin.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glmixerbin.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glmixerbin.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glmixerbin.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glmixerbin.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glimagesink.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glmosaic.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glmixerbin"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glmixerbin.top_of_page"></a>glmixerbin</span></h2>
+<p>glmixerbin</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmixerbin.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin--latency" title="The “latency” property">latency</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin--mixer" title="The “mixer” property">mixer</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-bad-plugins-glmixerbin.html#GstGLMixerBin--start-time" title="The “start-time” property">start-time</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstGLMixerBinStartTimeSelection</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin--start-time-selection" title="The “start-time-selection” property">start-time-selection</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmixerbin.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody><tr>
+<td class="signal_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="returnvalue">GstElement</span></a>*</td>
+<td class="signal_name"><a class="link" href="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin-create-element" title="The “create-element” signal">create-element</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>
+<a name="GstGLMixerBin"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmixerbin.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin-struct" title="struct GstGLMixerBin">GstGLMixerBin</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmixerbin.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#GstBin-struct">GstBin</a>
+                    <span class="lineart">╰──</span> GstGLMixerBin
+                        <span class="lineart">╰──</span> GstGLVideoMixerBin
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmixerbin.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstGLMixerBin implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmixerbin.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.74.9.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Bin/Filter/Effect/Video/Mixer</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.74.9.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink_%u</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>request</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, 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(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmixerbin.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmixerbin.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLMixerBin-struct"></a><h3>struct GstGLMixerBin</h3>
+<pre class="programlisting">struct GstGLMixerBin;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmixerbin.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLMixerBin--latency"></a><h3>The <code class="literal">“latency”</code> property</h3>
+<pre class="programlisting">  “latency”                  <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
+<p>Additional latency in live mode to allow upstream to take longer to produce buffers for the current position.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLMixerBin--mixer"></a><h3>The <code class="literal">“mixer”</code> property</h3>
+<pre class="programlisting">  “mixer”                    <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *</pre>
+<p>The GL mixer chain to use.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLMixerBin--start-time"></a><h3>The <code class="literal">“start-time”</code> property</h3>
+<pre class="programlisting">  “start-time”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
+<p>Start time to use if start-time-selection=set.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 18446744073709551615</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLMixerBin--start-time-selection"></a><h3>The <code class="literal">“start-time-selection”</code> property</h3>
+<pre class="programlisting">  “start-time-selection”     <span class="type">GstGLMixerBinStartTimeSelection</span></pre>
+<p>Decides which start time is output.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Start at 0 running time (default)</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmixerbin.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="GstGLMixerBin-create-element"></a><h3>The <code class="literal">“create-element”</code> signal</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="returnvalue">GstElement</span></a>*
+user_function (<a class="link" href="gst-plugins-bad-plugins-glmixerbin.html#GstGLMixerBin"><span class="type">GstGLMixerBin</span></a> *gstglmixerbin,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)</pre>
+<p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glmosaic.html b/docs/plugins/html/gst-plugins-bad-plugins-glmosaic.html
new file mode 100644
index 0000000..eb8ec85
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glmosaic.html
@@ -0,0 +1,195 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glmosaic: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glmixerbin.html" title="glmixerbin">
+<link rel="next" href="gst-plugins-bad-plugins-gloverlay.html" title="gloverlay">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glmosaic.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glmosaic.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glmosaic.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glmixerbin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gloverlay.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glmosaic"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glmosaic.top_of_page"></a>glmosaic</span></h2>
+<p>glmosaic</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<a name="GstGLMosaic"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmosaic.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glmosaic.html#GstGLMosaic-struct" title="struct GstGLMosaic">GstGLMosaic</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmosaic.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0gst-plugins-bad-libs-GstAggregator.html#GstAggregator">GstAggregator</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregator">GstVideoAggregator</a>
+                        <span class="lineart">╰──</span> GstGLBaseMixer
+                            <span class="lineart">╰──</span> GstGLMixer
+                                <span class="lineart">╰──</span> GstGLMosaic
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmosaic.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstGLMosaic implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmosaic.description"></a><h2>Description</h2>
+<p>glmixer sub element. N gl sink pads to 1 source pad.
+N + 1 OpenGL contexts shared together.
+N &lt;= 6 because the rendering is more a like a cube than a mosaic
+Each opengl input stream is rendered on a cube face</p>
+<div class="refsect2">
+<a name="id-1.2.75.7.3"></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
+2
+3
+4
+5
+6</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> videotestsrc <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span> format<span class="gtkdoc opt">=</span>YUY2 <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> glmosaic name<span class="gtkdoc opt">=</span>m <span class="gtkdoc opt">!</span> glimagesink \
+    videotestsrc pattern<span class="gtkdoc opt">=</span><span class="number">12</span> <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span> format<span class="gtkdoc opt">=</span>I420<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span><span class="number">5</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">100</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">200</span> <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> m<span class="gtkdoc opt">.</span> \
+    videotestsrc <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span><span class="number">15</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">1500</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">1500</span> <span class="gtkdoc opt">!</span> gleffects effect<span class="gtkdoc opt">=</span><span class="number">3</span> <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> m<span class="gtkdoc opt">.</span> \
+    videotestsrc <span class="gtkdoc opt">!</span> gleffects effect<span class="gtkdoc opt">=</span><span class="number">2</span> <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> m<span class="gtkdoc opt">.</span>  \
+    videotestsrc <span class="gtkdoc opt">!</span> glfiltercube <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> m<span class="gtkdoc opt">.</span> \
+    videotestsrc <span class="gtkdoc opt">!</span> gleffects effect<span class="gtkdoc opt">=</span><span class="number">6</span> <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> m<span class="gtkdoc opt">.</span></pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+FBO (Frame Buffer Object) is required.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.75.7.4.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Julien Isorce &lt;julien.isorce@gmail.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.75.7.4.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink_%u</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>request</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmosaic.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glmosaic.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLMosaic-struct"></a><h3>struct GstGLMosaic</h3>
+<pre class="programlisting">struct GstGLMosaic;</pre>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gloverlay.html b/docs/plugins/html/gst-plugins-bad-plugins-gloverlay.html
new file mode 100644
index 0000000..17c4ce0
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gloverlay.html
@@ -0,0 +1,473 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gloverlay: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glmosaic.html" title="glmosaic">
+<link rel="next" href="gst-plugins-bad-plugins-glshader.html" title="glshader">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gloverlay.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gloverlay.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gloverlay.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glmosaic.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glshader.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gloverlay"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gloverlay.top_of_page"></a>gloverlay</span></h2>
+<p>gloverlay</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gloverlay.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--angle-png" title="The “angle-png” property">angle-png</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--angle-video" title="The “angle-video” property">angle-video</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#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--location" title="The “location” property">location</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--proportion-png" title="The “proportion-png” property">proportion-png</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--proportion-video" title="The “proportion-video” property">proportion-video</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--ratio-video" title="The “ratio-video” property">ratio-video</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--rotate-png" title="The “rotate-png” property">rotate-png</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--rotate-video" title="The “rotate-video” property">rotate-video</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--video-top" title="The “video-top” property">video-top</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--xpos-png" title="The “xpos-png” property">xpos-png</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--xpos-video" title="The “xpos-video” property">xpos-video</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--ypos-png" title="The “ypos-png” property">ypos-png</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--ypos-video" title="The “ypos-video” property">ypos-video</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--alpha" title="The “alpha” property">alpha</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--offset-x" title="The “offset-x” property">offset-x</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--offset-y" title="The “offset-y” property">offset-y</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--overlay-height" title="The “overlay-height” property">overlay-height</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--overlay-width" title="The “overlay-width” property">overlay-width</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--relative-x" title="The “relative-x” property">relative-x</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay--relative-y" title="The “relative-y” property">relative-y</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstGLOverlay"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-gloverlay.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html#GstGLOverlay-struct" title="struct GstGLOverlay">GstGLOverlay</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gloverlay.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLFilter.html#GstGLFilter-struct">GstGLFilter</a>
+                            <span class="lineart">╰──</span> GstGLOverlay
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gloverlay.description"></a><h2>Description</h2>
+<p>Overlay GL video texture with a PNG image</p>
+<div class="refsect2">
+<a name="id-1.2.76.7.3"></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> videotestsrc <span class="gtkdoc opt">!</span> gloverlay location<span class="gtkdoc opt">=</span>image<span class="gtkdoc opt">.</span>jpg <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+FBO (Frame Buffer Object) is required.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.76.7.4.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Filippo Argiolas &lt;filippo.argiolas@gmail.com&gt;, Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.76.7.4.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gloverlay.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gloverlay.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLOverlay-struct"></a><h3>struct GstGLOverlay</h3>
+<pre class="programlisting">struct GstGLOverlay;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gloverlay.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLOverlay--angle-png"></a><h3>The <code class="literal">“angle-png”</code> property</h3>
+<pre class="programlisting">  “angle-png”                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>choose angle in axis to choosen between -90 and 90.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [-90,90]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--angle-video"></a><h3>The <code class="literal">“angle-video”</code> property</h3>
+<pre class="programlisting">  “angle-video”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>choose angle in axis to choosen between -90 and 90.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [-90,90]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--location"></a><h3>The <code class="literal">“location”</code> property</h3>
+<pre class="programlisting">  “location”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Location of image file to overlay.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--proportion-png"></a><h3>The <code class="literal">“proportion-png”</code> property</h3>
+<pre class="programlisting">  “proportion-png”           <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Relative size of iverlay image, in percents.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,100]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--proportion-video"></a><h3>The <code class="literal">“proportion-video”</code> property</h3>
+<pre class="programlisting">  “proportion-video”         <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Relative size of iverlay video, in percents.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,100]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--ratio-video"></a><h3>The <code class="literal">“ratio-video”</code> property</h3>
+<pre class="programlisting">  “ratio-video”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,3]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--rotate-png"></a><h3>The <code class="literal">“rotate-png”</code> property</h3>
+<pre class="programlisting">  “rotate-png”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>choose rotation axis for the moment only Y axis is implemented.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,3]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--rotate-video"></a><h3>The <code class="literal">“rotate-video”</code> property</h3>
+<pre class="programlisting">  “rotate-video”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>choose rotation axis for the moment only Y axis is implemented.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,3]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--video-top"></a><h3>The <code class="literal">“video-top”</code> property</h3>
+<pre class="programlisting">  “video-top”                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Video is over png image.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--xpos-png"></a><h3>The <code class="literal">“xpos-png”</code> property</h3>
+<pre class="programlisting">  “xpos-png”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>X position of overlay image in percents.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,100]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--xpos-video"></a><h3>The <code class="literal">“xpos-video”</code> property</h3>
+<pre class="programlisting">  “xpos-video”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>X position of overlay video in percents.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,100]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--ypos-png"></a><h3>The <code class="literal">“ypos-png”</code> property</h3>
+<pre class="programlisting">  “ypos-png”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Y position of overlay image in percents.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,100]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--ypos-video"></a><h3>The <code class="literal">“ypos-video”</code> property</h3>
+<pre class="programlisting">  “ypos-video”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Y position of overlay video in percents.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,100]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--alpha"></a><h3>The <code class="literal">“alpha”</code> property</h3>
+<pre class="programlisting">  “alpha”                    <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>Global alpha of overlay image.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,1]</p>
+<p>Default value: 1</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--offset-x"></a><h3>The <code class="literal">“offset-x”</code> property</h3>
+<pre class="programlisting">  “offset-x”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>For positive value, horizontal offset of overlay image in pixels from left of video image. For negative value, horizontal offset of overlay image in pixels from right of video image.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--offset-y"></a><h3>The <code class="literal">“offset-y”</code> property</h3>
+<pre class="programlisting">  “offset-y”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>For positive value, vertical offset of overlay image in pixels from top of video image. For negative value, vertical offset of overlay image in pixels from bottom of video image.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--overlay-height"></a><h3>The <code class="literal">“overlay-height”</code> property</h3>
+<pre class="programlisting">  “overlay-height”           <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Height of overlay image in pixels (0 = same as overlay image).</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--overlay-width"></a><h3>The <code class="literal">“overlay-width”</code> property</h3>
+<pre class="programlisting">  “overlay-width”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Width of overlay image in pixels (0 = same as overlay image).</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--relative-x"></a><h3>The <code class="literal">“relative-x”</code> property</h3>
+<pre class="programlisting">  “relative-x”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>Horizontal offset of overlay image in fractions of video image width, from top-left corner of video image.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,1]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLOverlay--relative-y"></a><h3>The <code class="literal">“relative-y”</code> property</h3>
+<pre class="programlisting">  “relative-y”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>Vertical offset of overlay image in fractions of video image height, from top-left corner of video image.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,1]</p>
+<p>Default value: 0</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glshader.html b/docs/plugins/html/gst-plugins-bad-plugins-glshader.html
new file mode 100644
index 0000000..e448081
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glshader.html
@@ -0,0 +1,333 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glshader: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gloverlay.html" title="gloverlay">
+<link rel="next" href="gst-plugins-bad-plugins-glsinkbin.html" title="glsinkbin">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glshader.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glshader.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glshader.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glshader.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gloverlay.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glsinkbin.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glshader"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glshader.top_of_page"></a>glshader</span></h2>
+<p>glshader</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glshader.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--location" title="The “location” property">location</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#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--preset" title="The “preset” property">preset</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#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--vars" title="The “vars” property">vars</a></td>
+<td class="property_flags">Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--fragment" title="The “fragment” property">fragment</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLShader.html#GstGLShader-struct"><span class="type">GstGLShader</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--shader" title="The “shader” property">shader</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--uniforms" title="The “uniforms” property">uniforms</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--update-shader" title="The “update-shader” property">update-shader</a></td>
+<td class="property_flags">Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader--vertex" title="The “vertex” property">vertex</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glshader.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody><tr>
+<td class="signal_type">
+<a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLShader.html#GstGLShader-struct"><span class="returnvalue">GstGLShader</span></a>*</td>
+<td class="signal_name"><a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader-create-shader" title="The “create-shader” signal">create-shader</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>
+<a name="GstGLFilterShader"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glshader.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader-struct" title="struct GstGLFilterShader">GstGLFilterShader</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glshader.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLFilter.html#GstGLFilter-struct">GstGLFilter</a>
+                            <span class="lineart">╰──</span> GstGLFilterShader
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glshader.description"></a><h2>Description</h2>
+<p>OpenGL fragment shader filter</p>
+<div class="refsect2">
+<a name="id-1.2.77.8.3"></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> videotestsrc <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> glshader fragment<span class="gtkdoc opt">=</span><span class="string">&quot;</span><span class="gtkdoc esc">\&quot;</span><span class="string">`cat myshader.frag`</span><span class="gtkdoc esc">\&quot;</span><span class="string">&quot;</span> <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+FBO (Frame Buffer Object) and GLSL (OpenGL Shading Language) are required. A <span class="type">version</span> header is required
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.77.8.4.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>&lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.77.8.4.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glshader.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glshader.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLFilterShader-struct"></a><h3>struct GstGLFilterShader</h3>
+<pre class="programlisting">struct GstGLFilterShader;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glshader.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLFilterShader--location"></a><h3>The <code class="literal">“location”</code> property</h3>
+<pre class="programlisting">  “location”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Location of the GLSL file to load.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterShader--preset"></a><h3>The <code class="literal">“preset”</code> property</h3>
+<pre class="programlisting">  “preset”                   <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Location of the shader uniform variables preset file.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterShader--vars"></a><h3>The <code class="literal">“vars”</code> property</h3>
+<pre class="programlisting">  “vars”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>Set the shader uniform variables.</p>
+<p>Flags: Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterShader--fragment"></a><h3>The <code class="literal">“fragment”</code> property</h3>
+<pre class="programlisting">  “fragment”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>GLSL fragment source.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterShader--shader"></a><h3>The <code class="literal">“shader”</code> property</h3>
+<pre class="programlisting">  “shader”                   <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLShader.html#GstGLShader-struct"><span class="type">GstGLShader</span></a> *</pre>
+<p>GstGLShader to use.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterShader--uniforms"></a><h3>The <code class="literal">“uniforms”</code> property</h3>
+<pre class="programlisting">  “uniforms”                 <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstStructure.html#GstStructure-struct"><span class="type">GstStructure</span></a> *</pre>
+<p>GLSL Uniforms.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterShader--update-shader"></a><h3>The <code class="literal">“update-shader”</code> property</h3>
+<pre class="programlisting">  “update-shader”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Emit the 'create-shader' signal for the next frame.</p>
+<p>Flags: Write</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLFilterShader--vertex"></a><h3>The <code class="literal">“vertex”</code> property</h3>
+<pre class="programlisting">  “vertex”                   <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
+<p>GLSL vertex source.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: NULL</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glshader.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="GstGLFilterShader-create-shader"></a><h3>The <code class="literal">“create-shader”</code> signal</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLShader.html#GstGLShader-struct"><span class="returnvalue">GstGLShader</span></a>*
+user_function (<a class="link" href="gst-plugins-bad-plugins-glshader.html#GstGLFilterShader"><span class="type">GstGLFilterShader</span></a> *gstglfiltershader,
+               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>           user_data)</pre>
+<p>Flags: <a href="/usr/share/gtk-doc/html/gobjectgobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS">Run Last</a></p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glsinkbin.html b/docs/plugins/html/gst-plugins-bad-plugins-glsinkbin.html
new file mode 100644
index 0000000..bca73ca
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glsinkbin.html
@@ -0,0 +1,455 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glsinkbin: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glshader.html" title="glshader">
+<link rel="next" href="gst-plugins-bad-plugins-glsrcbin.html" title="glsrcbin">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glsinkbin.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glsinkbin.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glsinkbin.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glsinkbin.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glsinkbin.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glshader.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glsrcbin.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glsinkbin"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glsinkbin.top_of_page"></a>glsinkbin</span></h2>
+<p>glsinkbin</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsinkbin.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--force-aspect-ratio" title="The “force-aspect-ratio” property">force-aspect-ratio</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--sink" title="The “sink” property">sink</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--async" title="The “async” property">async</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#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--blocksize" title="The “blocksize” property">blocksize</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--enable-last-sample" title="The “enable-last-sample” property">enable-last-sample</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--last-sample" title="The “last-sample” property">last-sample</a></td>
+<td class="property_flags">Read</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-bad-plugins-glsinkbin.html#GstGLSinkBin--max-bitrate" title="The “max-bitrate” property">max-bitrate</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#gint64"><span class="type">gint64</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--max-lateness" title="The “max-lateness” property">max-lateness</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--qos" title="The “qos” property">qos</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-bad-plugins-glsinkbin.html#GstGLSinkBin--render-delay" title="The “render-delay” property">render-delay</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--sync" title="The “sync” property">sync</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-bad-plugins-glsinkbin.html#GstGLSinkBin--throttle-time" title="The “throttle-time” property">throttle-time</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#gint64"><span class="type">gint64</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--ts-offset" title="The “ts-offset” property">ts-offset</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--brightness" title="The “brightness” property">brightness</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--contrast" title="The “contrast” property">contrast</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--hue" title="The “hue” property">hue</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#gdouble"><span class="type">gdouble</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin--saturation" title="The “saturation” property">saturation</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsinkbin.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody><tr>
+<td class="signal_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="returnvalue">GstElement</span></a>*</td>
+<td class="signal_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin-create-element" title="The “create-element” signal">create-element</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>
+<a name="GstGLSinkBin"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsinkbin.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin-struct" title="struct GstGLSinkBin">GstGLSinkBin</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsinkbin.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#GstBin-struct">GstBin</a>
+                    <span class="lineart">╰──</span> GstGLSinkBin
+                        <span class="lineart">╰──</span> GstGLImageSinkBin
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsinkbin.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstGLSinkBin implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>,  <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideooverlay.html#GstVideoOverlay-struct">GstVideoOverlay</a>,  <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstnavigation.html#GstNavigation-struct">GstNavigation</a> and  <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstcolorbalance.html#GstColorBalance-struct">GstColorBalance</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsinkbin.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.78.9.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Sink/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.78.9.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, 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(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsinkbin.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsinkbin.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLSinkBin-struct"></a><h3>struct GstGLSinkBin</h3>
+<pre class="programlisting">struct GstGLSinkBin;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsinkbin.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLSinkBin--force-aspect-ratio"></a><h3>The <code class="literal">“force-aspect-ratio”</code> property</h3>
+<pre class="programlisting">  “force-aspect-ratio”       <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>When enabled, scaling will respect original aspect ratio.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--sink"></a><h3>The <code class="literal">“sink”</code> property</h3>
+<pre class="programlisting">  “sink”                     <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *</pre>
+<p>The GL sink chain to use.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--async"></a><h3>The <code class="literal">“async”</code> property</h3>
+<pre class="programlisting">  “async”                    <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Go asynchronously to PAUSED.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--blocksize"></a><h3>The <code class="literal">“blocksize”</code> property</h3>
+<pre class="programlisting">  “blocksize”                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Size in bytes to pull per buffer (0 = default).</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 4096</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--enable-last-sample"></a><h3>The <code class="literal">“enable-last-sample”</code> property</h3>
+<pre class="programlisting">  “enable-last-sample”       <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Enable the last-sample property.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--last-sample"></a><h3>The <code class="literal">“last-sample”</code> property</h3>
+<pre class="programlisting">  “last-sample”              <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstSample.html#GstSample-struct"><span class="type">GstSample</span></a> *</pre>
+<p>The last sample received in the sink.</p>
+<p>Flags: Read</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--max-bitrate"></a><h3>The <code class="literal">“max-bitrate”</code> property</h3>
+<pre class="programlisting">  “max-bitrate”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
+<p>The maximum bits per second to render (0 = disabled).</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--max-lateness"></a><h3>The <code class="literal">“max-lateness”</code> property</h3>
+<pre class="programlisting">  “max-lateness”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
+<p>Maximum number of nanoseconds that a buffer can be late before it is dropped (-1 unlimited).</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= G_MAXULONG</p>
+<p>Default value: -1</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--qos"></a><h3>The <code class="literal">“qos”</code> property</h3>
+<pre class="programlisting">  “qos”                      <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Generate Quality-of-Service events upstream.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--render-delay"></a><h3>The <code class="literal">“render-delay”</code> property</h3>
+<pre class="programlisting">  “render-delay”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
+<p>Additional render delay of the sink in nanoseconds.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--sync"></a><h3>The <code class="literal">“sync”</code> property</h3>
+<pre class="programlisting">  “sync”                     <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Sync on the clock.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--throttle-time"></a><h3>The <code class="literal">“throttle-time”</code> property</h3>
+<pre class="programlisting">  “throttle-time”            <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint64"><span class="type">guint64</span></a></pre>
+<p>The time to keep between rendered buffers (0 = disabled).</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--ts-offset"></a><h3>The <code class="literal">“ts-offset”</code> property</h3>
+<pre class="programlisting">  “ts-offset”                <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
+<p>Timestamp offset in nanoseconds.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--brightness"></a><h3>The <code class="literal">“brightness”</code> property</h3>
+<pre class="programlisting">  “brightness”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>brightness.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [-1,1]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--contrast"></a><h3>The <code class="literal">“contrast”</code> property</h3>
+<pre class="programlisting">  “contrast”                 <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>contrast.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,2]</p>
+<p>Default value: 1</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--hue"></a><h3>The <code class="literal">“hue”</code> property</h3>
+<pre class="programlisting">  “hue”                      <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>hue.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [-1,1]</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLSinkBin--saturation"></a><h3>The <code class="literal">“saturation”</code> property</h3>
+<pre class="programlisting">  “saturation”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gdouble"><span class="type">gdouble</span></a></pre>
+<p>saturation.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: [0,2]</p>
+<p>Default value: 1</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsinkbin.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="GstGLSinkBin-create-element"></a><h3>The <code class="literal">“create-element”</code> signal</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="returnvalue">GstElement</span></a>*
+user_function (<a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin"><span class="type">GstGLSinkBin</span></a> *object,
+               <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 we need the processing element/s that this bin will use</p>
+<div class="refsect3">
+<a name="GstGLSinkBin-create-element.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-plugins-glsinkbin.html#GstGLSinkBin"><span class="type">GstGLSinkBin</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>
+<div class="refsect3">
+<a name="GstGLSinkBin-create-element.returns"></a><h4>Returns</h4>
+<p> a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</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>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glsrcbin.html b/docs/plugins/html/gst-plugins-bad-plugins-glsrcbin.html
new file mode 100644
index 0000000..195818d
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glsrcbin.html
@@ -0,0 +1,219 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glsrcbin: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glsinkbin.html" title="glsinkbin">
+<link rel="next" href="gst-plugins-bad-plugins-glstereomix.html" title="glstereomix">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glsrcbin.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glsrcbin.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glsrcbin.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glsrcbin.properties" class="shortcut">Properties</a></span><span id="nav_signals">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glsrcbin.signals" class="shortcut">Signals</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glsinkbin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glstereomix.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glsrcbin"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glsrcbin.top_of_page"></a>glsrcbin</span></h2>
+<p>glsrcbin</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsrcbin.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glsrcbin.html#GstGLSrcBin--src" title="The “src” property">src</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsrcbin.signals"></a><h2>Signals</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="signals_return">
+<col width="300px" class="signals_name">
+<col width="200px" class="signals_flags">
+</colgroup>
+<tbody><tr>
+<td class="signal_type">
+<a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="returnvalue">GstElement</span></a>*</td>
+<td class="signal_name"><a class="link" href="gst-plugins-bad-plugins-glsrcbin.html#GstGLSrcBin-create-element" title="The “create-element” signal">create-element</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>
+<a name="GstGLSrcBin"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsrcbin.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glsrcbin.html#GstGLSrcBin-struct" title="struct GstGLSrcBin">GstGLSrcBin</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsrcbin.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#GstBin-struct">GstBin</a>
+                    <span class="lineart">╰──</span> GstGLSrcBin
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsrcbin.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstGLSrcBin implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsrcbin.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.79.9.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Src/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.79.9.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsrcbin.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsrcbin.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLSrcBin-struct"></a><h3>struct GstGLSrcBin</h3>
+<pre class="programlisting">struct GstGLSrcBin;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsrcbin.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLSrcBin--src"></a><h3>The <code class="literal">“src”</code> property</h3>
+<pre class="programlisting">  “src”                      <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</span></a> *</pre>
+<p>The GL src chain to use.</p>
+<p>Flags: Read / Write</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glsrcbin.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="GstGLSrcBin-create-element"></a><h3>The <code class="literal">“create-element”</code> signal</h3>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="returnvalue">GstElement</span></a>*
+user_function (<a class="link" href="gst-plugins-bad-plugins-glsrcbin.html#GstGLSrcBin"><span class="type">GstGLSrcBin</span></a> *object,
+               <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 we need the processing element/s that this bin will use</p>
+<div class="refsect3">
+<a name="GstGLSrcBin-create-element.parameters"></a><h4>Parameters</h4>
+<div class="informaltable"><table class="informaltable" width="100%" border="0">
+<colgroup>
+<col width="150px" class="parameters_name">
+<col class="parameters_description">
+<col width="200px" class="parameters_annotations">
+</colgroup>
+<tbody>
+<tr>
+<td class="parameter_name"><p>object</p></td>
+<td class="parameter_description"><p>the <a class="link" href="gst-plugins-bad-plugins-glsrcbin.html#GstGLSrcBin"><span class="type">GstGLSrcBin</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>
+<div class="refsect3">
+<a name="GstGLSrcBin-create-element.returns"></a><h4>Returns</h4>
+<p> a new <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct"><span class="type">GstElement</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>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glstereomix.html b/docs/plugins/html/gst-plugins-bad-plugins-glstereomix.html
new file mode 100644
index 0000000..f6e4334
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glstereomix.html
@@ -0,0 +1,265 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glstereomix: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glsrcbin.html" title="glsrcbin">
+<link rel="next" href="gst-plugins-bad-plugins-glstereosplit.html" title="glstereosplit">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glstereomix.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glstereomix.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glstereomix.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glstereomix.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glsrcbin.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glstereosplit.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glstereomix"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glstereomix.top_of_page"></a>glstereomix</span></h2>
+<p>glstereomix</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereomix.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type"><span class="type">GstGLStereoDownmix</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glstereomix.html#GstGLStereoMix--downmix-mode" title="The “downmix-mode” property">downmix-mode</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<a name="GstGLStereoMix"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereomix.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glstereomix.html#GstGLStereoMix-struct" title="struct GstGLStereoMix">GstGLStereoMix</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereomix.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0gst-plugins-bad-libs-GstAggregator.html#GstAggregator">GstAggregator</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregator">GstVideoAggregator</a>
+                        <span class="lineart">╰──</span> GstGLBaseMixer
+                            <span class="lineart">╰──</span> GstGLMixer
+                                <span class="lineart">╰──</span> GstGLStereoMix
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereomix.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstGLStereoMix implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereomix.description"></a><h2>Description</h2>
+<p>Combine 2 input streams to produce a stereoscopic output
+stream. Input views are taken from the left pad and right pad
+respectively, and mixed according to their timelines.</p>
+<p>If either input stream is stereoscopic, the approproriate view
+(left or right) is taken from each stream and placed into the output.</p>
+<p>The multiview representation on the output is chosen according to
+the downstream caps.</p>
+<div class="refsect2">
+<a name="id-1.2.80.8.5"></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
+2
+3
+4
+5
+6</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 pattern<span class="gtkdoc opt">=</span>ball name<span class="gtkdoc opt">=</span>left \
+    videotestsrc name<span class="gtkdoc opt">=</span>right glstereomix name<span class="gtkdoc opt">=</span>mix \
+    left<span class="gtkdoc opt">. !</span> vid<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">640</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">480</span><span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span>  \
+    right<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">640</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">480</span><span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span>  \
+    mix<span class="gtkdoc opt">. !</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="string">'(memory:GLMemory)'</span><span class="gtkdoc opt">,</span>multiview<span class="gtkdoc opt">-</span>mode<span class="gtkdoc opt">=</span>side<span class="gtkdoc opt">-</span>by<span class="gtkdoc opt">-</span>side <span class="gtkdoc opt">!</span> \
+    queue <span class="gtkdoc opt">!</span> glimagesink output<span class="gtkdoc opt">-</span>multiview<span class="gtkdoc opt">-</span>mode<span class="gtkdoc opt">=</span>side<span class="gtkdoc opt">-</span>by<span class="gtkdoc opt">-</span>side</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Mix 2 different videotestsrc patterns into a side-by-side stereo image and display it.
+<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</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>ev v4l2src name<span class="gtkdoc opt">=</span>left \
+    videotestsrc name<span class="gtkdoc opt">=</span>right \
+    glstereomix name<span class="gtkdoc opt">=</span>mix \
+    left<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">640</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">480</span> <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> glcolorconvert <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span>  \
+    right<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">640</span><span class="gtkdoc opt">,</span>height<span class="gtkdoc opt">=</span><span class="number">480</span> <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> mix<span class="gtkdoc opt">.</span>  \
+    mix<span class="gtkdoc opt">. !</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="string">'(memory:GLMemory)'</span><span class="gtkdoc opt">,</span>multiview<span class="gtkdoc opt">-</span>mode<span class="gtkdoc opt">=</span>top<span class="gtkdoc opt">-</span>bottom <span class="gtkdoc opt">!</span> \
+    glcolorconvert <span class="gtkdoc opt">!</span> gldownload <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> x264enc <span class="gtkdoc opt">!</span> h264parse <span class="gtkdoc opt">!</span> \
+    mp4mux <span class="gtkdoc opt">!</span> progressreport <span class="gtkdoc opt">!</span> filesink location<span class="gtkdoc opt">=</span>output<span class="gtkdoc opt">.</span>mp4</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Mix the input from a camera to the left view, and videotestsrc to the right view,
+   and encode as a top-bottom frame packed H.264 video.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.80.8.6.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Jan Schmidt &lt;jan@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.80.8.6.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink_%u</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>request</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, 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, format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, 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, format=(string){ RGBA, RGB, RGBx, BGR, BGRx, BGRA, xRGB, xBGR, ARGB, ABGR, Y444, I420, YV12, Y42B, Y41B, NV12, NV21, YUY2, UYVY, AYUV, GRAY8, GRAY16_LE, GRAY16_BE, RGB16, BGR16 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereomix.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereomix.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLStereoMix-struct"></a><h3>struct GstGLStereoMix</h3>
+<pre class="programlisting">struct GstGLStereoMix;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereomix.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLStereoMix--downmix-mode"></a><h3>The <code class="literal">“downmix-mode”</code> property</h3>
+<pre class="programlisting">  “downmix-mode”             <span class="type">GstGLStereoDownmix</span></pre>
+<p>Output anaglyph type to generate when downmixing to mono.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Dubois optimised Green-Magenta anaglyph</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glstereosplit.html b/docs/plugins/html/gst-plugins-bad-plugins-glstereosplit.html
new file mode 100644
index 0000000..d1df6b9
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glstereosplit.html
@@ -0,0 +1,196 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glstereosplit: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glstereomix.html" title="glstereomix">
+<link rel="next" href="gst-plugins-bad-plugins-gltestsrc.html" title="gltestsrc">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glstereosplit.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glstereosplit.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glstereomix.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gltestsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glstereosplit"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glstereosplit.top_of_page"></a>glstereosplit</span></h2>
+<p>glstereosplit</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<a name="GstGLStereoSplit"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereosplit.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glstereosplit.html#GstGLStereoSplit-struct" title="struct GstGLStereoSplit">GstGLStereoSplit</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereosplit.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> GstGLStereoSplit
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereosplit.description"></a><h2>Description</h2>
+<p>Receive a stereoscopic video stream and split into left/right</p>
+<div class="refsect2">
+<a name="id-1.2.81.6.3"></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> videotestsrc <span class="gtkdoc opt">!</span> glstereosplit name<span class="gtkdoc opt">=</span>s <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> glimagesink s<span class="gtkdoc opt">. !</span> queue <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+FBO (Frame Buffer Object) and GLSL (OpenGL Shading Language) are required.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.81.6.4.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Jan Schmidt &lt;jan@centricular.com&gt;
+Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Converter</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.81.6.4.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>left</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>right</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereosplit.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glstereosplit.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLStereoSplit-struct"></a><h3>struct GstGLStereoSplit</h3>
+<pre class="programlisting">struct GstGLStereoSplit;</pre>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gltestsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-gltestsrc.html
new file mode 100644
index 0000000..06f747e
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gltestsrc.html
@@ -0,0 +1,323 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gltestsrc: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glstereosplit.html" title="glstereosplit">
+<link rel="next" href="gst-plugins-bad-plugins-gltransformation.html" title="gltransformation">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gltestsrc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gltestsrc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gltestsrc.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glstereosplit.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-gltransformation.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gltestsrc"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gltestsrc.top_of_page"></a>gltestsrc</span></h2>
+<p>gltestsrc</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltestsrc.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrc--is-live" title="The “is-live” property">is-live</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a class="link" href="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrcPattern" title="enum GstGLTestSrcPattern"><span class="type">GstGLTestSrcPattern</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrc--pattern" title="The “pattern” property">pattern</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#gint64"><span class="type">gint64</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrc--timestamp-offset" title="The “timestamp-offset” property">timestamp-offset</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstGLTestSrc"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltestsrc.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>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrc-struct" title="GstGLTestSrc">GstGLTestSrc</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrcPattern" title="enum GstGLTestSrcPattern">GstGLTestSrcPattern</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltestsrc.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseSrc.html#GstBaseSrc-struct">GstBaseSrc</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstPushSrc.html#GstPushSrc-struct">GstPushSrc</a>
+                        <span class="lineart">╰──</span> GstGLTestSrc
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltestsrc.description"></a><h2>Description</h2>
+<div class="refsect2">
+<a name="id-1.2.82.7.2"></a><h3>Example launch line</h3>
+<p>
+The gltestsrc element is used to produce test video texture.
+The video test produced can be controlled with the "pattern"
+property.
+</p>
+<p>
+</p>
+<pre class="programlisting">
+gst-launch-1.0 -v gltestsrc pattern=smpte ! glimagesink
+</pre>
+<p>
+Shows original SMPTE color bars in a window.
+</p>
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.82.7.3.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>David A. Schleef &lt;ds@schleef.org&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Source/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.82.7.3.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltestsrc.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltestsrc.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLTestSrc-struct"></a><h3>GstGLTestSrc</h3>
+<pre class="programlisting">typedef struct _GstGLTestSrc GstGLTestSrc;</pre>
+<p>Opaque data structure.</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLTestSrcPattern"></a><h3>enum GstGLTestSrcPattern</h3>
+<p>The test pattern to produce.</p>
+<div class="refsect3">
+<a name="GstGLTestSrcPattern.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-GL-TEST-SRC-SMPTE:CAPS"></a>GST_GL_TEST_SRC_SMPTE</p></td>
+<td class="enum_member_description">
+<p>A standard SMPTE test pattern</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-SNOW:CAPS"></a>GST_GL_TEST_SRC_SNOW</p></td>
+<td class="enum_member_description">
+<p>Random noise</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-BLACK:CAPS"></a>GST_GL_TEST_SRC_BLACK</p></td>
+<td class="enum_member_description">
+<p>A black image</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-WHITE:CAPS"></a>GST_GL_TEST_SRC_WHITE</p></td>
+<td class="enum_member_description">
+<p>A white image</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-RED:CAPS"></a>GST_GL_TEST_SRC_RED</p></td>
+<td class="enum_member_description">
+<p>A red image</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-GREEN:CAPS"></a>GST_GL_TEST_SRC_GREEN</p></td>
+<td class="enum_member_description">
+<p>A green image</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-BLUE:CAPS"></a>GST_GL_TEST_SRC_BLUE</p></td>
+<td class="enum_member_description">
+<p>A blue image</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-CHECKERS1:CAPS"></a>GST_GL_TEST_SRC_CHECKERS1</p></td>
+<td class="enum_member_description">
+<p>Checkers pattern (1px)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-CHECKERS2:CAPS"></a>GST_GL_TEST_SRC_CHECKERS2</p></td>
+<td class="enum_member_description">
+<p>Checkers pattern (2px)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-CHECKERS4:CAPS"></a>GST_GL_TEST_SRC_CHECKERS4</p></td>
+<td class="enum_member_description">
+<p>Checkers pattern (4px)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-CHECKERS8:CAPS"></a>GST_GL_TEST_SRC_CHECKERS8</p></td>
+<td class="enum_member_description">
+<p>Checkers pattern (8px)</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-CIRCULAR:CAPS"></a>GST_GL_TEST_SRC_CIRCULAR</p></td>
+<td class="enum_member_description">
+<p>Circular pattern</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-BLINK:CAPS"></a>GST_GL_TEST_SRC_BLINK</p></td>
+<td class="enum_member_description">
+<p>Alternate between black and white</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-TEST-SRC-MANDELBROT:CAPS"></a>GST_GL_TEST_SRC_MANDELBROT</p></td>
+<td> </td>
+<td> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltestsrc.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLTestSrc--is-live"></a><h3>The <code class="literal">“is-live”</code> property</h3>
+<pre class="programlisting">  “is-live”                  <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Whether to act as a live source.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLTestSrc--pattern"></a><h3>The <code class="literal">“pattern”</code> property</h3>
+<pre class="programlisting">  “pattern”                  <a class="link" href="gst-plugins-bad-plugins-gltestsrc.html#GstGLTestSrcPattern" title="enum GstGLTestSrcPattern"><span class="type">GstGLTestSrcPattern</span></a></pre>
+<p>Type of test pattern to generate.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: SMPTE 100% color bars</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLTestSrc--timestamp-offset"></a><h3>The <code class="literal">“timestamp-offset”</code> property</h3>
+<pre class="programlisting">  “timestamp-offset”         <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint64"><span class="type">gint64</span></a></pre>
+<p>An offset added to timestamps set on buffers (in ns).</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-gltransformation.html b/docs/plugins/html/gst-plugins-bad-plugins-gltransformation.html
new file mode 100644
index 0000000..b8147cf
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-gltransformation.html
@@ -0,0 +1,161 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>gltransformation: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gltestsrc.html" title="gltestsrc">
+<link rel="next" href="gst-plugins-bad-plugins-glupload.html" title="glupload">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-gltransformation.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gltestsrc.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glupload.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-gltransformation"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-gltransformation.top_of_page"></a>gltransformation</span></h2>
+<p>gltransformation</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltransformation.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-gltransformation.html#GstGLTransformation" title="struct GstGLTransformation">GstGLTransformation</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltransformation.description"></a><h2>Description</h2>
+<p>Transforms video on the GPU.</p>
+<div class="refsect2">
+<a name="id-1.2.83.4.3"></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> gltestsrc <span class="gtkdoc opt">!</span> gltransformation rotation<span class="gtkdoc opt">-</span>z<span class="gtkdoc opt">=</span><span class="number">45</span> <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ A pipeline to rotate by 45 degrees
+<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> gltestsrc <span class="gtkdoc opt">!</span> gltransformation translation<span class="gtkdoc opt">-</span>x<span class="gtkdoc opt">=</span><span class="number">0.5</span> <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Translate the video by 0.5
+<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> gltestsrc <span class="gtkdoc opt">!</span> gltransformation scale<span class="gtkdoc opt">-</span>y<span class="gtkdoc opt">=</span><span class="number">0.5</span> scale<span class="gtkdoc opt">-</span>x<span class="gtkdoc opt">=</span><span class="number">0.5</span> <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Resize the video by 0.5
+<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> gltestsrc <span class="gtkdoc opt">!</span> gltransformation rotation<span class="gtkdoc opt">-</span>x<span class="gtkdoc opt">=-</span><span class="number">45</span> ortho<span class="gtkdoc opt">=</span>True <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Rotate the video around the X-Axis by -45° with an orthographic projection
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltransformation.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-gltransformation.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLTransformation"></a><h3>struct GstGLTransformation</h3>
+<pre class="programlisting">struct GstGLTransformation {
+    GstGLFilter filter;
+
+    GstGLShader *shader;
+    GLuint       vao;
+    GLuint       vbo_indices;
+    GLuint       vertex_buffer;
+    GLint        attr_position;
+    GLint        attr_texture;
+
+    GstGLMemory *in_tex;
+    GstGLMemory *out_tex;
+
+    gfloat xrotation;
+    gfloat yrotation;
+    gfloat zrotation;
+
+    gfloat xscale;
+    gfloat yscale;
+
+    gfloat xtranslation;
+    gfloat ytranslation;
+    gfloat ztranslation;
+
+    gfloat xpivot;
+    gfloat ypivot;
+    gfloat zpivot;
+
+    /* perspective */
+    gfloat fov;
+    gfloat aspect;
+    gfloat znear;
+    gfloat zfar;
+    gboolean ortho;
+
+    graphene_matrix_t model_matrix;
+    graphene_matrix_t view_matrix;
+    graphene_matrix_t projection_matrix;
+    graphene_matrix_t inv_model_matrix;
+    graphene_matrix_t inv_view_matrix;
+    graphene_matrix_t inv_projection_matrix;
+    graphene_matrix_t mvp_matrix;
+
+    graphene_vec3_t camera_position;
+
+    gboolean downstream_supports_affine_meta;
+    gboolean caps_change;
+};
+</pre>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glupload.html b/docs/plugins/html/gst-plugins-bad-plugins-glupload.html
new file mode 100644
index 0000000..757e026
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glupload.html
@@ -0,0 +1,178 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glupload: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-gltransformation.html" title="gltransformation">
+<link rel="next" href="gst-plugins-bad-plugins-glvideomixerelement.html" title="glvideomixerelement">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glupload.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glupload.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-gltransformation.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glvideomixerelement.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glupload"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glupload.top_of_page"></a>glupload</span></h2>
+<p>glupload</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<a name="GstGLUploadElement"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glupload.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glupload.html#GstGLUploadElement-struct" title="struct GstGLUploadElement">GstGLUploadElement</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glupload.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> GstGLUploadElement
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glupload.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.84.6.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.84.6.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, 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(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glupload.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glupload.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLUploadElement-struct"></a><h3>struct GstGLUploadElement</h3>
+<pre class="programlisting">struct GstGLUploadElement;</pre>
+<p>Opaque <a class="link" href="gst-plugins-bad-plugins-glupload.html#GstGLUploadElement"><span class="type">GstGLUploadElement</span></a> object</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glvideomixer.html b/docs/plugins/html/gst-plugins-bad-plugins-glvideomixer.html
new file mode 100644
index 0000000..f40b62b
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glvideomixer.html
@@ -0,0 +1,177 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glvideomixer: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glvideomixerelement.html" title="glvideomixerelement">
+<link rel="next" href="gst-plugins-bad-plugins-glviewconvert.html" title="glviewconvert">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glvideomixer.description" class="shortcut">Description</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glvideomixerelement.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glviewconvert.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glvideomixer"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glvideomixer.top_of_page"></a>glvideomixer</span></h2>
+<p>glvideomixer</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixer.description"></a><h2>Description</h2>
+<p>Composites a number of streams into a single output scene using OpenGL in
+a similar fashion to compositor and videomixer. See the compositor plugin
+for documentation about the <span class="type">GstGLVideoMixerPad</span> properties.</p>
+<div class="refsect2">
+<a name="id-1.2.86.3.3"></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
+2
+3
+4
+5
+6
+7</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>  glvideomixer name<span class="gtkdoc opt">=</span>m <span class="gtkdoc opt">!</span> glimagesink \
+    videotestsrc <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span> format<span class="gtkdoc opt">=</span>YUY2 <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> glcolorconvert <span class="gtkdoc opt">!</span> m<span class="gtkdoc opt">.</span> \
+    videotestsrc pattern<span class="gtkdoc opt">=</span><span class="number">12</span> <span class="gtkdoc opt">!</span> video<span class="gtkdoc opt">/</span>x<span class="gtkdoc opt">-</span>raw<span class="gtkdoc opt">,</span> format<span class="gtkdoc opt">=</span>I420<span class="gtkdoc opt">,</span> framerate<span class="gtkdoc opt">=</span><span class="number">5</span><span class="gtkdoc opt">/</span><span class="number">1</span><span class="gtkdoc opt">,</span> width<span class="gtkdoc opt">=</span><span class="number">100</span><span class="gtkdoc opt">,</span> height<span class="gtkdoc opt">=</span><span class="number">200</span> <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> \
+    glupload <span class="gtkdoc opt">!</span> glcolorconvert <span class="gtkdoc opt">!</span> m<span class="gtkdoc opt">.</span> \
+    videotestsrc <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> gleffects effect<span class="gtkdoc opt">=</span><span class="number">2</span> <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> m<span class="gtkdoc opt">.</span>  \
+    videotestsrc <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> glfiltercube <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> m<span class="gtkdoc opt">.</span> \
+    videotestsrc <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> gleffects effect<span class="gtkdoc opt">=</span><span class="number">6</span> <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> m<span class="gtkdoc opt">.</span>gst<span class="gtkdoc opt">-</span>launch<span class="gtkdoc opt">-</span><span class="number">1.0</span>  glvideomixer name<span class="gtkdoc opt">=</span>m <span class="gtkdoc opt">!</span> glimagesink \</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.86.3.4.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Bin/Filter/Effect/Video/Compositor</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.86.3.4.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink_%u</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>request</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(memory:SystemMemory, meta:GstVideoOverlayComposition), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta, meta:GstVideoOverlayComposition), format=(string)RGBA, 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(memory:GLMemory), format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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, format=(string){ RGBA, BGRA, RGBx, BGRx, ARGB, ABGR, xRGB, xBGR, RGB, BGR, RGB16, BGR16, AYUV, I420, YV12, NV12, NV21, YUY2, UYVY, Y41B, Y42B, Y444, GRAY8, GRAY16_LE, GRAY16_BE }, 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(meta:GstVideoGLTextureUploadMeta), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY)</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixer.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixer.other_details"></a><h2>Types and Values</h2>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glvideomixerelement.html b/docs/plugins/html/gst-plugins-bad-plugins-glvideomixerelement.html
new file mode 100644
index 0000000..eb8f613
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glvideomixerelement.html
@@ -0,0 +1,243 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glvideomixerelement: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glupload.html" title="glupload">
+<link rel="next" href="gst-plugins-bad-plugins-glvideomixer.html" title="glvideomixer">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glvideomixerelement.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glvideomixerelement.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glvideomixerelement.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glvideomixerelement.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glupload.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-glvideomixer.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glvideomixerelement"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glvideomixerelement.top_of_page"></a>glvideomixerelement</span></h2>
+<p>glvideomixerelement</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixerelement.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody><tr>
+<td class="property_type"><a class="link" href="gst-plugins-bad-plugins-glvideomixerelement.html#GstGLVideoMixerBackground" title="enum GstGLVideoMixerBackground"><span class="type">GstGLVideoMixerBackground</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glvideomixerelement.html#GstGLVideoMixer--background" title="The “background” property">background</a></td>
+<td class="property_flags">Read / Write</td>
+</tr></tbody>
+</table></div>
+</div>
+<a name="GstGLVideoMixer"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixerelement.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glvideomixerelement.html#GstGLVideoMixer-struct" title="struct GstGLVideoMixer">GstGLVideoMixer</a></td>
+</tr>
+<tr>
+<td class="datatype_keyword">enum</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glvideomixerelement.html#GstGLVideoMixerBackground" title="enum GstGLVideoMixerBackground">GstGLVideoMixerBackground</a></td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixerelement.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0gst-plugins-bad-libs-GstAggregator.html#GstAggregator">GstAggregator</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0gst-plugins-bad-libs-GstVideoAggregator.html#GstVideoAggregator">GstVideoAggregator</a>
+                        <span class="lineart">╰──</span> GstGLBaseMixer
+                            <span class="lineart">╰──</span> GstGLMixer
+                                <span class="lineart">╰──</span> GstGLVideoMixer
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixerelement.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstGLVideoMixer implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixerelement.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.85.8.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter/Effect/Video/Compositor</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.85.8.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink_%u</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>request</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixerelement.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixerelement.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLVideoMixer-struct"></a><h3>struct GstGLVideoMixer</h3>
+<pre class="programlisting">struct GstGLVideoMixer;</pre>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLVideoMixerBackground"></a><h3>enum GstGLVideoMixerBackground</h3>
+<p>The different backgrounds compositor can blend over.</p>
+<div class="refsect3">
+<a name="GstGLVideoMixerBackground.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-GL-VIDEO-MIXER-BACKGROUND-CHECKER:CAPS"></a>GST_GL_VIDEO_MIXER_BACKGROUND_CHECKER</p></td>
+<td class="enum_member_description">
+<p>checker pattern background</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-VIDEO-MIXER-BACKGROUND-BLACK:CAPS"></a>GST_GL_VIDEO_MIXER_BACKGROUND_BLACK</p></td>
+<td class="enum_member_description">
+<p>solid color black background</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-VIDEO-MIXER-BACKGROUND-WHITE:CAPS"></a>GST_GL_VIDEO_MIXER_BACKGROUND_WHITE</p></td>
+<td class="enum_member_description">
+<p>solid color white background</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+<tr>
+<td class="enum_member_name"><p><a name="GST-GL-VIDEO-MIXER-BACKGROUND-TRANSPARENT:CAPS"></a>GST_GL_VIDEO_MIXER_BACKGROUND_TRANSPARENT</p></td>
+<td class="enum_member_description">
+<p>background is left transparent and layers are composited using "A OVER B" composition rules. This is only applicable to AYUV and ARGB (and variants) as it preserves the alpha channel and allows for further mixing.</p>
+</td>
+<td class="enum_member_annotations"> </td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glvideomixerelement.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLVideoMixer--background"></a><h3>The <code class="literal">“background”</code> property</h3>
+<pre class="programlisting">  “background”               <a class="link" href="gst-plugins-bad-plugins-glvideomixerelement.html#GstGLVideoMixerBackground" title="enum GstGLVideoMixerBackground"><span class="type">GstGLVideoMixerBackground</span></a></pre>
+<p>Background type.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Checker pattern</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-glviewconvert.html b/docs/plugins/html/gst-plugins-bad-plugins-glviewconvert.html
new file mode 100644
index 0000000..abb8b4a
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-glviewconvert.html
@@ -0,0 +1,277 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>glviewconvert: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-glvideomixer.html" title="glvideomixer">
+<link rel="next" href="gst-plugins-bad-plugins-jpegparse.html" title="jpegparse">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glviewconvert.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glviewconvert.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-glviewconvert.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glvideomixer.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-jpegparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-glviewconvert"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-glviewconvert.top_of_page"></a>glviewconvert</span></h2>
+<p>glviewconvert</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glviewconvert.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><span class="type">GstGLStereoDownmix</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement--downmix-mode" title="The “downmix-mode” property">downmix-mode</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement--input-flags-override" title="The “input-flags-override” property">input-flags-override</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFramePacking"><span class="type">GstVideoMultiviewFramePacking</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement--input-mode-override" title="The “input-mode-override” property">input-mode-override</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement--output-flags-override" title="The “output-flags-override” property">output-flags-override</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement--output-mode-override" title="The “output-mode-override” property">output-mode-override</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstGLViewConvertElement"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-glviewconvert.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-glviewconvert.html#GstGLViewConvertElement-struct" title="struct GstGLViewConvertElement">GstGLViewConvertElement</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glviewconvert.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLBaseFilter.html#GstGLBaseFilter-struct">GstGLBaseFilter</a>
+                        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-bad-libs-1.0GstGLFilter.html#GstGLFilter-struct">GstGLFilter</a>
+                            <span class="lineart">╰──</span> GstGLViewConvertElement
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glviewconvert.description"></a><h2>Description</h2>
+<p>Convert stereoscopic video between different representations using fragment shaders.</p>
+<p>The element can use either property settings or caps negotiation to choose the
+input and output formats to process.</p>
+<div class="refsect2">
+<a name="id-1.2.87.7.4"></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> videotestsrc <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> glviewconvert <span class="gtkdoc opt">!</span> glimagesink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Simple placebo example demonstrating identity passthrough of mono video
+<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> videotestsrc pattern<span class="gtkdoc opt">=</span>checkers<span class="gtkdoc opt">-</span><span class="number">1</span> <span class="gtkdoc opt">!</span> glupload <span class="gtkdoc opt">!</span> \
+    glviewconvert input<span class="gtkdoc opt">-</span>mode<span class="gtkdoc opt">-</span>override<span class="gtkdoc opt">=</span>side<span class="gtkdoc opt">-</span>by<span class="gtkdoc opt">-</span>side <span class="gtkdoc opt">!</span> glimagesink <span class="gtkdoc opt">-</span>v</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Force re-interpretation of the input checkers pattern as a side-by-side stereoscopic
+   image and display in glimagesink.
+FBO (Frame Buffer Object) and GLSL (OpenGL Shading Language) are required.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.87.7.5.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-opengl.html#plugin-opengl">opengl</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Jan Schmidt &lt;jan@centricular.com&gt;
+Matthew Waters &lt;matthew@centricular.com&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Filter</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.87.7.5.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> video/x-raw(ANY), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glviewconvert.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glviewconvert.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstGLViewConvertElement-struct"></a><h3>struct GstGLViewConvertElement</h3>
+<pre class="programlisting">struct GstGLViewConvertElement;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-glviewconvert.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstGLViewConvertElement--downmix-mode"></a><h3>The <code class="literal">“downmix-mode”</code> property</h3>
+<pre class="programlisting">  “downmix-mode”             <span class="type">GstGLStereoDownmix</span></pre>
+<p>Output anaglyph type to generate when downmixing to mono.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: Dubois optimised Green-Magenta anaglyph</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLViewConvertElement--input-flags-override"></a><h3>The <code class="literal">“input-flags-override”</code> property</h3>
+<pre class="programlisting">  “input-flags-override”     <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a></pre>
+<p>Override any input information about multiview layout flags.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLViewConvertElement--input-mode-override"></a><h3>The <code class="literal">“input-mode-override”</code> property</h3>
+<pre class="programlisting">  “input-mode-override”      <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFramePacking"><span class="type">GstVideoMultiviewFramePacking</span></a></pre>
+<p>Override any input information about multiview layout.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLViewConvertElement--output-flags-override"></a><h3>The <code class="literal">“output-flags-override”</code> property</h3>
+<pre class="programlisting">  “output-flags-override”    <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewFlags"><span class="type">GstVideoMultiviewFlags</span></a></pre>
+<p>Override automatic negotiation for output multiview layout flags.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstGLViewConvertElement--output-mode-override"></a><h3>The <code class="literal">“output-mode-override”</code> property</h3>
+<pre class="programlisting">  “output-mode-override”     <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoMultiviewMode"><span class="type">GstVideoMultiviewMode</span></a></pre>
+<p>Override automatic output mode selection for multiview layout.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: GST_VIDEO_MULTIVIEW_MODE_NONE</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html b/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
index 1c93d97..784175a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-jpegparse.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
-<link rel="prev" href="gst-plugins-bad-plugins-gaussianblur.html" title="gaussianblur">
+<link rel="prev" href="gst-plugins-bad-plugins-glviewconvert.html" title="glviewconvert">
 <link rel="next" href="gst-plugins-bad-plugins-kaleidoscope.html" title="kaleidoscope">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -20,7 +20,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-plugins-gaussianblur.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-glviewconvert.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-bad-plugins-kaleidoscope.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -62,7 +62,7 @@
 image header searching for image properties such as width and height
 among others. Jpegparse can also extract metadata (e.g. xmp).</p>
 <div class="refsect2">
-<a name="id-1.2.41.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.88.6.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -80,7 +80,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.41.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.88.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -106,7 +106,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.41.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.88.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html b/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
index d8ed12f..ad87e02 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-kaleidoscope.html
@@ -91,7 +91,7 @@
 <p>The kaleidscope element applies 'kaleidoscope' geometric transform to the
 image.</p>
 <div class="refsect2">
-<a name="id-1.2.42.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.89.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -107,7 +107,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.42.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.89.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -133,7 +133,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.42.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.89.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html b/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
index af6748e..a0b78dc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-liveadder.html
@@ -36,7 +36,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.43.3.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.90.3.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -62,7 +62,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.43.3.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.90.3.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-marble.html b/docs/plugins/html/gst-plugins-bad-plugins-marble.html
index 2200032..f3882af 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-marble.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-marble.html
@@ -95,7 +95,7 @@
 <p>Marble is a geometric image transform element. It applies a marbling effect
 to the image.</p>
 <div class="refsect2">
-<a name="id-1.2.44.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.91.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -111,7 +111,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.44.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.91.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -137,7 +137,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.44.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.91.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html b/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
index 120e472..1ef1b35 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mimdec.html
@@ -62,7 +62,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.46.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.93.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -88,7 +88,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.46.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.93.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html b/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
index cd037c5..c277718 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mimenc.html
@@ -84,7 +84,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.45.7.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.92.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -110,7 +110,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.45.7.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.92.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mirror.html b/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
index cb7a150..e5d5bf2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mirror.html
@@ -84,7 +84,7 @@
 <p>Mirror is a geometric transform element. It splits the image into two halves
 and reflects one over each other.</p>
 <div class="refsect2">
-<a name="id-1.2.47.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.94.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -100,7 +100,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.47.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.94.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -126,7 +126,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.47.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.94.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-modplug.html b/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
index b203366..5fdd666 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-modplug.html
@@ -133,7 +133,7 @@
 <p>Modplug uses the <a class="ulink" href="http://modplug-xmms.sourceforge.net/" target="_top">modplug</a>
 library to decode tracked music in the MOD/S3M/XM/IT and related formats.</p>
 <div class="refsect2">
-<a name="id-1.2.48.7.3"></a><h3>Example pipeline</h3>
+<a name="id-1.2.95.7.3"></a><h3>Example pipeline</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -149,7 +149,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.48.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.95.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -175,7 +175,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.48.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.95.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html b/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
index d1801d4..5751283 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpeg2enc.html
@@ -252,7 +252,7 @@
 <a class="ulink" href="https://sourceforge.net/docman/display_doc.php?docid=3456&amp;group_id=5776" target="_top">MJPEG Howto</a><p>and on the various available parameters in the documentation
 of the mpeg2enc tool in particular, which shares options with this element.</p>
 <div class="refsect2">
-<a name="id-1.2.49.8.7"></a><h3>Example pipeline</h3>
+<a name="id-1.2.96.8.7"></a><h3>Example pipeline</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -290,7 +290,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.49.8.8.1"></a><h3>Element Information</h3>
+<a name="id-1.2.96.8.8.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -317,7 +317,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.49.8.8.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.96.8.8.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-bad-plugins-mpegpsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
index c59aae2..b3045b1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpegpsmux.html
@@ -36,7 +36,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.50.3.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.97.3.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -62,7 +62,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.50.3.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.97.3.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
index f953f29..c06b0c0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mpegtsmux.html
@@ -36,7 +36,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.51.3.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.98.3.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -62,7 +62,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.51.3.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.98.3.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-mplex.html b/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
index 99bd156..3a9967c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-mplex.html
@@ -111,7 +111,7 @@
 <a class="ulink" href="https://sourceforge.net/docman/display_doc.php?docid=3456&amp;group_id=5776" target="_top">MJPEG Howto</a><p>and the man-page of the mplex tool documents the properties of this element,
 which are shared with the mplex tool.</p>
 <div class="refsect2">
-<a name="id-1.2.52.7.5"></a><h3>Example pipeline</h3>
+<a name="id-1.2.99.7.5"></a><h3>Example pipeline</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -134,7 +134,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.52.7.6.1"></a><h3>Element Information</h3>
+<a name="id-1.2.99.7.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -162,7 +162,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.52.7.6.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.99.7.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-bad-plugins-neonhttpsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html
index 5e62e66..3dc3a75 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-neonhttpsrc.html
@@ -145,7 +145,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.53.6.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.100.6.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -171,7 +171,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.53.6.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.100.6.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-ofa.html b/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
index 7b8e945..7b80764 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-ofa.html
@@ -78,7 +78,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.54.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.101.7.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -104,7 +104,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.54.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.101.7.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html b/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
index ebd948c..0842d94 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-openalsink.html
@@ -117,7 +117,7 @@
 <p>This element plays raw audio samples through OpenAL.</p>
 <p>Unfortunately the capture API doesn't have a format enumeration/check. all you can do is try opening it and see if it works.</p>
 <div class="refsect2">
-<a name="id-1.2.56.7.4"></a><h3>Example pipelines</h3>
+<a name="id-1.2.103.7.4"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -155,7 +155,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.56.7.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.103.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -181,7 +181,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.56.7.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.103.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
index c7305f9..e44e55c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-openalsrc.html
@@ -87,7 +87,7 @@
 <a name="gst-plugins-bad-plugins-openalsrc.description"></a><h2>Description</h2>
 <p>This element captures raw audio samples through OpenAL.</p>
 <div class="refsect2">
-<a name="id-1.2.55.7.3"></a><h3>Example pipelines</h3>
+<a name="id-1.2.102.7.3"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -114,7 +114,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.55.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.102.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -140,7 +140,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.55.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.102.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html b/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
index 2d226c3..37ab32d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-opencvtextoverlay.html
@@ -120,7 +120,7 @@
 <a name="gst-plugins-bad-plugins-opencvtextoverlay.description"></a><h2>Description</h2>
 <p>opencvtextoverlay renders the text on top of the video frames</p>
 <div class="refsect2">
-<a name="id-1.2.74.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.123.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -136,7 +136,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.74.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.123.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -162,7 +162,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.74.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.123.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html b/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
index fd4a848..1f3aed0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pcapparse.html
@@ -107,7 +107,7 @@
 <a class="link" href="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--src-port" title="The “src-port” property"><span class="type">“src-port”</span></a> and <a class="link" href="gst-plugins-bad-plugins-pcapparse.html#GstPcapParse--dst-port" title="The “dst-port” property"><span class="type">“dst-port”</span></a> to restrict which packets
 should be included.</p>
 <div class="refsect2">
-<a name="id-1.2.57.7.3"></a><h3>Example pipelines</h3>
+<a name="id-1.2.104.7.3"></a><h3>Example pipelines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -126,7 +126,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.57.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.104.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -152,7 +152,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.57.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.104.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-pinch.html b/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
index c37a2e3..65925b2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-pinch.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
 <link rel="prev" href="gst-plugins-bad-plugins-pcapparse.html" title="pcapparse">
-<link rel="next" href="gst-plugins-bad-plugins-rfbsrc.html" title="rfbsrc">
+<link rel="next" href="gst-plugins-bad-plugins-rawaudioparse.html" title="rawaudioparse">
 <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-bad-plugins-pcapparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-plugins-rfbsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-rawaudioparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-bad-plugins-pinch"></a><div class="titlepage"></div>
@@ -78,7 +78,7 @@
 <a name="gst-plugins-bad-plugins-pinch.description"></a><h2>Description</h2>
 <p>Pinch applies a 'pinch' geometric transform to the image.</p>
 <div class="refsect2">
-<a name="id-1.2.58.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.105.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.58.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.105.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,7 +120,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.58.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.105.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
index b6987fd..8893f5b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-aiff.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
index 1e8a132..99fd1a1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-assrender.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
index a5d2bf5..d63bbba 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiomixer.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
index 68929b1..65b97e9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-audiovisualizers.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
index ed6da25..cfa180e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-autoconvert.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
index 4b1a389..dcb85f9 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bayer.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
index 2b517a1..7d3957f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bs2b.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
index a9d4884..21cbe3a 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-bz2.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
index 6319a4e..a0e6c92 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-camerabin.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
index 79456c3..ac4a4c0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-coloreffects.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
index 08766ec..0eb023f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-curl.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
index 7b26e80..717e69c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dataurisrc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
index d6e71e3..42769a1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-debugutilsbad.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
index 3471f7c..e45e23b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dtsdec.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
index e363b00..37d31fc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvb.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
index 75e0e8c..1e73f92 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-dvdspu.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
index 7e276ea..8ca768e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faac.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
index 13364ee..7bc4c6b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-faad.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
index 37c5c56..7524b8e 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-festival.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
index ef80792..7e78ca4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gaudieffects.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
index 6beadc7..fbcf1d7 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-geometrictransform.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
index a669ed8..e7a7587 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-gsm.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
index 2d964df..2b1b553 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-jpegformat.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
index 3c17ef0..aaeddcc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mimic.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
index bae0b74..aa8fc81 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mms.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
index d7b50d9..4cafbf3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-modplug.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
index d481f32..43b5c29 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpeg2enc.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
index 529f46b..bc34fec 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegpsmux.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
index da41389..b640a63 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mpegtsmux.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
index 9db99e8..80666fc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-mplex.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
index 1b3b1ba..b269010 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-ofa.html
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
index a0f187b..b3a1280 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-openal.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
 <link rel="prev" href="gst-plugins-bad-plugins-plugin-ofa.html" title="ofa">
-<link rel="next" href="gst-plugins-bad-plugins-plugin-opencv.html" title="opencv">
+<link rel="next" href="gst-plugins-bad-plugins-plugin-opengl.html" title="opengl">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
 </head>
@@ -17,7 +17,7 @@
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
 <td><a accesskey="p" href="gst-plugins-bad-plugins-plugin-ofa.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-plugins-plugin-opencv.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-plugin-opengl.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-bad-plugins-plugin-openal"></a><div class="titlepage"></div>
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
index b78a76d..2e01dca 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opencv.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
-<link rel="prev" href="gst-plugins-bad-plugins-plugin-openal.html" title="openal">
+<link rel="prev" href="gst-plugins-bad-plugins-plugin-opengl.html" title="opengl">
 <link rel="next" href="gst-plugins-bad-plugins-plugin-pcapparse.html" title="pcapparse">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -16,7 +16,7 @@
 <td width="100%" align="left" class="shortcuts"></td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-plugins-plugin-openal.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-plugin-opengl.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-bad-plugins-plugin-pcapparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.35.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.36.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.35.4"></a><h2>Elements</h2>
+<a name="id-1.3.36.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html
new file mode 100644
index 0000000..a62b994
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-opengl.html
@@ -0,0 +1,257 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>opengl: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch02.html" title="gst-plugins-bad Plugins">
+<link rel="prev" href="gst-plugins-bad-plugins-plugin-openal.html" title="openal">
+<link rel="next" href="gst-plugins-bad-plugins-plugin-opencv.html" title="opencv">
+<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"></td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch02.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-plugin-openal.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-plugin-opencv.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-plugin-opengl"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle">opengl</span></h2>
+<p>opengl — <a name="plugin-opengl"></a>OpenGL plugin</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="id-1.3.35.3"></a><h2>Plugin Information</h2>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">filename</span></p></td>
+<td>libgstopengl.so</td>
+</tr>
+<tr>
+<td><p><span class="term">version</span></p></td>
+<td>1.9.2</td>
+</tr>
+<tr>
+<td><p><span class="term">run-time license</span></p></td>
+<td>LGPL</td>
+</tr>
+<tr>
+<td><p><span class="term">package</span></p></td>
+<td>GStreamer Bad Plug-ins source release</td>
+</tr>
+<tr>
+<td><p><span class="term">origin</span></p></td>
+<td>Unknown package origin</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="id-1.3.35.4"></a><h2>Elements</h2>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glcolorbalance.html" title="glcolorbalance">glcolorbalance</a></span></p></td>
+<td>Adjusts brightness, contrast, hue, saturation on a video stream</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glcolorconvert.html" title="glcolorconvert">glcolorconvert</a></span></p></td>
+<td>Converts between color spaces using OpenGL shaders</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glcolorscale.html" title="glcolorscale">glcolorscale</a></span></p></td>
+<td>Colorspace converter and video scaler</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-gldeinterlace.html" title="gldeinterlace">gldeinterlace</a></span></p></td>
+<td>Deinterlacing based on fragment shaders</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-gldifferencematte.html" title="gldifferencematte">gldifferencematte</a></span></p></td>
+<td>Saves a background frame and replace it with a pixbuf</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-gldownload.html" title="gldownload">gldownload</a></span></p></td>
+<td>Downloads data from OpenGL</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-gleffects.html" title="gleffects">gleffects</a></span></p></td>
+<td>GL Shading Language effects</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_blur</span></p></td>
+<td>GL Shading Language effects - Blur with 9x9 separable convolution Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_bulge</span></p></td>
+<td>GL Shading Language effects - Bulge Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_fisheye</span></p></td>
+<td>GL Shading Language effects - FishEye Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_glow</span></p></td>
+<td>GL Shading Language effects - Glow Lighting Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_heat</span></p></td>
+<td>GL Shading Language effects - Heat Signature Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_identity</span></p></td>
+<td>GL Shading Language effects - Do nothing Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_laplacian</span></p></td>
+<td>GL Shading Language effects - Laplacian Convolution Demo Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_lumaxpro</span></p></td>
+<td>GL Shading Language effects - Luma Cross Processing Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_mirror</span></p></td>
+<td>GL Shading Language effects - Mirror Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_sepia</span></p></td>
+<td>GL Shading Language effects - Sepia Toning Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_sin</span></p></td>
+<td>GL Shading Language effects - All Grey but Red Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_sobel</span></p></td>
+<td>GL Shading Language effects - Sobel edge detection Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_square</span></p></td>
+<td>GL Shading Language effects - Square Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_squeeze</span></p></td>
+<td>GL Shading Language effects - Squeeze Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_stretch</span></p></td>
+<td>GL Shading Language effects - Stretch Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_tunnel</span></p></td>
+<td>GL Shading Language effects - Light Tunnel Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_twirl</span></p></td>
+<td>GL Shading Language effects - Twirl Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_xpro</span></p></td>
+<td>GL Shading Language effects - Cross Processing Effect</td>
+</tr>
+<tr>
+<td><p><span class="term">gleffects_xray</span></p></td>
+<td>GL Shading Language effects - Glowing negative effect</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glfilterapp.html" title="glfilterapp">glfilterapp</a></span></p></td>
+<td>Use client callbacks to define the scene</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glfilterbin.html" title="glfilterbin">glfilterbin</a></span></p></td>
+<td>Infrastructure to process GL textures</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glfiltercube.html" title="glfiltercube">glfiltercube</a></span></p></td>
+<td>Map input texture on the 6 cube faces</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glfilterglass.html" title="glfilterglass">glfilterglass</a></span></p></td>
+<td>Glass Filter</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glimagesink.html" title="glimagesink">glimagesink</a></span></p></td>
+<td>Infrastructure to process GL textures</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glimagesinkelement.html" title="glimagesinkelement">glimagesinkelement</a></span></p></td>
+<td>A videosink based on OpenGL</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glmixerbin.html" title="glmixerbin">glmixerbin</a></span></p></td>
+<td>OpenGL video_mixer empty bin</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glmosaic.html" title="glmosaic">glmosaic</a></span></p></td>
+<td>OpenGL mosaic</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-gloverlay.html" title="gloverlay">gloverlay</a></span></p></td>
+<td>Overlay GL video texture with a JPEG/PNG image</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glshader.html" title="glshader">glshader</a></span></p></td>
+<td>Perform operations with a GLSL shader</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glsinkbin.html" title="glsinkbin">glsinkbin</a></span></p></td>
+<td>Infrastructure to process GL textures</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glsrcbin.html" title="glsrcbin">glsrcbin</a></span></p></td>
+<td>Infrastructure to process GL textures</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glstereomix.html" title="glstereomix">glstereomix</a></span></p></td>
+<td>OpenGL stereo video combiner</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glstereosplit.html" title="glstereosplit">glstereosplit</a></span></p></td>
+<td>Splits a stereoscopic stream into separate left/right streams</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-gltestsrc.html" title="gltestsrc">gltestsrc</a></span></p></td>
+<td>Creates a test video stream</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glupload.html" title="glupload">glupload</a></span></p></td>
+<td>Uploads data into OpenGL</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glvideomixer.html" title="glvideomixer">glvideomixer</a></span></p></td>
+<td>OpenGL video_mixer bin</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glvideomixerelement.html" title="glvideomixerelement">glvideomixerelement</a></span></p></td>
+<td>OpenGL video_mixer</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-glviewconvert.html" title="glviewconvert">glviewconvert</a></span></p></td>
+<td>Convert stereoscopic/multiview video formats</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
index 7763f8b..44cab25 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-pcapparse.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.36.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.37.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.36.4"></a><h2>Elements</h2>
+<a name="id-1.3.37.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
index fb60a89..e2d5331 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rawparse.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.37.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.38.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.37.4"></a><h2>Elements</h2>
+<a name="id-1.3.38.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -68,16 +68,28 @@
 </colgroup>
 <tbody>
 <tr>
-<td><p><span class="term">audioparse</span></p></td>
-<td>Converts stream into audio frames</td>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-audioparse.html" title="audioparse">audioparse</a></span></p></td>
+<td>Converts stream into audio frames (deprecated: use rawaudioparse instead)</td>
 </tr>
 <tr>
-<td><p><span class="term">unalignedaudioparse</span></p></td>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-rawaudioparse.html" title="rawaudioparse">rawaudioparse</a></span></p></td>
+<td>Converts unformatted data streams into timestamped raw audio frames</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html" title="rawvideoparse">rawvideoparse</a></span></p></td>
+<td>Converts unformatted data streams into timestamped raw video frames</td>
+</tr>
+<tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-unalignedaudioparse.html" title="unalignedaudioparse">unalignedaudioparse</a></span></p></td>
 <td>Parse unaligned raw audio data</td>
 </tr>
 <tr>
+<td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-unalignedvideoparse.html" title="unalignedvideoparse">unalignedvideoparse</a></span></p></td>
+<td>Parse unaligned raw video data</td>
+</tr>
+<tr>
 <td><p><span class="term"><a class="link" href="gst-plugins-bad-plugins-videoparse.html" title="videoparse">videoparse</a></span></p></td>
-<td>Converts stream into video frames</td>
+<td>Converts stream into video frames (deprecated: use rawvideoparse instead)</td>
 </tr>
 </tbody>
 </table></div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
index 27ae49c..b57ed28 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rfbsrc.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.38.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.39.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.38.4"></a><h2>Elements</h2>
+<a name="id-1.3.39.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
index 12ec18a..3423ad4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-rtmp.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.39.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.40.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.39.4"></a><h2>Elements</h2>
+<a name="id-1.3.40.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
index 1a31961..50b15e5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-sdp.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.40.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.41.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.40.4"></a><h2>Elements</h2>
+<a name="id-1.3.41.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
index dcff68b..bfac86d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-shm.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.41.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.42.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.41.4"></a><h2>Elements</h2>
+<a name="id-1.3.42.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
index 4da2c41..ceb7cc4 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-soundtouch.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.42.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.43.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.42.4"></a><h2>Elements</h2>
+<a name="id-1.3.43.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
index dcc66da..74111a8 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-speed.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.43.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.44.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.43.4"></a><h2>Elements</h2>
+<a name="id-1.3.44.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
index a441485..4a6c124 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voaacenc.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.44.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.45.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.44.4"></a><h2>Elements</h2>
+<a name="id-1.3.45.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
index a544592..fc5f1d2 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-voamrwbenc.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.45.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.46.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.45.4"></a><h2>Elements</h2>
+<a name="id-1.3.46.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
index 6cc06fd..0b51ad0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-webrtcdsp.html
@@ -29,7 +29,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.46.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.47.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -42,7 +42,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.0.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -60,7 +60,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.46.4"></a><h2>Elements</h2>
+<a name="id-1.3.47.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html b/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
index b0621c0..6995b7c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-plugin-zbar.html
@@ -28,7 +28,7 @@
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
 <div class="refsect1">
-<a name="id-1.3.47.3"></a><h2>Plugin Information</h2>
+<a name="id-1.3.48.3"></a><h2>Plugin Information</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -41,7 +41,7 @@
 </tr>
 <tr>
 <td><p><span class="term">version</span></p></td>
-<td>1.9.1</td>
+<td>1.9.2</td>
 </tr>
 <tr>
 <td><p><span class="term">run-time license</span></p></td>
@@ -59,7 +59,7 @@
 </table></div>
 </div>
 <div class="refsect1">
-<a name="id-1.3.47.4"></a><h2>Elements</h2>
+<a name="id-1.3.48.4"></a><h2>Elements</h2>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rawaudioparse.html b/docs/plugins/html/gst-plugins-bad-plugins-rawaudioparse.html
new file mode 100644
index 0000000..9aea9a4
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rawaudioparse.html
@@ -0,0 +1,335 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>rawaudioparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-pinch.html" title="pinch">
+<link rel="next" href="gst-plugins-bad-plugins-rawvideoparse.html" title="rawvideoparse">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-rawaudioparse.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-rawaudioparse.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-rawaudioparse.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-pinch.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-rawvideoparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-rawaudioparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-rawaudioparse.top_of_page"></a>rawaudioparse</span></h2>
+<p>rawaudioparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawaudioparse.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gobjectgobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--channel-positions" title="The “channel-positions” property">channel-positions</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstRawAudioParseFormat</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--format" title="The “format” property">format</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--interleaved" title="The “interleaved” property">interleaved</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--num-channels" title="The “num-channels” property">num-channels</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstaudio.html#GstAudioFormat"><span class="type">GstAudioFormat</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--pcm-format" title="The “pcm-format” property">pcm-format</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse--sample-rate" title="The “sample-rate” property">sample-rate</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstRawAudioParse"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawaudioparse.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-rawaudioparse.html#GstRawAudioParse-struct" title="struct GstRawAudioParse">GstRawAudioParse</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawaudioparse.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseParse.html#GstBaseParse-struct">GstBaseParse</a>
+                    <span class="lineart">╰──</span> GstRawBaseParse
+                        <span class="lineart">╰──</span> GstRawAudioParse
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawaudioparse.description"></a><h2>Description</h2>
+<p>This element parses incoming data as raw audio samples and timestamps it.
+It also handles seek queries in said raw audio data, and ensures that output
+buffers contain an integer number of samples, even if the input buffers don't.
+For example, with sample format S16LE and 2 channels, an input buffer of 411
+bytes contains 102.75 samples. rawaudioparse will then output 102 samples
+(= 408 bytes) and keep the remaining 3 bytes. These will then be prepended to
+the next input data.</p>
+<p>The element implements the properties and sink caps configuration as specified
+in the <span class="type">GstRawBaseParse</span> documentation. The properties configuration can be
+modified by using the sample-rate, num-channels, channel-positions, format,
+and pcm-format properties.</p>
+<p>Currently, this parser supports raw data in a-law, mu-law, or linear PCM format.</p>
+<p>To facilitate operation with the unalignedaudioparse element, rawaudioparse
+supports the "audio/x-unaligned-raw" media type. This is treated identically to
+"audio/x-raw", except that it is used by source elements which do not guarantee
+that the buffers they push out are timestamped and contain an integer amount of
+samples (see the 411 bytes example above). By using a different media type, it
+is guaranteed that unalignedaudioparse is autoplugged, making sure that the
+autoplugged chain does not push unparsed content downstream. The source caps'
+media type with linear PCM data is always "audio/x-raw", even if the sink caps
+use "audio/x-unaligned-raw".</p>
+<p>The channel-positions property can be used to set explicit position information
+for each channel. If the array that is passed to this property does not match
+the number of channels indicated by num-channels, then said number of channels
+is updated to the array length. If channel-positions is NULL, then the default
+GStreamer positioning is used. This property is also useful for swapping left
+and right in a stereo signal for example.</p>
+<div class="refsect2">
+<a name="id-1.2.106.7.7"></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
+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> souphttpsrc http<span class="gtkdoc opt">:</span><span class="gtkdoc slc">//my-dlna-server/track.l16 \</span>
+    rawaudioparse <span class="gtkdoc opt">!</span> audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Receive L16 data from a DLNA server, parse and timestamp it with
+rawaudioparse, and play it. use-sink-caps is set to true since souphttpsrc
+will set its source pad's caps to audio/x-unaligned-raw for the L16 stream.
+<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">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>audio<span class="gtkdoc opt">.</span>raw <span class="gtkdoc opt">!</span> rawaudioparse use<span class="gtkdoc opt">-</span>sink<span class="gtkdoc opt">-</span>caps<span class="gtkdoc opt">=</span><span class="keyword">false</span> \
+        format<span class="gtkdoc opt">=</span>pcm pcm<span class="gtkdoc opt">-</span>format<span class="gtkdoc opt">=</span>s16le sample<span class="gtkdoc opt">-</span>rate<span class="gtkdoc opt">=</span><span class="number">48000</span> num<span class="gtkdoc opt">-</span>channels<span class="gtkdoc opt">=</span><span class="number">2</span> \
+        audioconvert <span class="gtkdoc opt">!</span> audioresample <span class="gtkdoc opt">!</span> autoaudiosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Read raw data from a local file and parse it as PCM data with 48000 Hz sample
+rate, signed 16 bit integer samples, and 2 channels. use-sink-caps is set to
+false to ensure the property information is used and the parser does not expect
+audio/x-raw or audio/x-unaligned-raw caps.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.106.7.8.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-rawparse.html#plugin-rawparse">rawparse</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Carlos Rafael Giani &lt;dv@pseudoterminal.org&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Parser/Audio</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.106.7.8.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>audio/x-unaligned-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>
+<tr>
+<td><p><span class="term"></span></p></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>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</td>
+</tr>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>audio/x-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>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</td>
+</tr>
+<tr>
+<td><p><span class="term"></span></p></td>
+<td> audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawaudioparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawaudioparse.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstRawAudioParse-struct"></a><h3>struct GstRawAudioParse</h3>
+<pre class="programlisting">struct GstRawAudioParse;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawaudioparse.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstRawAudioParse--channel-positions"></a><h3>The <code class="literal">“channel-positions”</code> property</h3>
+<pre class="programlisting">  “channel-positions”        <a href="/usr/share/gtk-doc/html/gobjectgobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> *</pre>
+<p>Channel positions used on the output.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawAudioParse--format"></a><h3>The <code class="literal">“format”</code> property</h3>
+<pre class="programlisting">  “format”                   <span class="type">GstRawAudioParseFormat</span></pre>
+<p>Format of the raw audio stream.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: PCM</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawAudioParse--interleaved"></a><h3>The <code class="literal">“interleaved”</code> property</h3>
+<pre class="programlisting">  “interleaved”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>True if audio has interleaved layout.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: TRUE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawAudioParse--num-channels"></a><h3>The <code class="literal">“num-channels”</code> property</h3>
+<pre class="programlisting">  “num-channels”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Number of channels in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 1</p>
+<p>Default value: 2</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawAudioParse--pcm-format"></a><h3>The <code class="literal">“pcm-format”</code> property</h3>
+<pre class="programlisting">  “pcm-format”               <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstaudio.html#GstAudioFormat"><span class="type">GstAudioFormat</span></a></pre>
+<p>Format of audio samples in PCM stream (ignored if format property is not set to pcm).</p>
+<p>Flags: Read / Write</p>
+<p>Default value: GST_AUDIO_FORMAT_UNKNOWN</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawAudioParse--sample-rate"></a><h3>The <code class="literal">“sample-rate”</code> property</h3>
+<pre class="programlisting">  “sample-rate”              <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Rate of audio samples in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 1</p>
+<p>Default value: 44100</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rawvideoparse.html b/docs/plugins/html/gst-plugins-bad-plugins-rawvideoparse.html
new file mode 100644
index 0000000..2778cd1
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rawvideoparse.html
@@ -0,0 +1,372 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>rawvideoparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-rawaudioparse.html" title="rawaudioparse">
+<link rel="next" href="gst-plugins-bad-plugins-rfbsrc.html" title="rfbsrc">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-rawvideoparse.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-rawvideoparse.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-rawvideoparse.properties" class="shortcut">Properties</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-rawaudioparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-rfbsrc.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-rawvideoparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-rawvideoparse.top_of_page"></a>rawvideoparse</span></h2>
+<p>rawvideoparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawvideoparse.properties"></a><h2>Properties</h2>
+<div class="informaltable"><table class="informaltable" border="0">
+<colgroup>
+<col width="150px" class="properties_type">
+<col width="300px" class="properties_name">
+<col width="200px" class="properties_flags">
+</colgroup>
+<tbody>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoFormat"><span class="type">GstVideoFormat</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--format" title="The “format” property">format</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#guint"><span class="type">guint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--frame-stride" title="The “frame-stride” property">frame-stride</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstFraction</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--framerate" title="The “framerate” property">framerate</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--height" title="The “height” property">height</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--interlaced" title="The “interlaced” property">interlaced</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type"><span class="type">GstFraction</span></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--pixel-aspect-ratio" title="The “pixel-aspect-ratio” property">pixel-aspect-ratio</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gobjectgobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--plane-offsets" title="The “plane-offsets” property">plane-offsets</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+<tr>
+<td class="property_type">
+<a href="/usr/share/gtk-doc/html/gobjectgobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> *</td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--plane-strides" title="The “plane-strides” property">plane-strides</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#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--top-field-first" title="The “top-field-first” property">top-field-first</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#gint"><span class="type">gint</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse--width" title="The “width” property">width</a></td>
+<td class="property_flags">Read / Write</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<a name="GstRawVideoParse"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawvideoparse.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>
+<td class="datatype_keyword">struct</td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse-struct" title="struct GstRawVideoParse">GstRawVideoParse</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawvideoparse.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseParse.html#GstBaseParse-struct">GstBaseParse</a>
+                    <span class="lineart">╰──</span> GstRawBaseParse
+                        <span class="lineart">╰──</span> GstRawVideoParse
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawvideoparse.description"></a><h2>Description</h2>
+<p>This element parses incoming data as raw video frames and timestamps these.
+It also handles seek queries in said raw video data, and ensures that output
+buffers contain exactly one frame, even if the input buffers contain only
+partial frames or multiple frames. In the former case, it will continue to
+receive buffers until there is enough input data to output one frame. In the
+latter case, it will extract the first frame in the buffer and output it, then
+the second one etc. until the remaining unparsed bytes aren't enough to form
+a complete frame, and it will then continue as described in the earlier case.</p>
+<p>The element implements the properties and sink caps configuration as specified
+in the <span class="type">GstRawBaseParse</span> documentation. The properties configuration can be
+modified by using the width, height, pixel-aspect-ratio, framerate, interlaced,
+top-field-first, plane-strides, plane-offsets, and frame-stride properties.</p>
+<p>If the properties configuration is used, plane strides and offsets will be
+computed by using <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#gst-video-info-set-format"><code class="function">gst_video_info_set_format()</code></a>. This can be overridden by passing
+GValueArrays to the plane-offsets and plane-strides properties. When this is
+done, these custom offsets and strides are used later even if new width,
+height, format etc. property values might be set. To switch back to computed
+plane strides &amp; offsets, pass NULL to one or both of the plane-offset and
+plane-array properties.</p>
+<p>The frame stride property is useful in cases where there is extra data between
+the frames (for example, trailing metadata, or headers). The parser calculates 
+the actual frame size out of the other properties and compares it with this
+frame-stride value. If the frame stride is larger than the calculated size,
+then the extra bytes after the end of the frame are skipped. For example, with
+8-bit grayscale frames and a frame size of 100x10 pixels and a frame stride of
+1500 bytes, there are 500 excess bytes at the end of the actual frame which
+are then skipped. It is safe to set the frame stride to a value that is smaller
+than the actual frame size (in fact, its default value is 0); if it is smaller,
+then no trailing data will be skipped.</p>
+<p>If a framerate of 0 Hz is set (for example, 0/1), then output buffers will have
+no duration set. The first output buffer will have a PTS 0, all subsequent ones
+an unset PTS.</p>
+<div class="refsect2">
+<a name="id-1.2.107.7.7"></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
+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>raw <span class="gtkdoc opt">!</span> rawvideoparse use<span class="gtkdoc opt">-</span>sink<span class="gtkdoc opt">-</span>caps<span class="gtkdoc opt">=</span><span class="keyword">false</span> \
+        width<span class="gtkdoc opt">=</span><span class="number">500</span> height<span class="gtkdoc opt">=</span><span class="number">400</span> format<span class="gtkdoc opt">=</span>y444 <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Read raw data from a local file and parse it as video data with 500x400 pixels
+and Y444 video format.
+<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">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>raw <span class="gtkdoc opt">!</span> queue <span class="gtkdoc opt">!</span> <span class="string">&quot;video/x-raw, width=320, \</span>
+<span class="string">        height=240, format=I420, framerate=1/1&quot;</span> <span class="gtkdoc opt">!</span> rawvideoparse \
+        use<span class="gtkdoc opt">-</span>sink<span class="gtkdoc opt">-</span>caps<span class="gtkdoc opt">=</span><span class="keyword">true</span> <span class="gtkdoc opt">!</span> autovideosink</pre></td>
+      </tr>
+    </tbody>
+  </table>
+</div>
+ Read raw data from a local file and parse it as video data with 320x240 pixels
+and I420 video format. The queue element here is to force push based scheduling.
+See the documentation in <span class="type">GstRawBaseParse</span> for the reason why.
+</div>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.107.7.8.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-rawparse.html#plugin-rawparse">rawparse</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Carlos Rafael Giani &lt;dv@pseudoterminal.org&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Parser/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.107.7.8.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-unaligned-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, 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>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>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>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawvideoparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawvideoparse.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstRawVideoParse-struct"></a><h3>struct GstRawVideoParse</h3>
+<pre class="programlisting">struct GstRawVideoParse;</pre>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-rawvideoparse.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GstRawVideoParse--format"></a><h3>The <code class="literal">“format”</code> property</h3>
+<pre class="programlisting">  “format”                   <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstvideo.html#GstVideoFormat"><span class="type">GstVideoFormat</span></a></pre>
+<p>Format of frames in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: GST_VIDEO_FORMAT_I420</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawVideoParse--frame-stride"></a><h3>The <code class="literal">“frame-stride”</code> property</h3>
+<pre class="programlisting">  “frame-stride”             <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
+<p>Stride between whole frames (0 = frames are tightly packed together).</p>
+<p>Flags: Read / Write</p>
+<p>Default value: 0</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawVideoParse--framerate"></a><h3>The <code class="literal">“framerate”</code> property</h3>
+<pre class="programlisting">  “framerate”                <span class="type">GstFraction</span></pre>
+<p>Rate of frames in raw stream.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawVideoParse--height"></a><h3>The <code class="literal">“height”</code> property</h3>
+<pre class="programlisting">  “height”                   <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Height of frames in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 240</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawVideoParse--interlaced"></a><h3>The <code class="literal">“interlaced”</code> property</h3>
+<pre class="programlisting">  “interlaced”               <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>True if frames in raw stream are interlaced.</p>
+<p>Flags: Read / Write</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawVideoParse--pixel-aspect-ratio"></a><h3>The <code class="literal">“pixel-aspect-ratio”</code> property</h3>
+<pre class="programlisting">  “pixel-aspect-ratio”       <span class="type">GstFraction</span></pre>
+<p>Pixel aspect ratio of frames in raw stream.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawVideoParse--plane-offsets"></a><h3>The <code class="literal">“plane-offsets”</code> property</h3>
+<pre class="programlisting">  “plane-offsets”            <a href="/usr/share/gtk-doc/html/gobjectgobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> *</pre>
+<p>Offsets of the planets in bytes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawVideoParse--plane-strides"></a><h3>The <code class="literal">“plane-strides”</code> property</h3>
+<pre class="programlisting">  “plane-strides”            <a href="/usr/share/gtk-doc/html/gobjectgobject-Value-arrays.html#GValueArray"><span class="type">GValueArray</span></a> *</pre>
+<p>Strides of the planets in bytes.</p>
+<p>Flags: Read / Write</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawVideoParse--top-field-first"></a><h3>The <code class="literal">“top-field-first”</code> property</h3>
+<pre class="programlisting">  “top-field-first”          <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>True if top field in frames in raw stream come first (not used if frames aren't interlaced).</p>
+<p>Flags: Read / Write</p>
+<p>Default value: FALSE</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GstRawVideoParse--width"></a><h3>The <code class="literal">“width”</code> property</h3>
+<pre class="programlisting">  “width”                    <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gint"><span class="type">gint</span></a></pre>
+<p>Width of frames in raw stream.</p>
+<p>Flags: Read / Write</p>
+<p>Allowed values: &gt;= 0</p>
+<p>Default value: 320</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html
index a1d31f2..eb5f0cb 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rfbsrc.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
-<link rel="prev" href="gst-plugins-bad-plugins-pinch.html" title="pinch">
+<link rel="prev" href="gst-plugins-bad-plugins-rawvideoparse.html" title="rawvideoparse">
 <link rel="next" href="gst-plugins-bad-plugins-rtmpsink.html" title="rtmpsink">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -21,7 +21,7 @@
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-plugins-pinch.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-rawvideoparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-bad-plugins-rtmpsink.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -137,7 +137,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.59.7.2.1"></a><h3>Element Information</h3>
+<a name="id-1.2.108.7.2.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -163,7 +163,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.59.7.2.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.108.7.2.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
index 653803c..72e8b15 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsink.html
@@ -87,7 +87,7 @@
 for librtmp, such as 'flashver=version'. See the librtmp documentation
 for more detail</p>
 <div class="refsect2">
-<a name="id-1.2.60.8.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.109.8.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -103,7 +103,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.60.8.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.109.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -129,7 +129,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.60.8.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.109.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
index 93c49d3..d43e9da 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-rtmpsrc.html
@@ -93,7 +93,7 @@
 by an URI. This location can be specified using any protocol supported by
 the RTMP library, i.e. rtmp, rtmpt, rtmps, rtmpe, rtmfp, rtmpte and rtmpts.</p>
 <div class="refsect2">
-<a name="id-1.2.61.8.3"></a><h3>Example launch lines</h3>
+<a name="id-1.2.110.8.3"></a><h3>Example launch lines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -109,7 +109,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.61.8.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.110.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -135,7 +135,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.61.8.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.110.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html b/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
index 88aac0c..349fe2d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-sdpdemux.html
@@ -108,7 +108,7 @@
 <p>sdpdemux acts like a live element and will therefore only generate data in the 
 PLAYING state.</p>
 <div class="refsect2">
-<a name="id-1.2.64.8.5"></a><h3>Example launch line</h3>
+<a name="id-1.2.113.8.5"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -125,7 +125,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.64.8.6.1"></a><h3>Element Information</h3>
+<a name="id-1.2.113.8.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -151,7 +151,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.64.8.6.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.113.8.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html b/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
index 3021921..6731357 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-shmsink.html
@@ -121,7 +121,7 @@
 <a name="gst-plugins-bad-plugins-shmsink.description"></a><h2>Description</h2>
 <p>Send data over shared memory to the matching source.</p>
 <div class="refsect2">
-<a name="id-1.2.62.8.3"></a><h3>Example launch lines</h3>
+<a name="id-1.2.111.8.3"></a><h3>Example launch lines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -137,7 +137,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.62.8.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.111.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -163,7 +163,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.62.8.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.111.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html b/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
index 3779d7d..51a963d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-shmsrc.html
@@ -90,7 +90,7 @@
 <a name="gst-plugins-bad-plugins-shmsrc.description"></a><h2>Description</h2>
 <p>Receive data from the shared memory sink.</p>
 <div class="refsect2">
-<a name="id-1.2.63.7.3"></a><h3>Example launch lines</h3>
+<a name="id-1.2.112.7.3"></a><h3>Example launch lines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -110,7 +110,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.63.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.112.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -136,7 +136,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.63.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.112.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-solarize.html b/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
index 68e1283..4921938 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-solarize.html
@@ -93,7 +93,7 @@
 <a name="gst-plugins-bad-plugins-solarize.description"></a><h2>Description</h2>
 <p>Solarize does a smart inverse in a video stream in realtime.</p>
 <div class="refsect2">
-<a name="id-1.2.65.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.114.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -109,7 +109,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.65.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.114.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -135,7 +135,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.65.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.114.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html b/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
index a6f590f..324dfc3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-spacescope.html
@@ -76,7 +76,7 @@
 <p>Spacescope is a simple audio visualisation element. It maps the left and
 right channel to x and y coordinates.</p>
 <div class="refsect2">
-<a name="id-1.2.66.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.115.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.66.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.115.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -118,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.66.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.115.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html b/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
index a8f954d..9e61ec3 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-spectrascope.html
@@ -60,7 +60,7 @@
 <p>Spectrascope is a simple spectrum visualisation element. It renders the
 frequency spectrum as a series of bars.</p>
 <div class="refsect2">
-<a name="id-1.2.67.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.116.6.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -76,7 +76,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.67.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.116.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -102,7 +102,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.67.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.116.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-speed.html b/docs/plugins/html/gst-plugins-bad-plugins-speed.html
index e99cf76..d702c0c 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-speed.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-speed.html
@@ -78,7 +78,7 @@
 element (but relies on the decoder/demuxer to handle this correctly, also
 requires a fairly up-to-date gst-plugins-base, as of February 2007).</p>
 <div class="refsect2">
-<a name="id-1.2.69.7.4"></a><h3>Example launch line</h3>
+<a name="id-1.2.118.7.4"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.69.7.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.118.7.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,7 +120,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.69.7.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.118.7.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-sphere.html b/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
index 870d652..7286e3b 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-sphere.html
@@ -78,7 +78,7 @@
 <a name="gst-plugins-bad-plugins-sphere.description"></a><h2>Description</h2>
 <p>The sphere element applies a 'sphere' geometric transform to the image.</p>
 <div class="refsect2">
-<a name="id-1.2.70.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.119.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.70.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.119.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,7 +120,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.70.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.119.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-square.html b/docs/plugins/html/gst-plugins-bad-plugins-square.html
index 96e6026..e499746 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-square.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-square.html
@@ -89,7 +89,7 @@
 <a name="gst-plugins-bad-plugins-square.description"></a><h2>Description</h2>
 <p>The square element distorts the center part of the image into a square.</p>
 <div class="refsect2">
-<a name="id-1.2.71.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.120.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -105,7 +105,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.71.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.120.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -131,7 +131,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.71.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.120.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-stretch.html b/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
index 72faba4..e81cd5f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-stretch.html
@@ -78,7 +78,7 @@
 <a name="gst-plugins-bad-plugins-stretch.description"></a><h2>Description</h2>
 <p>The stretch element stretches the image in a circle around the center point.</p>
 <div class="refsect2">
-<a name="id-1.2.72.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.121.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.72.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.121.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,7 +120,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.72.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.121.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html b/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
index f5dbbc6..c937736 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-synaescope.html
@@ -60,7 +60,7 @@
 <p>Synaescope is an audio visualisation element. It analyzes frequencies and
 out-of phase properties of audio and draws this as clouds of stars.</p>
 <div class="refsect2">
-<a name="id-1.2.68.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.117.6.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -76,7 +76,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.68.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.117.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -102,7 +102,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.68.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.117.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html b/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
index 64c6956..f6644dc 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-templatematch.html
@@ -90,7 +90,7 @@
 <a name="gst-plugins-bad-plugins-templatematch.description"></a><h2>Description</h2>
 <p>Performs template matching on videos and images, providing detected positions via bus messages.</p>
 <div class="refsect2">
-<a name="id-1.2.73.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.122.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -106,7 +106,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.73.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.122.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -132,7 +132,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.73.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.122.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html b/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
index 53a75bf..f8d39b6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-tunnel.html
@@ -63,7 +63,7 @@
 <p>Tunnel is a geometric image transform element. It applies a light tunnel
 effect.</p>
 <div class="refsect2">
-<a name="id-1.2.75.6.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.124.6.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -79,7 +79,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.75.6.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.124.6.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -105,7 +105,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.75.6.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.124.6.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-twirl.html b/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
index 6eb025a..375cb1d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-twirl.html
@@ -7,7 +7,7 @@
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
 <link rel="prev" href="gst-plugins-bad-plugins-tunnel.html" title="tunnel">
-<link rel="next" href="gst-plugins-bad-plugins-videoparse.html" title="videoparse">
+<link rel="next" href="gst-plugins-bad-plugins-unalignedaudioparse.html" title="unalignedaudioparse">
 <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-bad-plugins-tunnel.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
-<td><a accesskey="n" href="gst-plugins-bad-plugins-videoparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-unalignedaudioparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
 <a name="gst-plugins-bad-plugins-twirl"></a><div class="titlepage"></div>
@@ -78,7 +78,7 @@
 <a name="gst-plugins-bad-plugins-twirl.description"></a><h2>Description</h2>
 <p>The twirl element twists the image from the center out.</p>
 <div class="refsect2">
-<a name="id-1.2.76.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.125.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -94,7 +94,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.76.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.125.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -120,7 +120,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.76.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.125.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-unalignedaudioparse.html b/docs/plugins/html/gst-plugins-bad-plugins-unalignedaudioparse.html
new file mode 100644
index 0000000..5cd72e3
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-unalignedaudioparse.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>unalignedaudioparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-twirl.html" title="twirl">
+<link rel="next" href="gst-plugins-bad-plugins-unalignedvideoparse.html" title="unalignedvideoparse">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-unalignedaudioparse.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-unalignedaudioparse.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-unalignedaudioparse.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-twirl.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-unalignedvideoparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-unalignedaudioparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-unalignedaudioparse.top_of_page"></a>unalignedaudioparse</span></h2>
+<p>unalignedaudioparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<a name="GstUnalignedAudioParse"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedaudioparse.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>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-unalignedaudioparse.html#GstUnalignedAudioParse-struct" title="GstUnalignedAudioParse">GstUnalignedAudioParse</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedaudioparse.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#GstBin-struct">GstBin</a>
+                    <span class="lineart">╰──</span> GstUnalignedAudioParse
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedaudioparse.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstUnalignedAudioParse implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedaudioparse.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.126.7.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-rawparse.html#plugin-rawparse">rawparse</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Carlos Rafael Giani &lt;dv@pseudoterminal.org&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Parser/Bin/Audio</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.126.7.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>audio/x-unaligned-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>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>audio/x-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>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedaudioparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedaudioparse.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstUnalignedAudioParse-struct"></a><h3>GstUnalignedAudioParse</h3>
+<pre class="programlisting">typedef struct _GstUnalignedAudioParse GstUnalignedAudioParse;</pre>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-unalignedvideoparse.html b/docs/plugins/html/gst-plugins-bad-plugins-unalignedvideoparse.html
new file mode 100644
index 0000000..11f0152
--- /dev/null
+++ b/docs/plugins/html/gst-plugins-bad-plugins-unalignedvideoparse.html
@@ -0,0 +1,163 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>unalignedvideoparse: GStreamer Bad Plugins 1.0 Plugins Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
+<link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
+<link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
+<link rel="prev" href="gst-plugins-bad-plugins-unalignedaudioparse.html" title="unalignedaudioparse">
+<link rel="next" href="gst-plugins-bad-plugins-videoparse.html" title="videoparse">
+<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">
+<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-unalignedvideoparse.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-unalignedvideoparse.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-unalignedvideoparse.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span>
+</td>
+<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
+<td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-unalignedaudioparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="n" href="gst-plugins-bad-plugins-videoparse.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="refentry">
+<a name="gst-plugins-bad-plugins-unalignedvideoparse"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="gst-plugins-bad-plugins-unalignedvideoparse.top_of_page"></a>unalignedvideoparse</span></h2>
+<p>unalignedvideoparse</p>
+</td>
+<td class="gallery_image" valign="top" align="right"></td>
+</tr></table></div>
+<a name="GstUnalignedVideoParse"></a><div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedvideoparse.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>
+<td class="datatype_keyword"> </td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-unalignedvideoparse.html#GstUnalignedVideoParse-struct" title="GstUnalignedVideoParse">GstUnalignedVideoParse</a></td>
+</tr></tbody>
+</table></div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedvideoparse.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#GstBin-struct">GstBin</a>
+                    <span class="lineart">╰──</span> GstUnalignedVideoParse
+</pre>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedvideoparse.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstUnalignedVideoParse implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedvideoparse.description"></a><h2>Description</h2>
+<div class="refsynopsisdiv">
+<h2>Synopsis</h2>
+<div class="refsect2">
+<a name="id-1.2.127.7.2.1"></a><h3>Element Information</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">plugin</span></p></td>
+<td>
+            <a class="link" href="gst-plugins-bad-plugins-plugin-rawparse.html#plugin-rawparse">rawparse</a>
+          </td>
+</tr>
+<tr>
+<td><p><span class="term">author</span></p></td>
+<td>Carlos Rafael Giani &lt;dv@pseudoterminal.org&gt;</td>
+</tr>
+<tr>
+<td><p><span class="term">class</span></p></td>
+<td>Codec/Parser/Bin/Video</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="id-1.2.127.7.2.2"></a><h3>Element Pads</h3>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>sink</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>video/x-unaligned-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>
+</tbody>
+</table></div>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term">name</span></p></td>
+<td>src</td>
+</tr>
+<tr>
+<td><p><span class="term">direction</span></p></td>
+<td>source</td>
+</tr>
+<tr>
+<td><p><span class="term">presence</span></p></td>
+<td>always</td>
+</tr>
+<tr>
+<td><p><span class="term">details</span></p></td>
+<td>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>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedvideoparse.functions_details"></a><h2>Functions</h2>
+<p></p>
+</div>
+<div class="refsect1">
+<a name="gst-plugins-bad-plugins-unalignedvideoparse.other_details"></a><h2>Types and Values</h2>
+<div class="refsect2">
+<a name="GstUnalignedVideoParse-struct"></a><h3>GstUnalignedVideoParse</h3>
+<pre class="programlisting">typedef struct _GstUnalignedVideoParse GstUnalignedVideoParse;</pre>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>Generated by GTK-Doc V1.25</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html b/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
index c7114ff..8538b5f 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-videoparse.html
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
 <link rel="home" href="index.html" title="GStreamer Bad Plugins 1.0 Plugins Reference Manual">
 <link rel="up" href="ch01.html" title="gst-plugins-bad Elements">
-<link rel="prev" href="gst-plugins-bad-plugins-twirl.html" title="twirl">
+<link rel="prev" href="gst-plugins-bad-plugins-unalignedvideoparse.html" title="unalignedvideoparse">
 <link rel="next" href="gst-plugins-bad-plugins-waterripple.html" title="waterripple">
 <meta name="generator" content="GTK-Doc V1.25 (XML mode)">
 <link rel="stylesheet" href="style.css" type="text/css">
@@ -16,12 +16,13 @@
 <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-bad-plugins-videoparse.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-videoparse.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-videoparse.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-videoparse.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-videoparse.properties" class="shortcut">Properties</a></span>
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
-<td><a accesskey="p" href="gst-plugins-bad-plugins-twirl.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
+<td><a accesskey="p" href="gst-plugins-bad-plugins-unalignedvideoparse.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
 <td><a accesskey="n" href="gst-plugins-bad-plugins-waterripple.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
 </tr></table>
 <div class="refentry">
@@ -151,17 +152,24 @@
     <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
         <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
             <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
-                <span class="lineart">╰──</span> GstRawParse
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBin.html#GstBin-struct">GstBin</a>
                     <span class="lineart">╰──</span> GstVideoParse
 </pre>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-videoparse.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
+<p>
+GstVideoParse implements
+ <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstChildProxy.html#GstChildProxy-struct">GstChildProxy</a>.</p>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-videoparse.description"></a><h2>Description</h2>
 <p>Converts a byte stream into video frames.</p>
+<div class="note">This element is deprecated. Use <a class="link" href="gst-plugins-bad-plugins-rawvideoparse.html#GstRawVideoParse"><span class="type">GstRawVideoParse</span></a> instead.</div>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.77.7.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.128.8.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -187,7 +195,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.77.7.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.128.8.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -234,10 +242,6 @@
 <td><p><span class="term">details</span></p></td>
 <td>video/x-raw</td>
 </tr>
-<tr>
-<td><p><span class="term"></span></p></td>
-<td> video/x-bayer</td>
-</tr>
 </tbody>
 </table></div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html b/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
index 81a9dcb..76f2201 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-voaacenc.html
@@ -83,7 +83,7 @@
 <p>AAC audio encoder based on vo-aacenc library </p>
 <a class="ulink" href="http://sourceforge.net/projects/opencore-amr/files/vo-aacenc/" target="_top">vo-aacenc library source file</a>.
 <div class="refsect2">
-<a name="id-1.2.80.8.4"></a><h3>Example launch line</h3>
+<a name="id-1.2.131.8.4"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -99,7 +99,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.80.8.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.131.8.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -125,7 +125,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.80.8.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.131.8.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html b/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
index ea54875..0a8e5a6 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-voamrwbenc.html
@@ -83,7 +83,7 @@
 <p>AMR wideband encoder based on the </p>
 <a class="ulink" href="http://www.penguin.cz/~utx/amr" target="_top">reference codec implementation</a>.
 <div class="refsect2">
-<a name="id-1.2.81.8.4"></a><h3>Example launch line</h3>
+<a name="id-1.2.132.8.4"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -101,7 +101,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.81.8.5.1"></a><h3>Element Information</h3>
+<a name="id-1.2.132.8.5.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -127,7 +127,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.81.8.5.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.132.8.5.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html b/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
index 1f52f73..4cabdf0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-waterripple.html
@@ -90,7 +90,7 @@
 <a name="gst-plugins-bad-plugins-waterripple.description"></a><h2>Description</h2>
 <p>The waterripple element creates a water ripple effect on the image.</p>
 <div class="refsect2">
-<a name="id-1.2.78.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.129.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -106,7 +106,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.78.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.129.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -132,7 +132,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.78.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.129.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html b/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
index fcbded3..2ab700d 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-wavescope.html
@@ -76,7 +76,7 @@
 <p>Wavescope is a simple audio visualisation element. It renders the waveforms
 like on an oscilloscope.</p>
 <div class="refsect2">
-<a name="id-1.2.82.7.3"></a><h3>Example launch line</h3>
+<a name="id-1.2.133.7.3"></a><h3>Example launch line</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -92,7 +92,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.82.7.4.1"></a><h3>Element Information</h3>
+<a name="id-1.2.133.7.4.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -118,7 +118,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.82.7.4.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.133.7.4.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-webrtcdsp.html b/docs/plugins/html/gst-plugins-bad-plugins-webrtcdsp.html
index 3640c08..96ddfc0 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-webrtcdsp.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-webrtcdsp.html
@@ -15,7 +15,8 @@
 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
 <td width="100%" align="left" class="shortcuts">
 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-webrtcdsp.description" class="shortcut">Description</a></span><span id="nav_properties">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-webrtcdsp.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-webrtcdsp.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                   <a href="#gst-plugins-bad-plugins-webrtcdsp.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>
@@ -87,10 +88,15 @@
 <td class="property_name"><a class="link" href="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--noise-suppression-level" title="The “noise-suppression-level” property">noise-suppression-level</a></td>
 <td class="property_flags">Read / Write / Construct</td>
 </tr>
+<tr>
+<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></td>
+<td class="property_name"><a class="link" href="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp--delay-agnostic" title="The “delay-agnostic” property">delay-agnostic</a></td>
+<td class="property_flags">Read / Write / Construct</td>
+</tr>
 </tbody>
 </table></div>
 </div>
-<div class="refsect1">
+<a name="GstWebrtcDsp"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-webrtcdsp.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -99,11 +105,22 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword"> </td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp" title="GstWebrtcDsp">GstWebrtcDsp</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-webrtcdsp.html#GstWebrtcDsp-struct" title="GstWebrtcDsp">GstWebrtcDsp</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-webrtcdsp.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilter-struct">GstAudioFilter</a>
+                        <span class="lineart">╰──</span> GstWebrtcDsp
+</pre>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-webrtcdsp.description"></a><h2>Description</h2>
 <p>A voice enhancement filter based on WebRTC Audio Processing library. This
 library provides a whide variety of enhancement algorithms. This element
@@ -123,7 +140,7 @@
 before the DSP sink pad is activated. It does not need to be in any
 particular state and does not even need to be added to the pipeline yet.</p>
 <div class="refsect2">
-<a name="id-1.2.83.5.5"></a><h3>Example launch line</h3>
+<a name="id-1.2.134.7.5"></a><h3>Example launch line</h3>
 <p>As a conveniance, the echo canceller can be tested using an echo loop. In
 this configuration, one would expect a single echo to be heard.</p>
 <div class="informalexample">
@@ -160,7 +177,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.83.5.6.1"></a><h3>Element Information</h3>
+<a name="id-1.2.134.7.6.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -186,7 +203,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.83.5.6.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.134.7.6.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -245,7 +262,7 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-webrtcdsp.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstWebrtcDsp"></a><h3>GstWebrtcDsp</h3>
+<a name="GstWebrtcDsp-struct"></a><h3>GstWebrtcDsp</h3>
 <pre class="programlisting">typedef struct _GstWebrtcDsp GstWebrtcDsp;</pre>
 </div>
 </div>
@@ -322,6 +339,14 @@
 <p>Flags: Read / Write / Construct</p>
 <p>Default value: Moderate Suppression</p>
 </div>
+<hr>
+<div class="refsect2">
+<a name="GstWebrtcDsp--delay-agnostic"></a><h3>The <code class="literal">“delay-agnostic”</code> property</h3>
+<pre class="programlisting">  “delay-agnostic”           <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a></pre>
+<p>Enable or disable the delay agnostic mode.</p>
+<p>Flags: Read / Write / Construct</p>
+<p>Default value: FALSE</p>
+</div>
 </div>
 </div>
 <div class="footer">
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-webrtcechoprobe.html b/docs/plugins/html/gst-plugins-bad-plugins-webrtcechoprobe.html
index 2b8d2f3..e1041d5 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-webrtcechoprobe.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-webrtcechoprobe.html
@@ -15,7 +15,8 @@
 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
 <td width="100%" align="left" class="shortcuts">
 <a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
-                  <a href="#gst-plugins-bad-plugins-webrtcechoprobe.description" class="shortcut">Description</a></span>
+                  <a href="#gst-plugins-bad-plugins-webrtcechoprobe.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
+                  <a href="#gst-plugins-bad-plugins-webrtcechoprobe.object-hierarchy" class="shortcut">Object Hierarchy</a></span>
 </td>
 <td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
 <td><a accesskey="u" href="ch01.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
@@ -31,7 +32,7 @@
 </td>
 <td class="gallery_image" valign="top" align="right"></td>
 </tr></table></div>
-<div class="refsect1">
+<a name="GstWebrtcEchoProbe"></a><div class="refsect1">
 <a name="gst-plugins-bad-plugins-webrtcechoprobe.other"></a><h2>Types and Values</h2>
 <div class="informaltable"><table class="informaltable" width="100%" border="0">
 <colgroup>
@@ -40,18 +41,29 @@
 </colgroup>
 <tbody><tr>
 <td class="datatype_keyword">struct</td>
-<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-webrtcechoprobe.html#GstWebrtcEchoProbe" title="struct GstWebrtcEchoProbe">GstWebrtcEchoProbe</a></td>
+<td class="function_name"><a class="link" href="gst-plugins-bad-plugins-webrtcechoprobe.html#GstWebrtcEchoProbe-struct" title="struct GstWebrtcEchoProbe">GstWebrtcEchoProbe</a></td>
 </tr></tbody>
 </table></div>
 </div>
 <div class="refsect1">
+<a name="gst-plugins-bad-plugins-webrtcechoprobe.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
+    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
+        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
+            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
+                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseTransform.html#GstBaseTransform-struct">GstBaseTransform</a>
+                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gst-plugins-base-libs-1.0gst-plugins-base-libs-gstaudiofilter.html#GstAudioFilter-struct">GstAudioFilter</a>
+                        <span class="lineart">╰──</span> GstWebrtcEchoProbe
+</pre>
+</div>
+<div class="refsect1">
 <a name="gst-plugins-bad-plugins-webrtcechoprobe.description"></a><h2>Description</h2>
 <p>This echo probe is to be used with the webrtcdsp element. See <a class="link" href="gst-plugins-bad-plugins-webrtcdsp.html" title="webrtcdsp"><span class="type">gst-plugins-bad-plugins-webrtcdsp</span></a>
 documentation for more details.</p>
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.84.4.3.1"></a><h3>Element Information</h3>
+<a name="id-1.2.135.6.3.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -77,7 +89,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.84.4.3.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.135.6.3.2"></a><h3>Element Pads</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -136,30 +148,8 @@
 <div class="refsect1">
 <a name="gst-plugins-bad-plugins-webrtcechoprobe.other_details"></a><h2>Types and Values</h2>
 <div class="refsect2">
-<a name="GstWebrtcEchoProbe"></a><h3>struct GstWebrtcEchoProbe</h3>
-<pre class="programlisting">struct GstWebrtcEchoProbe {
-  GstAudioFilter parent;
-
-  /* This lock is required as the DSP may need to lock itself using it's
-   * object lock and also lock the probe. The natural order for the DSP is
-   * to lock the DSP and then the echo probe. If we where using the probe
-   * object lock, we'd be racing with GstBin which will lock sink to src,
-   * and may accidently reverse the order. */
-  GMutex lock;
-
-  /* Protected by the lock */
-  GstAudioInfo info;
-  guint period_size;
-  GstClockTime latency;
-  gint delay;
-
-  GstSegment segment;
-  GstAdapter *adapter;
-
-  /* Private */
-  gboolean acquired;
-};
-</pre>
+<a name="GstWebrtcEchoProbe-struct"></a><h3>struct GstWebrtcEchoProbe</h3>
+<pre class="programlisting">struct GstWebrtcEchoProbe;</pre>
 <p>The adder object structure.</p>
 </div>
 </div>
diff --git a/docs/plugins/html/gst-plugins-bad-plugins-zbar.html b/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
index b9b70e8..134c3a1 100644
--- a/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
+++ b/docs/plugins/html/gst-plugins-bad-plugins-zbar.html
@@ -123,7 +123,7 @@
   </p></li>
 </ul></div>
 <div class="refsect2">
-<a name="id-1.2.79.7.7"></a><h3>Example launch lines</h3>
+<a name="id-1.2.130.7.7"></a><h3>Example launch lines</h3>
 <div class="informalexample">
   <table class="listing_frame" border="0" cellpadding="0" cellspacing="0">
     <tbody>
@@ -150,7 +150,7 @@
 <div class="refsynopsisdiv">
 <h2>Synopsis</h2>
 <div class="refsect2">
-<a name="id-1.2.79.7.8.1"></a><h3>Element Information</h3>
+<a name="id-1.2.130.7.8.1"></a><h3>Element Information</h3>
 <div class="variablelist"><table border="0" class="variablelist">
 <colgroup>
 <col align="left" valign="top">
@@ -176,7 +176,7 @@
 </div>
 <hr>
 <div class="refsect2">
-<a name="id-1.2.79.7.8.2"></a><h3>Element Pads</h3>
+<a name="id-1.2.130.7.8.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/home.png b/docs/plugins/html/home.png
index 9346b33..4bf6d92 100644
--- a/docs/plugins/html/home.png
+++ b/docs/plugins/html/home.png
Binary files differ
diff --git a/docs/plugins/html/index.html b/docs/plugins/html/index.html
index 5e5d60a..73d5145 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 Bad Plugins 1.0 Plugins Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for GStreamer Bad Plugins 1.0 (1.9.1)
+      for GStreamer Bad Plugins 1.0 (1.9.2)
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/" target="_top">http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad/html/</a>.
     </p></div>
@@ -44,6 +44,9 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-audiomixer.html">audiomixer</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-audioparse.html">audioparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-autoconvert.html">autoconvert</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
@@ -143,6 +146,144 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-gaussianblur.html">gaussianblur</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glcolorbalance.html">glcolorbalance</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glcolorconvert.html">glcolorconvert</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glcolorscale.html">glcolorscale</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gldeinterlace.html">gldeinterlace</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gldifferencematte.html">gldifferencematte</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gldownload.html">gldownload</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-blur.html">gleffects_blur</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-bulge.html">gleffects_bulge</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-fisheye.html">gleffects_fisheye</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-glow.html">gleffects_glow</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-heat.html">gleffects_heat</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-identity.html">gleffects_identity</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-laplacian.html">gleffects_laplacian</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-lumaxpro.html">gleffects_lumaxpro</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-mirror.html">gleffects_mirror</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-sepia.html">gleffects_sepia</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-sin.html">gleffects_sin</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-sobel.html">gleffects_sobel</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-square.html">gleffects_square</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-squeeze.html">gleffects_squeeze</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-stretch.html">gleffects_stretch</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-tunnel.html">gleffects_tunnel</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-twirl.html">gleffects_twirl</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects.html">gleffects</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-xpro.html">gleffects_xpro</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gleffects-xray.html">gleffects_xray</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glfilterapp.html">glfilterapp</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glfilterbin.html">glfilterbin</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glfiltercube.html">glfiltercube</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glfilterglass.html">glfilterglass</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glimagesinkelement.html">glimagesinkelement</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glimagesink.html">glimagesink</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glmixerbin.html">glmixerbin</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glmosaic.html">glmosaic</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gloverlay.html">gloverlay</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glshader.html">glshader</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glsinkbin.html">glsinkbin</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glsrcbin.html">glsrcbin</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glstereomix.html">glstereomix</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glstereosplit.html">glstereosplit</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gltestsrc.html">gltestsrc</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-gltransformation.html">gltransformation</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glupload.html">glupload</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glvideomixerelement.html">glvideomixerelement</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glvideomixer.html">glvideomixer</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-glviewconvert.html">glviewconvert</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-jpegparse.html">jpegparse</a></span><span class="refpurpose"> — JPEG parser</span>
 </dt>
 <dt>
@@ -197,6 +338,12 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-pinch.html">pinch</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-rawaudioparse.html">rawaudioparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-rawvideoparse.html">rawvideoparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-rfbsrc.html">rfbsrc</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
@@ -251,6 +398,12 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-twirl.html">twirl</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-unalignedaudioparse.html">unalignedaudioparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-unalignedvideoparse.html">unalignedvideoparse</a></span><span class="refpurpose"></span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-videoparse.html">videoparse</a></span><span class="refpurpose"></span>
 </dt>
 <dt>
@@ -377,6 +530,9 @@
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-openal.html">openal</a></span><span class="refpurpose"> — OpenAL plugin library</span>
 </dt>
 <dt>
+<span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opengl.html">opengl</a></span><span class="refpurpose"> — OpenGL plugin</span>
+</dt>
+<dt>
 <span class="refentrytitle"><a href="gst-plugins-bad-plugins-plugin-opencv.html">opencv</a></span><span class="refpurpose"> — GStreamer OpenCV Plugins</span>
 </dt>
 <dt>
diff --git a/docs/plugins/html/left-insensitive.png b/docs/plugins/html/left-insensitive.png
index 3269393..82cba0a 100644
--- a/docs/plugins/html/left-insensitive.png
+++ b/docs/plugins/html/left-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/left.png b/docs/plugins/html/left.png
index 2abde03..8444ec0 100644
--- a/docs/plugins/html/left.png
+++ b/docs/plugins/html/left.png
Binary files differ
diff --git a/docs/plugins/html/right-insensitive.png b/docs/plugins/html/right-insensitive.png
index 4c95785..7a90b99 100644
--- a/docs/plugins/html/right-insensitive.png
+++ b/docs/plugins/html/right-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/right.png b/docs/plugins/html/right.png
index 76260ec..55f3359 100644
--- a/docs/plugins/html/right.png
+++ b/docs/plugins/html/right.png
Binary files differ
diff --git a/docs/plugins/html/up-insensitive.png b/docs/plugins/html/up-insensitive.png
index f404986..fdb8cc7 100644
--- a/docs/plugins/html/up-insensitive.png
+++ b/docs/plugins/html/up-insensitive.png
Binary files differ
diff --git a/docs/plugins/html/up.png b/docs/plugins/html/up.png
index 80b4b37..c1aad52 100644
--- a/docs/plugins/html/up.png
+++ b/docs/plugins/html/up.png
Binary files differ
diff --git a/docs/plugins/inspect/plugin-accurip.xml b/docs/plugins/inspect/plugin-accurip.xml
index 56f50b1..7ddb8f7 100644
--- a/docs/plugins/inspect/plugin-accurip.xml
+++ b/docs/plugins/inspect/plugin-accurip.xml
@@ -3,7 +3,7 @@
   <description>Computes an AccurateRip CRC</description>
   <filename>../../gst/accurip/.libs/libgstaccurip.so</filename>
   <basename>libgstaccurip.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-adpcmdec.xml b/docs/plugins/inspect/plugin-adpcmdec.xml
index 4ceacf3..5b90808 100644
--- a/docs/plugins/inspect/plugin-adpcmdec.xml
+++ b/docs/plugins/inspect/plugin-adpcmdec.xml
@@ -3,7 +3,7 @@
   <description>ADPCM decoder</description>
   <filename>../../gst/adpcmdec/.libs/libgstadpcmdec.so</filename>
   <basename>libgstadpcmdec.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-adpcmenc.xml b/docs/plugins/inspect/plugin-adpcmenc.xml
index ded555d..f4cb654 100644
--- a/docs/plugins/inspect/plugin-adpcmenc.xml
+++ b/docs/plugins/inspect/plugin-adpcmenc.xml
@@ -3,7 +3,7 @@
   <description>ADPCM encoder</description>
   <filename>../../gst/adpcmenc/.libs/libgstadpcmenc.so</filename>
   <basename>libgstadpcmenc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-aiff.xml b/docs/plugins/inspect/plugin-aiff.xml
index 7e23d08..c48b3cc 100644
--- a/docs/plugins/inspect/plugin-aiff.xml
+++ b/docs/plugins/inspect/plugin-aiff.xml
@@ -3,7 +3,7 @@
   <description>Create and parse Audio Interchange File Format (AIFF) files</description>
   <filename>../../gst/aiff/.libs/libgstaiff.so</filename>
   <basename>libgstaiff.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-asfmux.xml b/docs/plugins/inspect/plugin-asfmux.xml
index 5a4225e..e827d14 100644
--- a/docs/plugins/inspect/plugin-asfmux.xml
+++ b/docs/plugins/inspect/plugin-asfmux.xml
@@ -3,7 +3,7 @@
   <description>ASF Muxer Plugin</description>
   <filename>../../gst/asfmux/.libs/libgstasfmux.so</filename>
   <basename>libgstasfmux.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-assrender.xml b/docs/plugins/inspect/plugin-assrender.xml
index a5bac02..a8528b8 100644
--- a/docs/plugins/inspect/plugin-assrender.xml
+++ b/docs/plugins/inspect/plugin-assrender.xml
@@ -3,7 +3,7 @@
   <description>ASS/SSA subtitle renderer</description>
   <filename>../../ext/assrender/.libs/libgstassrender.so</filename>
   <basename>libgstassrender.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiofxbad.xml b/docs/plugins/inspect/plugin-audiofxbad.xml
index 1752981..341befe 100644
--- a/docs/plugins/inspect/plugin-audiofxbad.xml
+++ b/docs/plugins/inspect/plugin-audiofxbad.xml
@@ -3,7 +3,7 @@
   <description>Audio filters from gst-plugins-bad</description>
   <filename>../../gst/audiofxbad/.libs/libgstaudiofxbad.so</filename>
   <basename>libgstaudiofxbad.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-audiomixer.xml b/docs/plugins/inspect/plugin-audiomixer.xml
index 1c6bdf8..397e8c5 100644
--- a/docs/plugins/inspect/plugin-audiomixer.xml
+++ b/docs/plugins/inspect/plugin-audiomixer.xml
@@ -3,7 +3,7 @@
   <description>Mixes multiple audio streams</description>
   <filename>../../gst/audiomixer/.libs/libgstaudiomixer.so</filename>
   <basename>libgstaudiomixer.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-audiovisualizers.xml b/docs/plugins/inspect/plugin-audiovisualizers.xml
index 16915a4..e03e133 100644
--- a/docs/plugins/inspect/plugin-audiovisualizers.xml
+++ b/docs/plugins/inspect/plugin-audiovisualizers.xml
@@ -3,7 +3,7 @@
   <description>Creates video visualizations of audio input</description>
   <filename>../../gst/audiovisualizers/.libs/libgstaudiovisualizers.so</filename>
   <basename>libgstaudiovisualizers.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-autoconvert.xml b/docs/plugins/inspect/plugin-autoconvert.xml
index 0ee28c9..655521b 100644
--- a/docs/plugins/inspect/plugin-autoconvert.xml
+++ b/docs/plugins/inspect/plugin-autoconvert.xml
@@ -3,7 +3,7 @@
   <description>Selects convertor element based on caps</description>
   <filename>../../gst/autoconvert/.libs/libgstautoconvert.so</filename>
   <basename>libgstautoconvert.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-bayer.xml b/docs/plugins/inspect/plugin-bayer.xml
index 10b40fb..106ace6 100644
--- a/docs/plugins/inspect/plugin-bayer.xml
+++ b/docs/plugins/inspect/plugin-bayer.xml
@@ -3,7 +3,7 @@
   <description>Elements to convert Bayer images</description>
   <filename>../../gst/bayer/.libs/libgstbayer.so</filename>
   <basename>libgstbayer.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-bluez.xml b/docs/plugins/inspect/plugin-bluez.xml
index b469113..c58cfc7 100644
--- a/docs/plugins/inspect/plugin-bluez.xml
+++ b/docs/plugins/inspect/plugin-bluez.xml
@@ -3,7 +3,7 @@
   <description>Bluez-based bluetooth support</description>
   <filename>../../sys/bluez/.libs/libgstbluez.so</filename>
   <basename>libgstbluez.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-bs2b.xml b/docs/plugins/inspect/plugin-bs2b.xml
index 79783b2..9dc835e 100644
--- a/docs/plugins/inspect/plugin-bs2b.xml
+++ b/docs/plugins/inspect/plugin-bs2b.xml
@@ -3,7 +3,7 @@
   <description>Improve headphone listening of stereo audio recordsusing the bs2b library.</description>
   <filename>../../ext/bs2b/.libs/libgstbs2b.so</filename>
   <basename>libgstbs2b.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-bz2.xml b/docs/plugins/inspect/plugin-bz2.xml
index 5c74efe..243905a 100644
--- a/docs/plugins/inspect/plugin-bz2.xml
+++ b/docs/plugins/inspect/plugin-bz2.xml
@@ -3,7 +3,7 @@
   <description>Compress or decompress streams</description>
   <filename>../../ext/bz2/.libs/libgstbz2.so</filename>
   <basename>libgstbz2.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-camerabin.xml b/docs/plugins/inspect/plugin-camerabin.xml
index 69afef5..a8c43e4 100644
--- a/docs/plugins/inspect/plugin-camerabin.xml
+++ b/docs/plugins/inspect/plugin-camerabin.xml
@@ -3,7 +3,7 @@
   <description>Take image snapshots and record movies from camera</description>
   <filename>../../gst/camerabin2/.libs/libgstcamerabin2.so</filename>
   <basename>libgstcamerabin2.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-chromaprint.xml b/docs/plugins/inspect/plugin-chromaprint.xml
index 7c0e151..29323fe 100644
--- a/docs/plugins/inspect/plugin-chromaprint.xml
+++ b/docs/plugins/inspect/plugin-chromaprint.xml
@@ -3,7 +3,7 @@
   <description>Calculate Chromaprint fingerprint from audio files</description>
   <filename>../../ext/chromaprint/.libs/libgstchromaprint.so</filename>
   <basename>libgstchromaprint.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-coloreffects.xml b/docs/plugins/inspect/plugin-coloreffects.xml
index ea66574..1cdf82b 100644
--- a/docs/plugins/inspect/plugin-coloreffects.xml
+++ b/docs/plugins/inspect/plugin-coloreffects.xml
@@ -3,7 +3,7 @@
   <description>Color Look-up Table filters</description>
   <filename>../../gst/coloreffects/.libs/libgstcoloreffects.so</filename>
   <basename>libgstcoloreffects.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-compositor.xml b/docs/plugins/inspect/plugin-compositor.xml
index cc022ad..d887684 100644
--- a/docs/plugins/inspect/plugin-compositor.xml
+++ b/docs/plugins/inspect/plugin-compositor.xml
@@ -3,7 +3,7 @@
   <description>Compositor</description>
   <filename>../../gst/compositor/.libs/libgstcompositor.so</filename>
   <basename>libgstcompositor.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-curl.xml b/docs/plugins/inspect/plugin-curl.xml
index 2c0156f..e51fc42 100644
--- a/docs/plugins/inspect/plugin-curl.xml
+++ b/docs/plugins/inspect/plugin-curl.xml
@@ -3,7 +3,7 @@
   <description>libcurl-based elements</description>
   <filename>../../ext/curl/.libs/libgstcurl.so</filename>
   <basename>libgstcurl.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dashdemux.xml b/docs/plugins/inspect/plugin-dashdemux.xml
index 7ef13c1..a5e1a28 100644
--- a/docs/plugins/inspect/plugin-dashdemux.xml
+++ b/docs/plugins/inspect/plugin-dashdemux.xml
@@ -3,7 +3,7 @@
   <description>DASH demuxer plugin</description>
   <filename>../../ext/dash/.libs/libgstdashdemux.so</filename>
   <basename>libgstdashdemux.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-dataurisrc.xml b/docs/plugins/inspect/plugin-dataurisrc.xml
index 6de40ea..6af3682 100644
--- a/docs/plugins/inspect/plugin-dataurisrc.xml
+++ b/docs/plugins/inspect/plugin-dataurisrc.xml
@@ -3,7 +3,7 @@
   <description>data: URI source</description>
   <filename>../../gst/dataurisrc/.libs/libgstdataurisrc.so</filename>
   <basename>libgstdataurisrc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dc1394.xml b/docs/plugins/inspect/plugin-dc1394.xml
index 32e586b..42b8f0e 100644
--- a/docs/plugins/inspect/plugin-dc1394.xml
+++ b/docs/plugins/inspect/plugin-dc1394.xml
@@ -3,7 +3,7 @@
   <description>1394 IIDC video source</description>
   <filename>../../ext/dc1394/.libs/libgstdc1394.so</filename>
   <basename>libgstdc1394.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-debugutilsbad.xml b/docs/plugins/inspect/plugin-debugutilsbad.xml
index f34e4d2..491f729 100644
--- a/docs/plugins/inspect/plugin-debugutilsbad.xml
+++ b/docs/plugins/inspect/plugin-debugutilsbad.xml
@@ -3,7 +3,7 @@
   <description>Collection of elements that may or may not be useful for debugging</description>
   <filename>../../gst/debugutils/.libs/libgstdebugutilsbad.so</filename>
   <basename>libgstdebugutilsbad.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-decklink.xml b/docs/plugins/inspect/plugin-decklink.xml
index 142bfab..db3a890 100644
--- a/docs/plugins/inspect/plugin-decklink.xml
+++ b/docs/plugins/inspect/plugin-decklink.xml
@@ -3,7 +3,7 @@
   <description>Blackmagic Decklink plugin</description>
   <filename>../../sys/decklink/.libs/libgstdecklink.so</filename>
   <basename>libgstdecklink.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
@@ -20,7 +20,7 @@
           <name>sink</name>
           <direction>sink</direction>
           <presence>always</presence>
-          <details>audio/x-raw, format=(string){ S16LE, S32LE }, channels=(int)2, rate=(int)48000, layout=(string)interleaved</details>
+          <details>audio/x-raw, format=(string){ S16LE, S32LE }, channels=(int){ 2, 8, 16 }, rate=(int)48000, layout=(string)interleaved</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-dfbvideosink.xml b/docs/plugins/inspect/plugin-dfbvideosink.xml
index cc5f7bd..6afaee5 100644
--- a/docs/plugins/inspect/plugin-dfbvideosink.xml
+++ b/docs/plugins/inspect/plugin-dfbvideosink.xml
@@ -3,7 +3,7 @@
   <description>DirectFB video output plugin</description>
   <filename>../../ext/directfb/.libs/libgstdfbvideosink.so</filename>
   <basename>libgstdfbvideosink.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dtls.xml b/docs/plugins/inspect/plugin-dtls.xml
index f5842d9..98e2ce3 100644
--- a/docs/plugins/inspect/plugin-dtls.xml
+++ b/docs/plugins/inspect/plugin-dtls.xml
@@ -3,7 +3,7 @@
   <description>DTLS decoder and encoder plugins</description>
   <filename>../../ext/dtls/.libs/libgstdtls.so</filename>
   <basename>libgstdtls.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>BSD</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dtsdec.xml b/docs/plugins/inspect/plugin-dtsdec.xml
index b39558a..de9c4b3 100644
--- a/docs/plugins/inspect/plugin-dtsdec.xml
+++ b/docs/plugins/inspect/plugin-dtsdec.xml
@@ -3,7 +3,7 @@
   <description>Decodes DTS audio streams</description>
   <filename>../../ext/dts/.libs/libgstdtsdec.so</filename>
   <basename>libgstdtsdec.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvb.xml b/docs/plugins/inspect/plugin-dvb.xml
index 3a6781f..9661f22 100644
--- a/docs/plugins/inspect/plugin-dvb.xml
+++ b/docs/plugins/inspect/plugin-dvb.xml
@@ -3,7 +3,7 @@
   <description>DVB elements</description>
   <filename>../../sys/dvb/.libs/libgstdvb.so</filename>
   <basename>libgstdvb.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvbsuboverlay.xml b/docs/plugins/inspect/plugin-dvbsuboverlay.xml
index 95e88f8..53229eb 100644
--- a/docs/plugins/inspect/plugin-dvbsuboverlay.xml
+++ b/docs/plugins/inspect/plugin-dvbsuboverlay.xml
@@ -3,7 +3,7 @@
   <description>DVB subtitle renderer</description>
   <filename>../../gst/dvbsuboverlay/.libs/libgstdvbsuboverlay.so</filename>
   <basename>libgstdvbsuboverlay.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-dvdspu.xml b/docs/plugins/inspect/plugin-dvdspu.xml
index b283882..ef71302 100644
--- a/docs/plugins/inspect/plugin-dvdspu.xml
+++ b/docs/plugins/inspect/plugin-dvdspu.xml
@@ -3,7 +3,7 @@
   <description>DVD Sub-picture Overlay element</description>
   <filename>../../gst/dvdspu/.libs/libgstdvdspu.so</filename>
   <basename>libgstdvdspu.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-faac.xml b/docs/plugins/inspect/plugin-faac.xml
index 0ab3a8f..5fe33e3 100644
--- a/docs/plugins/inspect/plugin-faac.xml
+++ b/docs/plugins/inspect/plugin-faac.xml
@@ -3,7 +3,7 @@
   <description>Free AAC Encoder (FAAC)</description>
   <filename>../../ext/faac/.libs/libgstfaac.so</filename>
   <basename>libgstfaac.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-faad.xml b/docs/plugins/inspect/plugin-faad.xml
index c0d8e7f..f7c5718 100644
--- a/docs/plugins/inspect/plugin-faad.xml
+++ b/docs/plugins/inspect/plugin-faad.xml
@@ -3,7 +3,7 @@
   <description>Free AAC Decoder (FAAD)</description>
   <filename>../../ext/faad/.libs/libgstfaad.so</filename>
   <basename>libgstfaad.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-fbdevsink.xml b/docs/plugins/inspect/plugin-fbdevsink.xml
index f72f555..ffb16d8 100644
--- a/docs/plugins/inspect/plugin-fbdevsink.xml
+++ b/docs/plugins/inspect/plugin-fbdevsink.xml
@@ -3,7 +3,7 @@
   <description>Linux framebuffer video sink</description>
   <filename>../../sys/fbdev/.libs/libgstfbdevsink.so</filename>
   <basename>libgstfbdevsink.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-fdkaac.xml b/docs/plugins/inspect/plugin-fdkaac.xml
new file mode 100644
index 0000000..6756a71
--- /dev/null
+++ b/docs/plugins/inspect/plugin-fdkaac.xml
@@ -0,0 +1,55 @@
+<plugin>
+  <name>fdkaac</name>
+  <description>Fraunhofer FDK AAC Codec plugin</description>
+  <filename>../../ext/fdkaac/.libs/libgstfdkaac.so</filename>
+  <basename>libgstfdkaac.so</basename>
+  <version>1.9.2</version>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins source release</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>fdkaacdec</name>
+      <longname>FDK AAC audio decoder</longname>
+      <class>Codec/Decoder/Audio</class>
+      <description>FDK AAC audio decoder</description>
+      <author>Sebastian Dröge &lt;sebastian@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/mpeg, mpegversion=(int)4, stream-format=(string){ adts, adif, raw }</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)[ 8000, 96000 ], channels=(int)[ 1, 8 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>fdkaacenc</name>
+      <longname>FDK AAC audio encoder</longname>
+      <class>Codec/Encoder/Audio</class>
+      <description>FDK AAC audio encoder</description>
+      <author>Sebastian Dröge &lt;sebastian@centricular.com&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 }, channels=(int){ 1, 2, 3, 4, 5, 6, 8 }</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/mpeg, mpegversion=(int){ 2, 4 }, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 64000, 88200, 96000 }, channels=(int){ 1, 2, 3, 4, 5, 6, 8 }, stream-format=(string){ adts, adif, raw }, base-profile=(string)lc</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-festival.xml b/docs/plugins/inspect/plugin-festival.xml
index bdeb837..d7cf81a 100644
--- a/docs/plugins/inspect/plugin-festival.xml
+++ b/docs/plugins/inspect/plugin-festival.xml
@@ -3,7 +3,7 @@
   <description>Synthesizes plain text into audio</description>
   <filename>../../gst/festival/.libs/libgstfestival.so</filename>
   <basename>libgstfestival.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-fieldanalysis.xml b/docs/plugins/inspect/plugin-fieldanalysis.xml
index 188a6c7..08090f2 100644
--- a/docs/plugins/inspect/plugin-fieldanalysis.xml
+++ b/docs/plugins/inspect/plugin-fieldanalysis.xml
@@ -3,7 +3,7 @@
   <description>Video field analysis</description>
   <filename>../../gst/fieldanalysis/.libs/libgstfieldanalysis.so</filename>
   <basename>libgstfieldanalysis.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-flite.xml b/docs/plugins/inspect/plugin-flite.xml
index 9a70857..9cdf30f 100644
--- a/docs/plugins/inspect/plugin-flite.xml
+++ b/docs/plugins/inspect/plugin-flite.xml
@@ -3,7 +3,7 @@
   <description>Flite speech synthesizer plugin</description>
   <filename>../../ext/flite/.libs/libgstflite.so</filename>
   <basename>libgstflite.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-fluidsynthmidi.xml b/docs/plugins/inspect/plugin-fluidsynthmidi.xml
index d4e84ab..737985c 100644
--- a/docs/plugins/inspect/plugin-fluidsynthmidi.xml
+++ b/docs/plugins/inspect/plugin-fluidsynthmidi.xml
@@ -3,7 +3,7 @@
   <description>Fluidsynth MIDI Plugin</description>
   <filename>../../ext/fluidsynth/.libs/libgstfluidsynthmidi.so</filename>
   <basename>libgstfluidsynthmidi.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-freeverb.xml b/docs/plugins/inspect/plugin-freeverb.xml
index 27409e7..9551905 100644
--- a/docs/plugins/inspect/plugin-freeverb.xml
+++ b/docs/plugins/inspect/plugin-freeverb.xml
@@ -3,7 +3,7 @@
   <description>Reverberation/room effect</description>
   <filename>../../gst/freeverb/.libs/libgstfreeverb.so</filename>
   <basename>libgstfreeverb.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-frei0r.xml b/docs/plugins/inspect/plugin-frei0r.xml
index 13235da..93f9868 100644
--- a/docs/plugins/inspect/plugin-frei0r.xml
+++ b/docs/plugins/inspect/plugin-frei0r.xml
@@ -3,7 +3,7 @@
   <description>frei0r plugin library</description>
   <filename>../../gst/frei0r/.libs/libgstfrei0r.so</filename>
   <basename>libgstfrei0r.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gaudieffects.xml b/docs/plugins/inspect/plugin-gaudieffects.xml
index af26824..358f3c8 100644
--- a/docs/plugins/inspect/plugin-gaudieffects.xml
+++ b/docs/plugins/inspect/plugin-gaudieffects.xml
@@ -3,7 +3,7 @@
   <description>Gaudi video effects.</description>
   <filename>../../gst/gaudieffects/.libs/libgstgaudieffects.so</filename>
   <basename>libgstgaudieffects.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-gdp.xml b/docs/plugins/inspect/plugin-gdp.xml
index 98886f9..32f7040 100644
--- a/docs/plugins/inspect/plugin-gdp.xml
+++ b/docs/plugins/inspect/plugin-gdp.xml
@@ -3,7 +3,7 @@
   <description>Payload/depayload GDP packets</description>
   <filename>../../gst/gdp/.libs/libgstgdp.so</filename>
   <basename>libgstgdp.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-geometrictransform.xml b/docs/plugins/inspect/plugin-geometrictransform.xml
index 147ffd9..dd26ca6 100644
--- a/docs/plugins/inspect/plugin-geometrictransform.xml
+++ b/docs/plugins/inspect/plugin-geometrictransform.xml
@@ -3,7 +3,7 @@
   <description>Various geometric image transform elements</description>
   <filename>../../gst/geometrictransform/.libs/libgstgeometrictransform.so</filename>
   <basename>libgstgeometrictransform.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gmedec.xml b/docs/plugins/inspect/plugin-gmedec.xml
index 87dd5b7..35fd42a 100644
--- a/docs/plugins/inspect/plugin-gmedec.xml
+++ b/docs/plugins/inspect/plugin-gmedec.xml
@@ -3,7 +3,7 @@
   <description>GME Audio Decoder</description>
   <filename>../../ext/gme/.libs/libgstgme.so</filename>
   <basename>libgstgme.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gsm.xml b/docs/plugins/inspect/plugin-gsm.xml
index 683facf..1f6c396 100644
--- a/docs/plugins/inspect/plugin-gsm.xml
+++ b/docs/plugins/inspect/plugin-gsm.xml
@@ -3,7 +3,7 @@
   <description>GSM encoder/decoder</description>
   <filename>../../ext/gsm/.libs/libgstgsm.so</filename>
   <basename>libgstgsm.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gstgtk.xml b/docs/plugins/inspect/plugin-gstgtk.xml
index 350f850..2769058 100644
--- a/docs/plugins/inspect/plugin-gstgtk.xml
+++ b/docs/plugins/inspect/plugin-gstgtk.xml
@@ -3,7 +3,7 @@
   <description>Gtk+ sink</description>
   <filename>../../ext/gtk/.libs/libgstgtksink.so</filename>
   <basename>libgstgtksink.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-gstsiren.xml b/docs/plugins/inspect/plugin-gstsiren.xml
index 5aed1dc..19ed718 100644
--- a/docs/plugins/inspect/plugin-gstsiren.xml
+++ b/docs/plugins/inspect/plugin-gstsiren.xml
@@ -3,7 +3,7 @@
   <description>Siren encoder/decoder/payloader/depayloader plugins</description>
   <filename>../../gst/siren/.libs/libgstsiren.so</filename>
   <basename>libgstsiren.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-hls.xml b/docs/plugins/inspect/plugin-hls.xml
index 2329e56..90ef02d 100644
--- a/docs/plugins/inspect/plugin-hls.xml
+++ b/docs/plugins/inspect/plugin-hls.xml
@@ -3,7 +3,7 @@
   <description>HTTP Live Streaming (HLS)</description>
   <filename>../../ext/hls/.libs/libgsthls.so</filename>
   <basename>libgsthls.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-id3tag.xml b/docs/plugins/inspect/plugin-id3tag.xml
index 6ab761e..ed24360 100644
--- a/docs/plugins/inspect/plugin-id3tag.xml
+++ b/docs/plugins/inspect/plugin-id3tag.xml
@@ -3,7 +3,7 @@
   <description>ID3 v1 and v2 muxing plugin</description>
   <filename>../../gst/id3tag/.libs/libgstid3tag.so</filename>
   <basename>libgstid3tag.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-inter.xml b/docs/plugins/inspect/plugin-inter.xml
index dc5266e..32228e0 100644
--- a/docs/plugins/inspect/plugin-inter.xml
+++ b/docs/plugins/inspect/plugin-inter.xml
@@ -3,7 +3,7 @@
   <description>plugin for inter-pipeline communication</description>
   <filename>../../gst/inter/.libs/libgstinter.so</filename>
   <basename>libgstinter.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-interlace.xml b/docs/plugins/inspect/plugin-interlace.xml
index e2f2010..c7991e7 100644
--- a/docs/plugins/inspect/plugin-interlace.xml
+++ b/docs/plugins/inspect/plugin-interlace.xml
@@ -3,7 +3,7 @@
   <description>Create an interlaced video stream</description>
   <filename>../../gst/interlace/.libs/libgstinterlace.so</filename>
   <basename>libgstinterlace.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ivfparse.xml b/docs/plugins/inspect/plugin-ivfparse.xml
index 628a0b6..c6d17da 100644
--- a/docs/plugins/inspect/plugin-ivfparse.xml
+++ b/docs/plugins/inspect/plugin-ivfparse.xml
@@ -3,7 +3,7 @@
   <description>IVF parser</description>
   <filename>../../gst/ivfparse/.libs/libgstivfparse.so</filename>
   <basename>libgstivfparse.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ivtc.xml b/docs/plugins/inspect/plugin-ivtc.xml
index bfe8950..0f9e367 100644
--- a/docs/plugins/inspect/plugin-ivtc.xml
+++ b/docs/plugins/inspect/plugin-ivtc.xml
@@ -3,7 +3,7 @@
   <description>Inverse Telecine</description>
   <filename>../../gst/ivtc/.libs/libgstivtc.so</filename>
   <basename>libgstivtc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-jp2kdecimator.xml b/docs/plugins/inspect/plugin-jp2kdecimator.xml
index 2c019bf..cf0b267 100644
--- a/docs/plugins/inspect/plugin-jp2kdecimator.xml
+++ b/docs/plugins/inspect/plugin-jp2kdecimator.xml
@@ -3,7 +3,7 @@
   <description>JPEG2000 decimator</description>
   <filename>../../gst/jp2kdecimator/.libs/libgstjp2kdecimator.so</filename>
   <basename>libgstjp2kdecimator.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-jpegformat.xml b/docs/plugins/inspect/plugin-jpegformat.xml
index 0f772e3..784cdd6 100644
--- a/docs/plugins/inspect/plugin-jpegformat.xml
+++ b/docs/plugins/inspect/plugin-jpegformat.xml
@@ -3,7 +3,7 @@
   <description>JPEG interchange format plugin</description>
   <filename>../../gst/jpegformat/.libs/libgstjpegformat.so</filename>
   <basename>libgstjpegformat.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-kate.xml b/docs/plugins/inspect/plugin-kate.xml
index 6f6f693..d2606b3 100644
--- a/docs/plugins/inspect/plugin-kate.xml
+++ b/docs/plugins/inspect/plugin-kate.xml
@@ -3,7 +3,7 @@
   <description>Kate plugin</description>
   <filename>../../ext/kate/.libs/libgstkate.so</filename>
   <basename>libgstkate.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ladspa.xml b/docs/plugins/inspect/plugin-ladspa.xml
index 8bd5c50..012e0b9 100644
--- a/docs/plugins/inspect/plugin-ladspa.xml
+++ b/docs/plugins/inspect/plugin-ladspa.xml
@@ -3,7 +3,7 @@
   <description>LADSPA plugin</description>
   <filename>../../ext/ladspa/.libs/libgstladspa.so</filename>
   <basename>libgstladspa.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-libde265.xml b/docs/plugins/inspect/plugin-libde265.xml
index 7d3455e..eb1db39 100644
--- a/docs/plugins/inspect/plugin-libde265.xml
+++ b/docs/plugins/inspect/plugin-libde265.xml
@@ -3,7 +3,7 @@
   <description>HEVC/H.265 decoder using libde265</description>
   <filename>../../ext/libde265/.libs/libgstlibde265.so</filename>
   <basename>libgstlibde265.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-midi.xml b/docs/plugins/inspect/plugin-midi.xml
index 3a0e8f1..2e55753 100644
--- a/docs/plugins/inspect/plugin-midi.xml
+++ b/docs/plugins/inspect/plugin-midi.xml
@@ -3,7 +3,7 @@
   <description>Parse MIDI files</description>
   <filename>../../gst/midi/.libs/libgstmidi.so</filename>
   <basename>libgstmidi.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mimic.xml b/docs/plugins/inspect/plugin-mimic.xml
index 972e4f1..fa6dce2 100644
--- a/docs/plugins/inspect/plugin-mimic.xml
+++ b/docs/plugins/inspect/plugin-mimic.xml
@@ -3,7 +3,7 @@
   <description>Mimic codec</description>
   <filename>../../ext/mimic/.libs/libgstmimic.so</filename>
   <basename>libgstmimic.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mms.xml b/docs/plugins/inspect/plugin-mms.xml
index 4b43286..280f07a 100644
--- a/docs/plugins/inspect/plugin-mms.xml
+++ b/docs/plugins/inspect/plugin-mms.xml
@@ -3,7 +3,7 @@
   <description>Microsoft Multi Media Server streaming protocol support</description>
   <filename>../../ext/libmms/.libs/libgstmms.so</filename>
   <basename>libgstmms.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-modplug.xml b/docs/plugins/inspect/plugin-modplug.xml
index e4a3d55..51df842 100644
--- a/docs/plugins/inspect/plugin-modplug.xml
+++ b/docs/plugins/inspect/plugin-modplug.xml
@@ -3,7 +3,7 @@
   <description>.MOD audio decoding</description>
   <filename>../../ext/modplug/.libs/libgstmodplug.so</filename>
   <basename>libgstmodplug.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpeg2enc.xml b/docs/plugins/inspect/plugin-mpeg2enc.xml
index cbfda70..226e516 100644
--- a/docs/plugins/inspect/plugin-mpeg2enc.xml
+++ b/docs/plugins/inspect/plugin-mpeg2enc.xml
@@ -3,7 +3,7 @@
   <description>High-quality MPEG-1/2 video encoder</description>
   <filename>../../ext/mpeg2enc/.libs/libgstmpeg2enc.so</filename>
   <basename>libgstmpeg2enc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpegpsdemux.xml b/docs/plugins/inspect/plugin-mpegpsdemux.xml
index 79b997a..c184885 100644
--- a/docs/plugins/inspect/plugin-mpegpsdemux.xml
+++ b/docs/plugins/inspect/plugin-mpegpsdemux.xml
@@ -3,7 +3,7 @@
   <description>MPEG-PS demuxer</description>
   <filename>../../gst/mpegdemux/.libs/libgstmpegpsdemux.so</filename>
   <basename>libgstmpegpsdemux.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>unknown</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpegpsmux.xml b/docs/plugins/inspect/plugin-mpegpsmux.xml
index 0e61377..ef87eb3 100644
--- a/docs/plugins/inspect/plugin-mpegpsmux.xml
+++ b/docs/plugins/inspect/plugin-mpegpsmux.xml
@@ -3,7 +3,7 @@
   <description>MPEG-PS muxer</description>
   <filename>../../gst/mpegpsmux/.libs/libgstmpegpsmux.so</filename>
   <basename>libgstmpegpsmux.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpegtsdemux.xml b/docs/plugins/inspect/plugin-mpegtsdemux.xml
index 2441c08..cc43d8f 100644
--- a/docs/plugins/inspect/plugin-mpegtsdemux.xml
+++ b/docs/plugins/inspect/plugin-mpegtsdemux.xml
@@ -3,7 +3,7 @@
   <description>MPEG TS demuxer</description>
   <filename>../../gst/mpegtsdemux/.libs/libgstmpegtsdemux.so</filename>
   <basename>libgstmpegtsdemux.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mpegtsmux.xml b/docs/plugins/inspect/plugin-mpegtsmux.xml
index 00444a6..a258235 100644
--- a/docs/plugins/inspect/plugin-mpegtsmux.xml
+++ b/docs/plugins/inspect/plugin-mpegtsmux.xml
@@ -3,7 +3,7 @@
   <description>MPEG-TS muxer</description>
   <filename>../../gst/mpegtsmux/.libs/libgstmpegtsmux.so</filename>
   <basename>libgstmpegtsmux.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mplex.xml b/docs/plugins/inspect/plugin-mplex.xml
index 243410f..c8d805d 100644
--- a/docs/plugins/inspect/plugin-mplex.xml
+++ b/docs/plugins/inspect/plugin-mplex.xml
@@ -3,7 +3,7 @@
   <description>High-quality MPEG/DVD/SVCD/VCD video/audio multiplexer</description>
   <filename>../../ext/mplex/.libs/libgstmplex.so</filename>
   <basename>libgstmplex.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-musepack.xml b/docs/plugins/inspect/plugin-musepack.xml
index fc9b47e..9f679cc 100644
--- a/docs/plugins/inspect/plugin-musepack.xml
+++ b/docs/plugins/inspect/plugin-musepack.xml
@@ -3,7 +3,7 @@
   <description>Musepack decoder</description>
   <filename>../../ext/musepack/.libs/libgstmusepack.so</filename>
   <basename>libgstmusepack.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-mxf.xml b/docs/plugins/inspect/plugin-mxf.xml
index 9fa350a..efea8e4 100644
--- a/docs/plugins/inspect/plugin-mxf.xml
+++ b/docs/plugins/inspect/plugin-mxf.xml
@@ -3,7 +3,7 @@
   <description>MXF plugin library</description>
   <filename>../../gst/mxf/.libs/libgstmxf.so</filename>
   <basename>libgstmxf.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-netsim.xml b/docs/plugins/inspect/plugin-netsim.xml
index 6dcc1f7..390fb3f 100644
--- a/docs/plugins/inspect/plugin-netsim.xml
+++ b/docs/plugins/inspect/plugin-netsim.xml
@@ -3,7 +3,7 @@
   <description>Network Simulator</description>
   <filename>../../gst/netsim/.libs/libgstnetsim.so</filename>
   <basename>libgstnetsim.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-ofa.xml b/docs/plugins/inspect/plugin-ofa.xml
index 137ea2f..2f134ca 100644
--- a/docs/plugins/inspect/plugin-ofa.xml
+++ b/docs/plugins/inspect/plugin-ofa.xml
@@ -3,7 +3,7 @@
   <description>Calculate MusicIP fingerprint from audio files</description>
   <filename>../../ext/ofa/.libs/libgstofa.so</filename>
   <basename>libgstofa.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-openal.xml b/docs/plugins/inspect/plugin-openal.xml
index 20589ce..36d083f 100644
--- a/docs/plugins/inspect/plugin-openal.xml
+++ b/docs/plugins/inspect/plugin-openal.xml
@@ -3,7 +3,7 @@
   <description>OpenAL plugin library</description>
   <filename>../../ext/openal/.libs/libgstopenal.so</filename>
   <basename>libgstopenal.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-opencv.xml b/docs/plugins/inspect/plugin-opencv.xml
index ba8d908..de1d5cc 100644
--- a/docs/plugins/inspect/plugin-opencv.xml
+++ b/docs/plugins/inspect/plugin-opencv.xml
@@ -3,7 +3,7 @@
   <description>GStreamer OpenCV Plugins</description>
   <filename>../../ext/opencv/.libs/libgstopencv.so</filename>
   <basename>libgstopencv.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-openexr.xml b/docs/plugins/inspect/plugin-openexr.xml
index e9535d0..1630578 100644
--- a/docs/plugins/inspect/plugin-openexr.xml
+++ b/docs/plugins/inspect/plugin-openexr.xml
@@ -3,7 +3,7 @@
   <description>OpenEXR image plugin</description>
   <filename>../../ext/openexr/.libs/libgstopenexr.so</filename>
   <basename>libgstopenexr.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-opengl.xml b/docs/plugins/inspect/plugin-opengl.xml
index 954b386..080bf77 100644
--- a/docs/plugins/inspect/plugin-opengl.xml
+++ b/docs/plugins/inspect/plugin-opengl.xml
@@ -3,7 +3,7 @@
   <description>OpenGL plugin</description>
   <filename>../../ext/gl/.libs/libgstopengl.so</filename>
   <basename>libgstopengl.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-openh264.xml b/docs/plugins/inspect/plugin-openh264.xml
index f5b13b5..1488ea5 100644
--- a/docs/plugins/inspect/plugin-openh264.xml
+++ b/docs/plugins/inspect/plugin-openh264.xml
@@ -3,7 +3,7 @@
   <description>OpenH264 encoder/decoder plugin</description>
   <filename>../../ext/openh264/.libs/libgstopenh264.so</filename>
   <basename>libgstopenh264.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>BSD</license>
   <source>gst-plugins-bad</source>
   <package>OpenWebRTC GStreamer plugins</package>
diff --git a/docs/plugins/inspect/plugin-openjpeg.xml b/docs/plugins/inspect/plugin-openjpeg.xml
index 64411f8..ab25670 100644
--- a/docs/plugins/inspect/plugin-openjpeg.xml
+++ b/docs/plugins/inspect/plugin-openjpeg.xml
@@ -3,7 +3,7 @@
   <description>OpenJPEG-based JPEG2000 image decoder/encoder</description>
   <filename>../../ext/openjpeg/.libs/libgstopenjpeg.so</filename>
   <basename>libgstopenjpeg.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-opusparse.xml b/docs/plugins/inspect/plugin-opusparse.xml
index e6ac24d..ee21e8c 100644
--- a/docs/plugins/inspect/plugin-opusparse.xml
+++ b/docs/plugins/inspect/plugin-opusparse.xml
@@ -3,7 +3,7 @@
   <description>OPUS parse plugin</description>
   <filename>../../ext/opus/.libs/libgstopusparse.so</filename>
   <basename>libgstopusparse.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-pcapparse.xml b/docs/plugins/inspect/plugin-pcapparse.xml
index e4c85ff..14daaf0 100644
--- a/docs/plugins/inspect/plugin-pcapparse.xml
+++ b/docs/plugins/inspect/plugin-pcapparse.xml
@@ -3,7 +3,7 @@
   <description>Element parsing raw pcap streams</description>
   <filename>../../gst/pcapparse/.libs/libgstpcapparse.so</filename>
   <basename>libgstpcapparse.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-pnm.xml b/docs/plugins/inspect/plugin-pnm.xml
index ba0e18a..5fcffba 100644
--- a/docs/plugins/inspect/plugin-pnm.xml
+++ b/docs/plugins/inspect/plugin-pnm.xml
@@ -3,7 +3,7 @@
   <description>PNM plugin</description>
   <filename>../../gst/pnm/.libs/libgstpnm.so</filename>
   <basename>libgstpnm.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-qt.xml b/docs/plugins/inspect/plugin-qt.xml
index 14a5b7b..47af4b9 100644
--- a/docs/plugins/inspect/plugin-qt.xml
+++ b/docs/plugins/inspect/plugin-qt.xml
@@ -1,9 +1,9 @@
 <plugin>
   <name>qt</name>
-  <description>Qt sink</description>
-  <filename>../../ext/qt/.libs/libgstqtsink.so</filename>
-  <basename>libgstqtsink.so</basename>
-  <version>1.9.1</version>
+  <description>Qt gl plugin</description>
+  <filename>../../ext/qt/.libs/libgstqmlgl.so</filename>
+  <basename>libgstqmlgl.so</basename>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -24,5 +24,20 @@
         </caps>
       </pads>
     </element>
+    <element>
+      <name>qmlglsrc</name>
+      <longname>Qt Video Source</longname>
+      <class>Source/Video</class>
+      <description>A video src the grab window from a qml view</description>
+      <author>Multimedia Team &lt;shmmmw@freescale.com&gt;</author>
+      <pads>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw(memory:GLMemory), format=(string)RGBA, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], texture-target=(string)2D</details>
+        </caps>
+      </pads>
+    </element>
   </elements>
 </plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-rawparse.xml b/docs/plugins/inspect/plugin-rawparse.xml
index c16cc6e..9317262 100644
--- a/docs/plugins/inspect/plugin-rawparse.xml
+++ b/docs/plugins/inspect/plugin-rawparse.xml
@@ -3,7 +3,7 @@
   <description>Parses byte streams into raw frames</description>
   <filename>../../gst/rawparse/.libs/libgstrawparse.so</filename>
   <basename>libgstrawparse.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
@@ -13,7 +13,7 @@
       <name>audioparse</name>
       <longname>Audio Parse</longname>
       <class>Filter/Audio</class>
-      <description>Converts stream into audio frames</description>
+      <description>Converts stream into audio frames (deprecated: use rawaudioparse instead)</description>
       <author>Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</author>
       <pads>
         <caps>
@@ -31,6 +31,48 @@
       </pads>
     </element>
     <element>
+      <name>rawaudioparse</name>
+      <longname>rawaudioparse</longname>
+      <class>Codec/Parser/Audio</class>
+      <description>Converts unformatted data streams into timestamped raw audio frames</description>
+      <author>Carlos Rafael Giani &lt;dv@pseudoterminal.org&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-unaligned-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 }; 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 }; audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <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 }; audio/x-alaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]; audio/x-mulaw, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ]</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>rawvideoparse</name>
+      <longname>rawvideoparse</longname>
+      <class>Codec/Parser/Video</class>
+      <description>Converts unformatted data streams into timestamped raw video frames</description>
+      <author>Carlos Rafael Giani &lt;dv@pseudoterminal.org&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-unaligned-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, 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, 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>
+    <element>
       <name>unalignedaudioparse</name>
       <longname>unalignedaudioparse</longname>
       <class>Codec/Parser/Bin/Audio</class>
@@ -52,10 +94,31 @@
       </pads>
     </element>
     <element>
+      <name>unalignedvideoparse</name>
+      <longname>unalignedvideoparse</longname>
+      <class>Codec/Parser/Bin/Video</class>
+      <description>Parse unaligned raw video data</description>
+      <author>Carlos Rafael Giani &lt;dv@pseudoterminal.org&gt;</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-unaligned-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 ]</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, 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>
+    <element>
       <name>videoparse</name>
       <longname>Video Parse</longname>
       <class>Filter/Video</class>
-      <description>Converts stream into video frames</description>
+      <description>Converts stream into video frames (deprecated: use rawvideoparse instead)</description>
       <author>David Schleef &lt;ds@schleef.org&gt;, Sebastian Dröge &lt;sebastian.droege@collabora.co.uk&gt;</author>
       <pads>
         <caps>
@@ -68,7 +131,7 @@
           <name>src</name>
           <direction>source</direction>
           <presence>always</presence>
-          <details>video/x-raw; video/x-bayer</details>
+          <details>video/x-raw</details>
         </caps>
       </pads>
     </element>
diff --git a/docs/plugins/inspect/plugin-removesilence.xml b/docs/plugins/inspect/plugin-removesilence.xml
index c551b8b..0150c4d 100644
--- a/docs/plugins/inspect/plugin-removesilence.xml
+++ b/docs/plugins/inspect/plugin-removesilence.xml
@@ -3,7 +3,7 @@
   <description>Removes silence from an audio stream</description>
   <filename>../../gst/removesilence/.libs/libgstremovesilence.so</filename>
   <basename>libgstremovesilence.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-resindvd.xml b/docs/plugins/inspect/plugin-resindvd.xml
index 1e23d9e..fc86aa9 100644
--- a/docs/plugins/inspect/plugin-resindvd.xml
+++ b/docs/plugins/inspect/plugin-resindvd.xml
@@ -3,7 +3,7 @@
   <description>Resin DVD playback elements</description>
   <filename>../../ext/resindvd/.libs/libgstresindvd.so</filename>
   <basename>libgstresindvd.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-rfbsrc.xml b/docs/plugins/inspect/plugin-rfbsrc.xml
index ebd2f3a..2650b41 100644
--- a/docs/plugins/inspect/plugin-rfbsrc.xml
+++ b/docs/plugins/inspect/plugin-rfbsrc.xml
@@ -3,7 +3,7 @@
   <description>Connects to a VNC server and decodes RFB stream</description>
   <filename>../../gst/librfb/.libs/libgstrfbsrc.so</filename>
   <basename>libgstrfbsrc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rsvg.xml b/docs/plugins/inspect/plugin-rsvg.xml
index 8251261..ee21ad1 100644
--- a/docs/plugins/inspect/plugin-rsvg.xml
+++ b/docs/plugins/inspect/plugin-rsvg.xml
@@ -3,7 +3,7 @@
   <description>RSVG plugin library</description>
   <filename>../../ext/rsvg/.libs/libgstrsvg.so</filename>
   <basename>libgstrsvg.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtmp.xml b/docs/plugins/inspect/plugin-rtmp.xml
index ea8fa22..f363a3a 100644
--- a/docs/plugins/inspect/plugin-rtmp.xml
+++ b/docs/plugins/inspect/plugin-rtmp.xml
@@ -3,7 +3,7 @@
   <description>RTMP source and sink</description>
   <filename>../../ext/rtmp/.libs/libgstrtmp.so</filename>
   <basename>libgstrtmp.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-rtponvif.xml b/docs/plugins/inspect/plugin-rtponvif.xml
index f608e62..b141e9d 100644
--- a/docs/plugins/inspect/plugin-rtponvif.xml
+++ b/docs/plugins/inspect/plugin-rtponvif.xml
@@ -3,7 +3,7 @@
   <description>ONVIF Streaming features</description>
   <filename>../../gst/onvif/.libs/libgstrtponvif.so</filename>
   <basename>libgstrtponvif.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>unknown</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-sbc.xml b/docs/plugins/inspect/plugin-sbc.xml
index 558ac77..b0465f7 100644
--- a/docs/plugins/inspect/plugin-sbc.xml
+++ b/docs/plugins/inspect/plugin-sbc.xml
@@ -3,7 +3,7 @@
   <description>SBC bluetooth audio support</description>
   <filename>../../ext/sbc/.libs/libgstsbc.so</filename>
   <basename>libgstsbc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-schro.xml b/docs/plugins/inspect/plugin-schro.xml
index e3c75d4..b2faa17 100644
--- a/docs/plugins/inspect/plugin-schro.xml
+++ b/docs/plugins/inspect/plugin-schro.xml
@@ -3,7 +3,7 @@
   <description>Schroedinger plugin</description>
   <filename>../../ext/schroedinger/.libs/libgstschro.so</filename>
   <basename>libgstschro.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-sdp.xml b/docs/plugins/inspect/plugin-sdp.xml
index 8edb192..69ee9ea 100644
--- a/docs/plugins/inspect/plugin-sdp.xml
+++ b/docs/plugins/inspect/plugin-sdp.xml
@@ -3,7 +3,7 @@
   <description>configure streaming sessions using SDP</description>
   <filename>../../gst/sdp/.libs/libgstsdpelem.so</filename>
   <basename>libgstsdpelem.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-segmentclip.xml b/docs/plugins/inspect/plugin-segmentclip.xml
index 60add5e..a008873 100644
--- a/docs/plugins/inspect/plugin-segmentclip.xml
+++ b/docs/plugins/inspect/plugin-segmentclip.xml
@@ -3,7 +3,7 @@
   <description>Segment clip elements</description>
   <filename>../../gst/segmentclip/.libs/libgstsegmentclip.so</filename>
   <basename>libgstsegmentclip.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-shm.xml b/docs/plugins/inspect/plugin-shm.xml
index 2d2d7d5..649a97b 100644
--- a/docs/plugins/inspect/plugin-shm.xml
+++ b/docs/plugins/inspect/plugin-shm.xml
@@ -3,7 +3,7 @@
   <description>shared memory sink source</description>
   <filename>../../sys/shm/.libs/libgstshm.so</filename>
   <basename>libgstshm.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-smooth.xml b/docs/plugins/inspect/plugin-smooth.xml
index a9c015a..adcba6d 100644
--- a/docs/plugins/inspect/plugin-smooth.xml
+++ b/docs/plugins/inspect/plugin-smooth.xml
@@ -3,7 +3,7 @@
   <description>Apply a smooth filter to an image</description>
   <filename>../../gst/smooth/.libs/libgstsmooth.so</filename>
   <basename>libgstsmooth.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-smoothstreaming.xml b/docs/plugins/inspect/plugin-smoothstreaming.xml
index 39663b2..a7d69fe 100644
--- a/docs/plugins/inspect/plugin-smoothstreaming.xml
+++ b/docs/plugins/inspect/plugin-smoothstreaming.xml
@@ -3,7 +3,7 @@
   <description>Microsoft&apos;s Smooth Streaming format support </description>
   <filename>../../ext/smoothstreaming/.libs/libgstsmoothstreaming.so</filename>
   <basename>libgstsmoothstreaming.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-sndfile.xml b/docs/plugins/inspect/plugin-sndfile.xml
index d7e5021..7a03401 100644
--- a/docs/plugins/inspect/plugin-sndfile.xml
+++ b/docs/plugins/inspect/plugin-sndfile.xml
@@ -3,7 +3,7 @@
   <description>use libsndfile to read and write various audio formats</description>
   <filename>../../ext/sndfile/.libs/libgstsndfile.so</filename>
   <basename>libgstsndfile.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-soundtouch.xml b/docs/plugins/inspect/plugin-soundtouch.xml
index 099111a..3433f2d 100644
--- a/docs/plugins/inspect/plugin-soundtouch.xml
+++ b/docs/plugins/inspect/plugin-soundtouch.xml
@@ -3,7 +3,7 @@
   <description>Audio Pitch Controller &amp; BPM Detection</description>
   <filename>../../ext/soundtouch/.libs/libgstsoundtouch.so</filename>
   <basename>libgstsoundtouch.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-spandsp.xml b/docs/plugins/inspect/plugin-spandsp.xml
index acbeb31..c4332e6 100644
--- a/docs/plugins/inspect/plugin-spandsp.xml
+++ b/docs/plugins/inspect/plugin-spandsp.xml
@@ -3,7 +3,7 @@
   <description>libspandsp plugin</description>
   <filename>../../ext/spandsp/.libs/libgstspandsp.so</filename>
   <basename>libgstspandsp.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-speed.xml b/docs/plugins/inspect/plugin-speed.xml
index 1437d86..0060ff2 100644
--- a/docs/plugins/inspect/plugin-speed.xml
+++ b/docs/plugins/inspect/plugin-speed.xml
@@ -3,7 +3,7 @@
   <description>Set speed/pitch on audio/raw streams (resampler)</description>
   <filename>../../gst/speed/.libs/libgstspeed.so</filename>
   <basename>libgstspeed.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-srtp.xml b/docs/plugins/inspect/plugin-srtp.xml
index b15d787..837d8ce 100644
--- a/docs/plugins/inspect/plugin-srtp.xml
+++ b/docs/plugins/inspect/plugin-srtp.xml
@@ -3,7 +3,7 @@
   <description>GStreamer SRTP</description>
   <filename>../../ext/srtp/.libs/libgstsrtp.so</filename>
   <basename>libgstsrtp.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-stereo.xml b/docs/plugins/inspect/plugin-stereo.xml
index 4282046..cb1882e 100644
--- a/docs/plugins/inspect/plugin-stereo.xml
+++ b/docs/plugins/inspect/plugin-stereo.xml
@@ -3,7 +3,7 @@
   <description>Muck with the stereo signal, enhance it&apos;s &apos;stereo-ness&apos;</description>
   <filename>../../gst/stereo/.libs/libgststereo.so</filename>
   <basename>libgststereo.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-subenc.xml b/docs/plugins/inspect/plugin-subenc.xml
index 82a3bc9..525ea9f 100644
--- a/docs/plugins/inspect/plugin-subenc.xml
+++ b/docs/plugins/inspect/plugin-subenc.xml
@@ -3,7 +3,7 @@
   <description>subtitle encoders</description>
   <filename>../../gst/subenc/.libs/libgstsubenc.so</filename>
   <basename>libgstsubenc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-teletext.xml b/docs/plugins/inspect/plugin-teletext.xml
index 61b0181..55ff028 100644
--- a/docs/plugins/inspect/plugin-teletext.xml
+++ b/docs/plugins/inspect/plugin-teletext.xml
@@ -3,7 +3,7 @@
   <description>Teletext plugin</description>
   <filename>../../ext/teletextdec/.libs/libgstteletextdec.so</filename>
   <basename>libgstteletextdec.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer</package>
diff --git a/docs/plugins/inspect/plugin-timecode.xml b/docs/plugins/inspect/plugin-timecode.xml
new file mode 100644
index 0000000..def9d55
--- /dev/null
+++ b/docs/plugins/inspect/plugin-timecode.xml
@@ -0,0 +1,67 @@
+<plugin>
+  <name>timecode</name>
+  <description>Timecode-related elements</description>
+  <filename>../../gst/timecode/.libs/libgsttimecode.so</filename>
+  <basename>libgsttimecode.so</basename>
+  <version>1.9.2</version>
+  <license>LGPL</license>
+  <source>gst-plugins-bad</source>
+  <package>GStreamer Bad Plug-ins source release</package>
+  <origin>Unknown package origin</origin>
+  <elements>
+    <element>
+      <name>timecodestamper</name>
+      <longname>Timecode stamper</longname>
+      <class>Filter/Video</class>
+      <description>Attaches a timecode meta into each video frame</description>
+      <author>Vivia Nikolaidou &lt;vivia@toolsonair.com</author>
+      <pads>
+        <caps>
+          <name>sink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw</details>
+        </caps>
+        <caps>
+          <name>src</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw</details>
+        </caps>
+      </pads>
+    </element>
+    <element>
+      <name>timecodewait</name>
+      <longname>Timecode Wait</longname>
+      <class>Filter/Audio/Video</class>
+      <description>Drops all audio/video until a specific timecode has been reached</description>
+      <author>Vivia Nikolaidou &lt;vivia@toolsonair.com&gt;</author>
+      <pads>
+        <caps>
+          <name>asink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>audio/x-raw</details>
+        </caps>
+        <caps>
+          <name>vsink</name>
+          <direction>sink</direction>
+          <presence>always</presence>
+          <details>video/x-raw</details>
+        </caps>
+        <caps>
+          <name>asrc</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>audio/x-raw</details>
+        </caps>
+        <caps>
+          <name>vsrc</name>
+          <direction>source</direction>
+          <presence>always</presence>
+          <details>video/x-raw</details>
+        </caps>
+      </pads>
+    </element>
+  </elements>
+</plugin>
\ No newline at end of file
diff --git a/docs/plugins/inspect/plugin-uvch264.xml b/docs/plugins/inspect/plugin-uvch264.xml
index 04aeeda..c5212f2 100644
--- a/docs/plugins/inspect/plugin-uvch264.xml
+++ b/docs/plugins/inspect/plugin-uvch264.xml
@@ -3,7 +3,7 @@
   <description>UVC compliant H264 encoding cameras plugin</description>
   <filename>../../sys/uvch264/.libs/libgstuvch264.so</filename>
   <basename>libgstuvch264.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vcdsrc.xml b/docs/plugins/inspect/plugin-vcdsrc.xml
index c187ce7..96521f9 100644
--- a/docs/plugins/inspect/plugin-vcdsrc.xml
+++ b/docs/plugins/inspect/plugin-vcdsrc.xml
@@ -3,7 +3,7 @@
   <description>Asynchronous read from VCD disk</description>
   <filename>../../sys/vcd/.libs/libgstvcdsrc.so</filename>
   <basename>libgstvcdsrc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videofiltersbad.xml b/docs/plugins/inspect/plugin-videofiltersbad.xml
index 2904dee..e94c006 100644
--- a/docs/plugins/inspect/plugin-videofiltersbad.xml
+++ b/docs/plugins/inspect/plugin-videofiltersbad.xml
@@ -3,7 +3,7 @@
   <description>Video filters in gst-plugins-bad</description>
   <filename>../../gst/videofilters/.libs/libgstvideofiltersbad.so</filename>
   <basename>libgstvideofiltersbad.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-videoframe_audiolevel.xml b/docs/plugins/inspect/plugin-videoframe_audiolevel.xml
index 8ad67a5..fe7b813 100644
--- a/docs/plugins/inspect/plugin-videoframe_audiolevel.xml
+++ b/docs/plugins/inspect/plugin-videoframe_audiolevel.xml
@@ -3,7 +3,7 @@
   <description>Video frame-synchronized audio level</description>
   <filename>../../gst/videoframe_audiolevel/.libs/libgstvideoframe_audiolevel.so</filename>
   <basename>libgstvideoframe_audiolevel.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videoparsersbad.xml b/docs/plugins/inspect/plugin-videoparsersbad.xml
index 1f2e63d..fd48c28 100644
--- a/docs/plugins/inspect/plugin-videoparsersbad.xml
+++ b/docs/plugins/inspect/plugin-videoparsersbad.xml
@@ -3,7 +3,7 @@
   <description>videoparsers</description>
   <filename>../../gst/videoparsers/.libs/libgstvideoparsersbad.so</filename>
   <basename>libgstvideoparsersbad.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-videosignal.xml b/docs/plugins/inspect/plugin-videosignal.xml
index 8181995..0468fcf 100644
--- a/docs/plugins/inspect/plugin-videosignal.xml
+++ b/docs/plugins/inspect/plugin-videosignal.xml
@@ -3,7 +3,7 @@
   <description>Various video signal analysers</description>
   <filename>../../gst/videosignal/.libs/libgstvideosignal.so</filename>
   <basename>libgstvideosignal.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-vmnc.xml b/docs/plugins/inspect/plugin-vmnc.xml
index 7e4e374..1bc64cf 100644
--- a/docs/plugins/inspect/plugin-vmnc.xml
+++ b/docs/plugins/inspect/plugin-vmnc.xml
@@ -3,7 +3,7 @@
   <description>VmWare Video Codec plugins</description>
   <filename>../../gst/vmnc/.libs/libgstvmnc.so</filename>
   <basename>libgstvmnc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-voaacenc.xml b/docs/plugins/inspect/plugin-voaacenc.xml
index e955be9..a4cfa91 100644
--- a/docs/plugins/inspect/plugin-voaacenc.xml
+++ b/docs/plugins/inspect/plugin-voaacenc.xml
@@ -3,7 +3,7 @@
   <description>AAC audio encoder</description>
   <filename>../../ext/voaacenc/.libs/libgstvoaacenc.so</filename>
   <basename>libgstvoaacenc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-voamrwbenc.xml b/docs/plugins/inspect/plugin-voamrwbenc.xml
index 313f0a7..9602b9c 100644
--- a/docs/plugins/inspect/plugin-voamrwbenc.xml
+++ b/docs/plugins/inspect/plugin-voamrwbenc.xml
@@ -3,7 +3,7 @@
   <description>Adaptive Multi-Rate Wide-Band Encoder</description>
   <filename>../../ext/voamrwbenc/.libs/libgstvoamrwbenc.so</filename>
   <basename>libgstvoamrwbenc.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>unknown</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-waylandsink.xml b/docs/plugins/inspect/plugin-waylandsink.xml
index c87189b..05a9e84 100644
--- a/docs/plugins/inspect/plugin-waylandsink.xml
+++ b/docs/plugins/inspect/plugin-waylandsink.xml
@@ -3,7 +3,7 @@
   <description>Wayland Video Sink</description>
   <filename>../../ext/wayland/.libs/libgstwaylandsink.so</filename>
   <basename>libgstwaylandsink.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-webp.xml b/docs/plugins/inspect/plugin-webp.xml
index a6564ac..b52b62f 100644
--- a/docs/plugins/inspect/plugin-webp.xml
+++ b/docs/plugins/inspect/plugin-webp.xml
@@ -3,7 +3,7 @@
   <description>WebP plugin</description>
   <filename>../../ext/webp/.libs/libgstwebp.so</filename>
   <basename>libgstwebp.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-webrtcdsp.xml b/docs/plugins/inspect/plugin-webrtcdsp.xml
index 6136964..aba042e 100644
--- a/docs/plugins/inspect/plugin-webrtcdsp.xml
+++ b/docs/plugins/inspect/plugin-webrtcdsp.xml
@@ -3,7 +3,7 @@
   <description>Voice pre-processing using WebRTC Audio Processing Library</description>
   <filename>../../ext/webrtcdsp/.libs/libgstwebrtcdsp.so</filename>
   <basename>libgstwebrtcdsp.so</basename>
-  <version>1.9.0.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>WebRTCDsp</package>
diff --git a/docs/plugins/inspect/plugin-wildmidi.xml b/docs/plugins/inspect/plugin-wildmidi.xml
index 25ef128..3b8b814 100644
--- a/docs/plugins/inspect/plugin-wildmidi.xml
+++ b/docs/plugins/inspect/plugin-wildmidi.xml
@@ -3,7 +3,7 @@
   <description>Wildmidi Plugin</description>
   <filename>../../ext/timidity/.libs/libgstwildmidi.so</filename>
   <basename>libgstwildmidi.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-x265.xml b/docs/plugins/inspect/plugin-x265.xml
index a1a55f4..df3ad86 100644
--- a/docs/plugins/inspect/plugin-x265.xml
+++ b/docs/plugins/inspect/plugin-x265.xml
@@ -3,7 +3,7 @@
   <description>x265-based H265 plugins</description>
   <filename>../../ext/x265/.libs/libgstx265.so</filename>
   <basename>libgstx265.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/docs/plugins/inspect/plugin-y4mdec.xml b/docs/plugins/inspect/plugin-y4mdec.xml
index 71c4296..3e3f090 100644
--- a/docs/plugins/inspect/plugin-y4mdec.xml
+++ b/docs/plugins/inspect/plugin-y4mdec.xml
@@ -3,7 +3,7 @@
   <description>Demuxes/decodes YUV4MPEG streams</description>
   <filename>../../gst/y4m/.libs/libgsty4mdec.so</filename>
   <basename>libgsty4mdec.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-yadif.xml b/docs/plugins/inspect/plugin-yadif.xml
index cb9fb36..7f41b1f 100644
--- a/docs/plugins/inspect/plugin-yadif.xml
+++ b/docs/plugins/inspect/plugin-yadif.xml
@@ -3,7 +3,7 @@
   <description>YADIF deinterlacing filter</description>
   <filename>../../gst/yadif/.libs/libgstyadif.so</filename>
   <basename>libgstyadif.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>GPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins</package>
diff --git a/docs/plugins/inspect/plugin-zbar.xml b/docs/plugins/inspect/plugin-zbar.xml
index 2c8b1be..24c3ffd 100644
--- a/docs/plugins/inspect/plugin-zbar.xml
+++ b/docs/plugins/inspect/plugin-zbar.xml
@@ -3,7 +3,7 @@
   <description>zbar barcode scanner</description>
   <filename>../../ext/zbar/.libs/libgstzbar.so</filename>
   <basename>libgstzbar.so</basename>
-  <version>1.9.1</version>
+  <version>1.9.2</version>
   <license>LGPL</license>
   <source>gst-plugins-bad</source>
   <package>GStreamer Bad Plug-ins source release</package>
diff --git a/ext/Makefile.am b/ext/Makefile.am
index d0bf515..bae25c2 100644
--- a/ext/Makefile.am
+++ b/ext/Makefile.am
@@ -112,6 +112,12 @@
  FAAD_DIR=
 endif
 
+if USE_FDK_AAC
+ FDK_AAC_DIR=fdkaac
+else
+ FDK_AAC_DIR=
+endif
+
 if USE_VOAACENC
  VOAACENC_DIR=voaacenc
 else
@@ -440,6 +446,7 @@
 	$(QT_DIR) \
 	$(FAAC_DIR) \
 	$(FAAD_DIR) \
+	$(FDK_AAC_DIR) \
 	$(FLITE_DIR) \
 	$(FLUIDSYNTH_DIR) \
 	$(GSM_DIR) \
@@ -503,6 +510,7 @@
 	wayland \
 	faac \
 	faad \
+	fdkaac \
 	flite \
 	fluidsynth \
 	gsm \
diff --git a/ext/Makefile.in b/ext/Makefile.in
index 94ecc06..25b1a99 100644
--- a/ext/Makefile.in
+++ b/ext/Makefile.in
@@ -304,6 +304,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -353,6 +355,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -798,6 +802,8 @@
 @USE_FAAC_TRUE@FAAC_DIR = faac
 @USE_FAAD_FALSE@FAAD_DIR = 
 @USE_FAAD_TRUE@FAAD_DIR = faad
+@USE_FDK_AAC_FALSE@FDK_AAC_DIR = 
+@USE_FDK_AAC_TRUE@FDK_AAC_DIR = fdkaac
 @USE_VOAACENC_FALSE@VOAACENC_DIR = 
 @USE_VOAACENC_TRUE@VOAACENC_DIR = voaacenc
 @USE_FLITE_FALSE@FLITE_DIR = 
@@ -928,6 +934,7 @@
 	$(QT_DIR) \
 	$(FAAC_DIR) \
 	$(FAAD_DIR) \
+	$(FDK_AAC_DIR) \
 	$(FLITE_DIR) \
 	$(FLUIDSYNTH_DIR) \
 	$(GSM_DIR) \
@@ -991,6 +998,7 @@
 	wayland \
 	faac \
 	faad \
+	fdkaac \
 	flite \
 	fluidsynth \
 	gsm \
diff --git a/ext/apexsink/Makefile.in b/ext/apexsink/Makefile.in
index 22b7474..f79d22d 100644
--- a/ext/apexsink/Makefile.in
+++ b/ext/apexsink/Makefile.in
@@ -328,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/assrender/Makefile.in b/ext/assrender/Makefile.in
index e7fdf9a..bc3a6ac 100644
--- a/ext/assrender/Makefile.in
+++ b/ext/assrender/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/bs2b/Makefile.in b/ext/bs2b/Makefile.in
index 8d6bd86..24430b3 100644
--- a/ext/bs2b/Makefile.in
+++ b/ext/bs2b/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/bz2/Makefile.in b/ext/bz2/Makefile.in
index cac55b7..347870d 100644
--- a/ext/bz2/Makefile.in
+++ b/ext/bz2/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/chromaprint/Makefile.in b/ext/chromaprint/Makefile.in
index f66e98a..99f0b52 100644
--- a/ext/chromaprint/Makefile.in
+++ b/ext/chromaprint/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/curl/Makefile.in b/ext/curl/Makefile.in
index 6bc7a49..4bb3cb7 100644
--- a/ext/curl/Makefile.in
+++ b/ext/curl/Makefile.in
@@ -339,6 +339,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -388,6 +390,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/daala/Makefile.in b/ext/daala/Makefile.in
index 38b201f..2b76f02 100644
--- a/ext/daala/Makefile.in
+++ b/ext/daala/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/daala/gstdaaladec.c b/ext/daala/gstdaaladec.c
index f401ff3..90fb38f 100644
--- a/ext/daala/gstdaaladec.c
+++ b/ext/daala/gstdaaladec.c
@@ -121,7 +121,7 @@
       GST_DEBUG_FUNCPTR (daala_dec_decide_allocation);
 
   GST_DEBUG_CATEGORY_INIT (daaladec_debug, "daaladec", 0, "Daala decoder");
-  GST_DEBUG_CATEGIRY_GET (CAT_PERFORMANCE, "GST_PERFORMANCE");
+  GST_DEBUG_CATEGORY_GET (CAT_PERFORMANCE, "GST_PERFORMANCE");
 }
 
 static void
diff --git a/ext/dash/Makefile.in b/ext/dash/Makefile.in
index 5d75597..1872abf 100644
--- a/ext/dash/Makefile.in
+++ b/ext/dash/Makefile.in
@@ -330,6 +330,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -379,6 +381,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c
index c67c635..6e24747 100644
--- a/ext/dash/gstdashdemux.c
+++ b/ext/dash/gstdashdemux.c
@@ -189,6 +189,9 @@
   PROP_MAX_BUFFERING_TIME,
   PROP_BANDWIDTH_USAGE,
   PROP_MAX_BITRATE,
+  PROP_MAX_VIDEO_WIDTH,
+  PROP_MAX_VIDEO_HEIGHT,
+  PROP_MAX_VIDEO_FRAMERATE,
   PROP_PRESENTATION_DELAY,
   PROP_LAST
 };
@@ -196,7 +199,11 @@
 /* Default values for properties */
 #define DEFAULT_MAX_BUFFERING_TIME       30     /* in seconds */
 #define DEFAULT_BANDWIDTH_USAGE         0.8     /* 0 to 1     */
-#define DEFAULT_MAX_BITRATE        24000000     /* in bit/s  */
+#define DEFAULT_MAX_BITRATE               0     /* in bit/s  */
+#define DEFAULT_MAX_VIDEO_WIDTH           0
+#define DEFAULT_MAX_VIDEO_HEIGHT          0
+#define DEFAULT_MAX_VIDEO_FRAMERATE_N     0
+#define DEFAULT_MAX_VIDEO_FRAMERATE_D     1
 #define DEFAULT_PRESENTATION_DELAY     NULL     /* zero */
 
 /* Clock drift compensation for live streams */
@@ -216,6 +223,12 @@
   GstClock *ntp_clock;
 };
 
+typedef struct
+{
+  guint64 start_offset, end_offset;
+  /* TODO: Timestamp and duration */
+} GstDashStreamSyncSample;
+
 /* GObject */
 static void gst_dash_demux_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
@@ -260,6 +273,8 @@
 static GstFlowReturn
 gst_dash_demux_stream_fragment_finished (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream);
+static gboolean gst_dash_demux_need_another_chunk (GstAdaptiveDemuxStream *
+    stream);
 
 /* GstDashDemux */
 static gboolean gst_dash_demux_setup_all_streams (GstDashDemux * demux);
@@ -317,10 +332,12 @@
   GDateTime *now;
   GDateTime *mstart;
   GTimeSpan stream_now;
+  GstClockTime seg_duration;
 
   if (self->client->mpd_node->availabilityStartTime == NULL)
     return FALSE;
 
+  seg_duration = gst_mpd_client_get_maximum_segment_duration (self->client);
   now = gst_dash_demux_get_server_now_utc (self);
   mstart =
       gst_date_time_to_g_date_time (self->client->
@@ -341,6 +358,17 @@
     if (*start < 0)
       *start = 0;
   }
+
+  /* As defined in 5.3.9.5.3 of the DASH specification, a segment does
+     not become available until the sum of:
+     * the value of the MPD@availabilityStartTime,
+     * the PeriodStart time of the containing Period
+     * the MPD start time of the Media Segment, and
+     * the MPD duration of the Media Segment.
+     Therefore we need to subtract the media segment duration from the stop
+     time.
+   */
+  *stop -= seg_duration;
   return TRUE;
 }
 
@@ -397,8 +425,27 @@
 
   g_object_class_install_property (gobject_class, PROP_MAX_BITRATE,
       g_param_spec_uint ("max-bitrate", "Max bitrate",
-          "Max of bitrate supported by target decoder",
-          1000, G_MAXUINT, DEFAULT_MAX_BITRATE,
+          "Max of bitrate supported by target video decoder (0 = no maximum)",
+          0, G_MAXUINT, DEFAULT_MAX_BITRATE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_MAX_VIDEO_WIDTH,
+      g_param_spec_uint ("max-video-width", "Max video width",
+          "Max video width to select (0 = no maximum)",
+          0, G_MAXUINT, DEFAULT_MAX_VIDEO_WIDTH,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_MAX_VIDEO_HEIGHT,
+      g_param_spec_uint ("max-video-height", "Max video height",
+          "Max video height to select (0 = no maximum)",
+          0, G_MAXUINT, DEFAULT_MAX_VIDEO_HEIGHT,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_MAX_VIDEO_FRAMERATE,
+      gst_param_spec_fraction ("max-video-framerate", "Max video framerate",
+          "Max video framerate to select (0/1 = no maximum)",
+          0, 1, G_MAXINT, 1, DEFAULT_MAX_VIDEO_FRAMERATE_N,
+          DEFAULT_MAX_VIDEO_FRAMERATE_D,
           G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
 
   g_object_class_install_property (gobject_class, PROP_PRESENTATION_DELAY,
@@ -461,6 +508,8 @@
   gstadaptivedemux_class->finish_fragment =
       gst_dash_demux_stream_fragment_finished;
   gstadaptivedemux_class->data_received = gst_dash_demux_data_received;
+  gstadaptivedemux_class->need_another_chunk =
+      gst_dash_demux_need_another_chunk;
 }
 
 static void
@@ -469,6 +518,10 @@
   /* Properties */
   demux->max_buffering_time = DEFAULT_MAX_BUFFERING_TIME * GST_SECOND;
   demux->max_bitrate = DEFAULT_MAX_BITRATE;
+  demux->max_video_width = DEFAULT_MAX_VIDEO_WIDTH;
+  demux->max_video_height = DEFAULT_MAX_VIDEO_HEIGHT;
+  demux->max_video_framerate_n = DEFAULT_MAX_VIDEO_FRAMERATE_N;
+  demux->max_video_framerate_d = DEFAULT_MAX_VIDEO_FRAMERATE_D;
   demux->default_presentation_delay = DEFAULT_PRESENTATION_DELAY;
 
   g_mutex_init (&demux->client_lock);
@@ -494,6 +547,16 @@
     case PROP_MAX_BITRATE:
       demux->max_bitrate = g_value_get_uint (value);
       break;
+    case PROP_MAX_VIDEO_WIDTH:
+      demux->max_video_width = g_value_get_uint (value);
+      break;
+    case PROP_MAX_VIDEO_HEIGHT:
+      demux->max_video_height = g_value_get_uint (value);
+      break;
+    case PROP_MAX_VIDEO_FRAMERATE:
+      demux->max_video_framerate_n = gst_value_get_fraction_numerator (value);
+      demux->max_video_framerate_d = gst_value_get_fraction_denominator (value);
+      break;
     case PROP_PRESENTATION_DELAY:
       g_free (demux->default_presentation_delay);
       demux->default_presentation_delay = g_value_dup_string (value);
@@ -521,6 +584,16 @@
     case PROP_MAX_BITRATE:
       g_value_set_uint (value, demux->max_bitrate);
       break;
+    case PROP_MAX_VIDEO_WIDTH:
+      g_value_set_uint (value, demux->max_video_width);
+      break;
+    case PROP_MAX_VIDEO_HEIGHT:
+      g_value_set_uint (value, demux->max_video_height);
+      break;
+    case PROP_MAX_VIDEO_FRAMERATE:
+      gst_value_set_fraction (value, demux->max_video_framerate_n,
+          demux->max_video_framerate_d);
+      break;
     case PROP_PRESENTATION_DELAY:
       if (demux->default_presentation_delay == NULL)
         g_value_set_static_string (value, "");
@@ -575,6 +648,7 @@
     GstDashDemuxStream *stream;
     GstActiveStream *active_stream;
     GstCaps *caps;
+    GstStructure *s;
     GstPad *srcpad;
     gchar *lang = NULL;
     GstTagList *tags = NULL;
@@ -583,6 +657,13 @@
     if (active_stream == NULL)
       continue;
 
+    if (demux->trickmode_no_audio
+        && active_stream->mimeType == GST_STREAM_AUDIO) {
+      GST_DEBUG_OBJECT (demux,
+          "Skipping audio stream %d because of TRICKMODE_NO_AUDIO flag", i);
+      continue;
+    }
+
     srcpad = gst_dash_demux_create_pad (demux, active_stream);
     if (srcpad == NULL)
       continue;
@@ -618,6 +699,11 @@
     stream = (GstDashDemuxStream *)
         gst_adaptive_demux_stream_new (GST_ADAPTIVE_DEMUX_CAST (demux), srcpad);
     stream->active_stream = active_stream;
+    s = gst_caps_get_structure (caps, 0);
+    stream->is_isobmff = gst_structure_has_name (s, "video/quicktime");
+    stream->first_sync_sample_always_after_moof = TRUE;
+    if (stream->is_isobmff)
+      stream->isobmff_adapter = gst_adapter_new ();
     gst_adaptive_demux_stream_set_caps (GST_ADAPTIVE_DEMUX_STREAM_CAST (stream),
         caps);
     if (tags)
@@ -884,6 +970,10 @@
 
   demux->n_audio_streams = 0;
   demux->n_video_streams = 0;
+  demux->n_subtitle_streams = 0;
+
+  demux->trickmode_no_audio = FALSE;
+  demux->allow_trickmode_key_units = TRUE;
 }
 
 static GstCaps *
@@ -1026,6 +1116,9 @@
 
   isombff = gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client);
 
+  /* Reset chunk size if any */
+  stream->fragment.chunk_size = 0;
+
   if (GST_ADAPTIVE_DEMUX_STREAM_NEED_HEADER (stream) && isombff) {
     gst_dash_demux_stream_update_headers_info (stream);
     dashstream->sidx_base_offset = stream->fragment.index_range_end + 1;
@@ -1036,6 +1129,24 @@
     }
   }
 
+  if (dashstream->moof_sync_samples
+      && GST_ADAPTIVE_DEMUX (dashdemux)->
+      segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS) {
+    GstDashStreamSyncSample *sync_sample =
+        &g_array_index (dashstream->moof_sync_samples, GstDashStreamSyncSample,
+        dashstream->current_sync_sample);
+
+    gst_mpd_client_get_next_fragment (dashdemux->client, dashstream->index,
+        &fragment);
+    stream->fragment.uri = fragment.uri;
+    stream->fragment.timestamp = GST_CLOCK_TIME_NONE;
+    stream->fragment.duration = GST_CLOCK_TIME_NONE;
+    stream->fragment.range_start = sync_sample->start_offset;
+    stream->fragment.range_end = sync_sample->end_offset;
+
+    return GST_FLOW_OK;
+  }
+
   if (gst_mpd_client_get_next_fragment_timestamp (dashdemux->client,
           dashstream->index, &ts)) {
     if (GST_ADAPTIVE_DEMUX_STREAM_NEED_HEADER (stream)) {
@@ -1144,6 +1255,14 @@
   GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
   GstDashDemux *dashdemux = GST_DASH_DEMUX_CAST (stream->demux);
 
+  if (dashstream->moof)
+    gst_isoff_moof_box_free (dashstream->moof);
+  dashstream->moof = NULL;
+  if (dashstream->moof_sync_samples)
+    g_array_free (dashstream->moof_sync_samples, TRUE);
+  dashstream->moof_sync_samples = NULL;
+  dashstream->current_sync_sample = -1;
+
   if (gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client)) {
     if (dashstream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED) {
       gst_dash_demux_stream_sidx_seek (dashstream, forward, flags, ts,
@@ -1153,6 +1272,8 @@
       /* FIXME - the final_ts won't be correct here */
       dashstream->pending_seek_ts = ts;
     }
+
+    return GST_FLOW_OK;
   }
 
   gst_mpd_client_stream_seek (dashdemux->client, dashstream->active_stream,
@@ -1161,6 +1282,26 @@
 }
 
 static gboolean
+gst_dash_demux_stream_has_next_sync_sample (GstAdaptiveDemuxStream * stream)
+{
+  GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
+
+  if (dashstream->moof_sync_samples
+      && GST_ADAPTIVE_DEMUX (stream->demux)->
+      segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS) {
+    if (stream->demux->segment.rate > 0.0) {
+      if (dashstream->current_sync_sample + 1 <
+          dashstream->moof_sync_samples->len)
+        return TRUE;
+    } else {
+      if (dashstream->current_sync_sample >= 1)
+        return TRUE;
+    }
+  }
+  return FALSE;
+}
+
+static gboolean
 gst_dash_demux_stream_has_next_subfragment (GstAdaptiveDemuxStream * stream)
 {
   GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
@@ -1179,6 +1320,43 @@
 }
 
 static gboolean
+gst_dash_demux_stream_advance_sync_sample (GstAdaptiveDemuxStream * stream)
+{
+  GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
+  gboolean fragment_finished = FALSE;
+
+  if (dashstream->moof_sync_samples
+      && GST_ADAPTIVE_DEMUX (stream->demux)->
+      segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS) {
+    if (stream->demux->segment.rate > 0.0) {
+      dashstream->current_sync_sample++;
+      if (dashstream->current_sync_sample >= dashstream->moof_sync_samples->len) {
+        fragment_finished = TRUE;
+      }
+    } else {
+      if (dashstream->current_sync_sample == -1) {
+        dashstream->current_sync_sample =
+            dashstream->moof_sync_samples->len - 1;
+      } else if (dashstream->current_sync_sample == 0) {
+        dashstream->current_sync_sample = -1;
+        fragment_finished = TRUE;
+      } else {
+        dashstream->current_sync_sample--;
+      }
+    }
+  }
+
+  GST_DEBUG_OBJECT (stream->pad,
+      "Advancing sync sample #%d fragment_finished:%d",
+      dashstream->current_sync_sample, fragment_finished);
+
+  if (!fragment_finished)
+    stream->discont = TRUE;
+
+  return !fragment_finished;
+}
+
+static gboolean
 gst_dash_demux_stream_advance_subfragment (GstAdaptiveDemuxStream * stream)
 {
   GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
@@ -1192,8 +1370,10 @@
       if (sidx->entry_index < sidx->entries_count) {
         fragment_finished = FALSE;
       }
+      dashstream->sidx_index++;
     } else {
       sidx->entry_index--;
+      dashstream->sidx_index--;
       if (sidx->entry_index >= 0) {
         fragment_finished = FALSE;
       }
@@ -1213,6 +1393,13 @@
   GstDashDemux *dashdemux = GST_DASH_DEMUX_CAST (stream->demux);
   GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
 
+  if (dashstream->moof_sync_samples
+      && GST_ADAPTIVE_DEMUX (dashdemux)->
+      segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS) {
+    if (gst_dash_demux_stream_has_next_sync_sample (stream))
+      return TRUE;
+  }
+
   if (gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client)) {
     if (gst_dash_demux_stream_has_next_subfragment (stream))
       return TRUE;
@@ -1230,6 +1417,22 @@
   gst_isoff_sidx_parser_init (&dashstream->sidx_parser);
   if (dashstream->sidx_adapter)
     gst_adapter_clear (dashstream->sidx_adapter);
+
+  /* Reset ISOBMFF box parsing state */
+  if (dashstream->isobmff_adapter)
+    gst_adapter_clear (dashstream->isobmff_adapter);
+  dashstream->isobmff_parser.current_fourcc = 0;
+  dashstream->isobmff_parser.current_start_offset = 0;
+  dashstream->isobmff_parser.current_offset = 0;
+  dashstream->isobmff_parser.current_size = 0;
+
+  if (dashstream->moof)
+    gst_isoff_moof_box_free (dashstream->moof);
+  dashstream->moof = NULL;
+  if (dashstream->moof_sync_samples)
+    g_array_free (dashstream->moof_sync_samples, TRUE);
+  dashstream->moof_sync_samples = NULL;
+  dashstream->current_sync_sample = -1;
 }
 
 static GstFlowReturn
@@ -1240,12 +1443,38 @@
 
   GST_DEBUG_OBJECT (stream->pad, "Advance fragment");
 
+  /* If downloading only keyframes, switch to the next one or fall through */
+  if (dashstream->moof_sync_samples
+      && GST_ADAPTIVE_DEMUX (dashdemux)->
+      segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS) {
+    if (gst_dash_demux_stream_advance_sync_sample (stream))
+      return GST_FLOW_OK;
+  }
+
+  if (dashstream->isobmff_adapter)
+    gst_adapter_clear (dashstream->isobmff_adapter);
+  dashstream->isobmff_parser.current_fourcc = 0;
+  dashstream->isobmff_parser.current_start_offset = 0;
+  dashstream->isobmff_parser.current_offset = 0;
+  dashstream->isobmff_parser.current_size = 0;
+
+  if (dashstream->moof)
+    gst_isoff_moof_box_free (dashstream->moof);
+  dashstream->moof = NULL;
+  if (dashstream->moof_sync_samples)
+    g_array_free (dashstream->moof_sync_samples, TRUE);
+  dashstream->moof_sync_samples = NULL;
+  dashstream->current_sync_sample = -1;
+
   if (gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client)) {
     if (gst_dash_demux_stream_advance_subfragment (stream))
       return GST_FLOW_OK;
   }
 
-  gst_dash_demux_clear_pending_stream_data (dashdemux, dashstream);
+  gst_isoff_sidx_parser_clear (&dashstream->sidx_parser);
+  gst_isoff_sidx_parser_init (&dashstream->sidx_parser);
+  if (dashstream->sidx_adapter)
+    gst_adapter_clear (dashstream->sidx_adapter);
 
   return gst_mpd_client_advance_segment (dashdemux->client,
       dashstream->active_stream, stream->demux->segment.rate > 0.0);
@@ -1258,6 +1487,7 @@
   GstActiveStream *active_stream = NULL;
   GList *rep_list = NULL;
   gint new_index;
+  GstAdaptiveDemux *base_demux = stream->demux;
   GstDashDemux *demux = GST_DASH_DEMUX_CAST (stream->demux);
   GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
   gboolean ret = FALSE;
@@ -1277,8 +1507,24 @@
   GST_DEBUG_OBJECT (stream->pad,
       "Trying to change to bitrate: %" G_GUINT64_FORMAT, bitrate);
 
+  if (active_stream->mimeType == GST_STREAM_VIDEO && demux->max_bitrate) {
+    bitrate = MIN (demux->max_bitrate, bitrate);
+  }
+
   /* get representation index with current max_bandwidth */
-  new_index = gst_mpdparser_get_rep_idx_with_max_bandwidth (rep_list, bitrate);
+  if ((base_demux->segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS) ||
+      ABS (base_demux->segment.rate) <= 1.0) {
+    new_index =
+        gst_mpdparser_get_rep_idx_with_max_bandwidth (rep_list, bitrate,
+        demux->max_video_width, demux->max_video_height,
+        demux->max_video_framerate_n, demux->max_video_framerate_d);
+  } else {
+    new_index =
+        gst_mpdparser_get_rep_idx_with_max_bandwidth (rep_list,
+        bitrate / ABS (base_demux->segment.rate), demux->max_video_width,
+        demux->max_video_height, demux->max_video_framerate_n,
+        demux->max_video_framerate_d);
+  }
 
   /* if no representation has the required bandwidth, take the lowest one */
   if (new_index == -1)
@@ -1332,9 +1578,9 @@
   GstClockTime current_pos, target_pos;
   guint current_period;
   GstStreamPeriod *period;
-  GList *iter;
+  GList *iter, *streams = NULL;
   GstDashDemux *dashdemux = GST_DASH_DEMUX_CAST (demux);
-  gboolean switched_period = FALSE;
+  gboolean trickmode_no_audio;
 
   gst_event_parse_seek (seek, &rate, &format, &flags, &start_type, &start,
       &stop_type, &stop);
@@ -1375,22 +1621,35 @@
     GST_WARNING_OBJECT (demux, "Could not find seeked Period");
     return FALSE;
   }
+
+  trickmode_no_audio = ! !(flags & GST_SEEK_FLAG_TRICKMODE_NO_AUDIO);
+
+  streams = demux->streams;
   if (current_period != gst_mpd_client_get_period_index (dashdemux->client)) {
     GST_DEBUG_OBJECT (demux, "Seeking to Period %d", current_period);
 
     /* clean old active stream list, if any */
     gst_active_streams_free (dashdemux->client);
+    dashdemux->trickmode_no_audio = trickmode_no_audio;
 
     /* setup video, audio and subtitle streams, starting from the new Period */
     if (!gst_mpd_client_set_period_index (dashdemux->client, current_period)
         || !gst_dash_demux_setup_all_streams (dashdemux))
       return FALSE;
-    switched_period = TRUE;
+    streams = demux->next_streams;
+  } else if (dashdemux->trickmode_no_audio != trickmode_no_audio) {
+    /* clean old active stream list, if any */
+    gst_active_streams_free (dashdemux->client);
+    dashdemux->trickmode_no_audio = trickmode_no_audio;
+
+    /* setup video, audio and subtitle streams, starting from the new Period */
+    if (!gst_dash_demux_setup_all_streams (dashdemux))
+      return FALSE;
+    streams = demux->next_streams;
   }
 
   /* Update the current sequence on all streams */
-  for (iter = (switched_period ? demux->next_streams : demux->streams); iter;
-      iter = g_list_next (iter)) {
+  for (iter = streams; iter; iter = g_list_next (iter)) {
     GstDashDemuxStream *dashstream = iter->data;
 
     if (flags & GST_SEEK_FLAG_FLUSH) {
@@ -1618,11 +1877,26 @@
 gst_dash_demux_stream_fragment_start (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream)
 {
+  GstDashDemux *dashdemux = GST_DASH_DEMUX_CAST (demux);
   GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
 
   dashstream->sidx_index_header_or_data = 0;
   dashstream->sidx_current_offset = -1;
 
+  dashstream->isobmff_parser.index_header_or_data = 0;
+  dashstream->isobmff_parser.current_offset = -1;
+
+  /* We need to mark every first buffer of a key unit as discont,
+   * and also every first buffer of a moov and moof. This ensures
+   * that qtdemux takes note of our buffer offsets for each of those
+   * buffers instead of keeping track of them itself from the first
+   * buffer. We need offsets to be consistent between moof and mdat
+   */
+  if (dashstream->is_isobmff && dashdemux->allow_trickmode_key_units
+      && (demux->segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS)
+      && dashstream->active_stream->mimeType == GST_STREAM_VIDEO)
+    stream->discont = TRUE;
+
   return TRUE;
 }
 
@@ -1633,8 +1907,24 @@
   GstDashDemux *dashdemux = GST_DASH_DEMUX_CAST (demux);
   GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
 
-  if (gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client) &&
-      dashstream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED) {
+  /* We need to mark every first buffer of a key unit as discont,
+   * and also every first buffer of a moov and moof. This ensures
+   * that qtdemux takes note of our buffer offsets for each of those
+   * buffers instead of keeping track of them itself from the first
+   * buffer. We need offsets to be consistent between moof and mdat
+   */
+  if (dashstream->is_isobmff && dashdemux->allow_trickmode_key_units
+      && (demux->segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS)
+      && dashstream->active_stream->mimeType == GST_STREAM_VIDEO)
+    stream->discont = TRUE;
+
+  /* Only handle fragment advancing specifically for SIDX if we're not
+   * in key unit mode */
+  if (!(dashstream->moof_sync_samples
+          && GST_ADAPTIVE_DEMUX (dashdemux)->
+          segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS)
+      && gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client)
+      && dashstream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED) {
     /* fragment is advanced on data_received when byte limits are reached */
     if (gst_dash_demux_stream_has_next_fragment (stream))
       return GST_FLOW_OK;
@@ -1648,6 +1938,570 @@
       stream->fragment.duration);
 }
 
+static gboolean
+gst_dash_demux_need_another_chunk (GstAdaptiveDemuxStream * stream)
+{
+  GstDashDemux *dashdemux = (GstDashDemux *) stream->demux;
+  GstDashDemuxStream *dashstream = (GstDashDemuxStream *) stream;
+
+  /* We're chunked downloading for ISOBMFF in KEY_UNITS mode for the actual
+   * fragment until we parsed the moof and arrived at the mdat. 8192 is a
+   * random guess for the moof size
+   */
+  if (dashstream->is_isobmff
+      && (GST_ADAPTIVE_DEMUX (stream->demux)->
+          segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS)
+      && dashstream->active_stream->mimeType == GST_STREAM_VIDEO
+      && !stream->downloading_header && !stream->downloading_index
+      && dashdemux->allow_trickmode_key_units) {
+    if (dashstream->isobmff_parser.current_fourcc != GST_ISOFF_FOURCC_MDAT) {
+      /* Need to download the moof first to know anything */
+
+      stream->fragment.chunk_size = 8192;
+      /* Do we have the first fourcc already or are we in the middle */
+      if (dashstream->isobmff_parser.current_fourcc == 0) {
+        stream->fragment.chunk_size += dashstream->moof_average_size;
+        if (dashstream->first_sync_sample_always_after_moof)
+          stream->fragment.chunk_size +=
+              dashstream->first_sync_sample_average_size;
+      }
+
+      if (gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client) &&
+          dashstream->sidx_parser.sidx.entries) {
+        guint64 sidx_end_offset =
+            dashstream->sidx_base_offset +
+            SIDX_CURRENT_ENTRY (dashstream)->offset +
+            SIDX_CURRENT_ENTRY (dashstream)->size;
+
+        if (stream->fragment.chunk_size +
+            dashstream->isobmff_parser.current_offset > sidx_end_offset) {
+          stream->fragment.chunk_size =
+              sidx_end_offset - dashstream->isobmff_parser.current_offset;
+        }
+      }
+    } else if (dashstream->moof && dashstream->moof_sync_samples) {
+      /* Have the moof, either we're done now or we want to download the
+       * directly following sync sample */
+      if (dashstream->first_sync_sample_after_moof
+          && dashstream->current_sync_sample == 0) {
+        GstDashStreamSyncSample *sync_sample =
+            &g_array_index (dashstream->moof_sync_samples,
+            GstDashStreamSyncSample, 0);
+        guint64 end_offset = sync_sample->end_offset + 1;
+
+        if (gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client) &&
+            dashstream->sidx_parser.sidx.entries) {
+          guint64 sidx_end_offset =
+              dashstream->sidx_base_offset +
+              SIDX_CURRENT_ENTRY (dashstream)->offset +
+              SIDX_CURRENT_ENTRY (dashstream)->size;
+
+          if (end_offset > sidx_end_offset) {
+            end_offset = sidx_end_offset;
+          }
+        }
+
+        if (dashstream->isobmff_parser.current_offset < end_offset) {
+          stream->fragment.chunk_size =
+              end_offset - dashstream->isobmff_parser.current_offset;
+        } else {
+          stream->fragment.chunk_size = 0;
+        }
+      } else {
+        stream->fragment.chunk_size = 0;
+      }
+    } else {
+      /* Have moof but can't do key-units mode, just download until the end */
+      stream->fragment.chunk_size = -1;
+    }
+  } else {
+    /* We might've decided that we can't allow key-unit only
+     * trickmodes while doing chunked downloading. In that case
+     * just download from here to the end now */
+    if (dashstream->moof
+        && (GST_ADAPTIVE_DEMUX (stream->demux)->
+            segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS))
+      stream->fragment.chunk_size = -1;
+    else
+      stream->fragment.chunk_size = 0;
+  }
+
+  return stream->fragment.chunk_size != 0;
+}
+
+static GstBuffer *
+gst_dash_demux_parse_isobmff (GstAdaptiveDemux * demux,
+    GstDashDemuxStream * dash_stream, GstBuffer * buffer)
+{
+  GstAdaptiveDemuxStream *stream = (GstAdaptiveDemuxStream *) dash_stream;
+  gsize available;
+  guint index_header_or_data;
+  GstMapInfo map;
+  GstByteReader reader;
+  guint32 fourcc;
+  guint header_size;
+  guint64 size, buffer_offset;
+
+  /* This must not be called when we're in the mdat. We only look at the mdat
+   * header and then stop parsing the boxes as we're only interested in the
+   * metadata! Handling mdat is the job of the surrounding code, as well as
+   * stopping or starting the next fragment when mdat is over (=> sidx)
+   */
+  g_assert (dash_stream->isobmff_parser.current_fourcc !=
+      GST_ISOFF_FOURCC_MDAT);
+
+  if (stream->downloading_index)
+    index_header_or_data = 1;
+  else if (stream->downloading_header)
+    index_header_or_data = 2;
+  else
+    index_header_or_data = 3;
+
+  if (dash_stream->isobmff_parser.index_header_or_data != index_header_or_data) {
+    /* Clear pending data */
+    if (gst_adapter_available (dash_stream->isobmff_adapter) != 0)
+      GST_ERROR_OBJECT (stream->pad,
+          "Had pending ISOBMFF data after switch between index/header/data");
+    gst_adapter_clear (dash_stream->isobmff_adapter);
+    dash_stream->isobmff_parser.current_fourcc = 0;
+    dash_stream->isobmff_parser.current_start_offset = 0;
+    dash_stream->isobmff_parser.current_offset = -1;
+    dash_stream->isobmff_parser.current_size = 0;
+    dash_stream->isobmff_parser.index_header_or_data = index_header_or_data;
+  }
+
+  if (dash_stream->isobmff_parser.current_offset == -1) {
+    dash_stream->isobmff_parser.current_offset =
+        GST_BUFFER_OFFSET_IS_VALID (buffer) ? GST_BUFFER_OFFSET (buffer) : 0;
+  }
+
+  gst_adapter_push (dash_stream->isobmff_adapter, buffer);
+
+  available = gst_adapter_available (dash_stream->isobmff_adapter);
+  buffer = gst_adapter_take_buffer (dash_stream->isobmff_adapter, available);
+  buffer_offset = dash_stream->isobmff_parser.current_offset;
+
+  /* Always at the start of a box here */
+  g_assert (dash_stream->isobmff_parser.current_size == 0);
+
+  /* At the start of a box => Parse it */
+  gst_buffer_map (buffer, &map, GST_MAP_READ);
+  gst_byte_reader_init (&reader, map.data, map.size);
+
+  /* While there are more boxes left to parse ... */
+  dash_stream->isobmff_parser.current_start_offset =
+      dash_stream->isobmff_parser.current_offset;
+  do {
+    dash_stream->isobmff_parser.current_fourcc = 0;
+    dash_stream->isobmff_parser.current_size = 0;
+
+    if (!gst_isoff_parse_box_header (&reader, &fourcc, NULL, &header_size,
+            &size)) {
+      break;
+    }
+
+    dash_stream->isobmff_parser.current_fourcc = fourcc;
+    if (size == 0) {
+      /* We assume this is mdat, anything else with "size until end"
+       * does not seem to make sense */
+      g_assert (dash_stream->isobmff_parser.current_fourcc ==
+          GST_ISOFF_FOURCC_MDAT);
+      dash_stream->isobmff_parser.current_size = -1;
+      break;
+    }
+
+    dash_stream->isobmff_parser.current_size = size;
+
+    /* Do we have the complete box or are at MDAT */
+    if (gst_byte_reader_get_remaining (&reader) < size - header_size ||
+        dash_stream->isobmff_parser.current_fourcc == GST_ISOFF_FOURCC_MDAT) {
+      /* Reset byte reader to the beginning of the box */
+      gst_byte_reader_set_pos (&reader,
+          gst_byte_reader_get_pos (&reader) - header_size);
+      break;
+    }
+
+    GST_LOG_OBJECT (stream->pad,
+        "box %" GST_FOURCC_FORMAT " at offset %" G_GUINT64_FORMAT " size %"
+        G_GUINT64_FORMAT, GST_FOURCC_ARGS (fourcc),
+        dash_stream->isobmff_parser.current_offset +
+        gst_byte_reader_get_pos (&reader) - header_size, size);
+
+    if (dash_stream->isobmff_parser.current_fourcc == GST_ISOFF_FOURCC_MOOF) {
+      GstByteReader sub_reader;
+
+      g_assert (dash_stream->moof == NULL);
+      g_assert (dash_stream->moof_sync_samples == NULL);
+      gst_byte_reader_get_sub_reader (&reader, &sub_reader, size - header_size);
+      dash_stream->moof = gst_isoff_moof_box_parse (&sub_reader);
+      dash_stream->moof_offset =
+          dash_stream->isobmff_parser.current_start_offset;
+      dash_stream->moof_size = size;
+      dash_stream->current_sync_sample = -1;
+
+      if (dash_stream->moof_average_size) {
+        if (dash_stream->moof_average_size < size)
+          dash_stream->moof_average_size =
+              (size * 3 + dash_stream->moof_average_size) / 4;
+        else
+          dash_stream->moof_average_size =
+              (size + dash_stream->moof_average_size + 3) / 4;
+      } else {
+        dash_stream->moof_average_size = size;
+      }
+    } else {
+      gst_byte_reader_skip (&reader, size - header_size);
+    }
+
+    dash_stream->isobmff_parser.current_fourcc = 0;
+    dash_stream->isobmff_parser.current_start_offset += size;
+    dash_stream->isobmff_parser.current_size = 0;
+  } while (gst_byte_reader_get_remaining (&reader) > 0);
+
+  gst_buffer_unmap (buffer, &map);
+
+  /* mdat? Push all we have and wait for it to be over */
+  if (dash_stream->isobmff_parser.current_fourcc == GST_ISOFF_FOURCC_MDAT) {
+    GstBuffer *pending;
+
+    GST_LOG_OBJECT (stream->pad,
+        "box %" GST_FOURCC_FORMAT " at offset %" G_GUINT64_FORMAT " size %"
+        G_GUINT64_FORMAT, GST_FOURCC_ARGS (fourcc),
+        dash_stream->isobmff_parser.current_offset +
+        gst_byte_reader_get_pos (&reader) - header_size,
+        dash_stream->isobmff_parser.current_size);
+
+    /* At mdat. Move the start of the mdat to the adapter and have everything
+     * else be pushed. We parsed all header boxes at this point and are not
+     * supposed to be called again until the next moof */
+    pending = _gst_buffer_split (buffer, gst_byte_reader_get_pos (&reader), -1);
+    gst_adapter_push (dash_stream->isobmff_adapter, pending);
+    dash_stream->isobmff_parser.current_offset +=
+        gst_byte_reader_get_pos (&reader);
+    dash_stream->isobmff_parser.current_size = 0;
+
+    GST_BUFFER_OFFSET (buffer) = buffer_offset;
+    GST_BUFFER_OFFSET_END (buffer) =
+        buffer_offset + gst_buffer_get_size (buffer);
+    return buffer;
+  } else if (gst_byte_reader_get_pos (&reader) != 0) {
+    GstBuffer *pending;
+
+    /* Multiple complete boxes and no mdat? Push them and keep the remainder,
+     * which is the start of the next box if any remainder */
+
+    pending = _gst_buffer_split (buffer, gst_byte_reader_get_pos (&reader), -1);
+    gst_adapter_push (dash_stream->isobmff_adapter, pending);
+    dash_stream->isobmff_parser.current_offset +=
+        gst_byte_reader_get_pos (&reader);
+    dash_stream->isobmff_parser.current_size = 0;
+
+    GST_BUFFER_OFFSET (buffer) = buffer_offset;
+    GST_BUFFER_OFFSET_END (buffer) =
+        buffer_offset + gst_buffer_get_size (buffer);
+    return buffer;
+  }
+
+  /* Not even a single complete, non-mdat box, wait */
+  dash_stream->isobmff_parser.current_size = 0;
+  gst_adapter_push (dash_stream->isobmff_adapter, buffer);
+
+  return NULL;
+}
+
+static gboolean
+gst_dash_demux_find_sync_samples (GstAdaptiveDemux * demux,
+    GstAdaptiveDemuxStream * stream)
+{
+  GstDashDemux *dashdemux = (GstDashDemux *) stream->demux;
+  GstDashDemuxStream *dash_stream = (GstDashDemuxStream *) stream;
+  guint i;
+  guint32 track_id = 0;
+  guint64 prev_traf_end;
+  gboolean trex_sample_flags = FALSE;
+
+  if (!dash_stream->moof) {
+    dashdemux->allow_trickmode_key_units = FALSE;
+    return FALSE;
+  }
+
+  dash_stream->current_sync_sample = -1;
+  dash_stream->moof_sync_samples =
+      g_array_new (FALSE, FALSE, sizeof (GstDashStreamSyncSample));
+
+  prev_traf_end = dash_stream->moof_offset;
+
+  /* generate table of keyframes and offsets */
+  for (i = 0; i < dash_stream->moof->traf->len; i++) {
+    GstTrafBox *traf = &g_array_index (dash_stream->moof->traf, GstTrafBox, i);
+    guint64 traf_offset = 0, prev_trun_end;
+    guint j;
+
+    if (i == 0) {
+      track_id = traf->tfhd.track_id;
+    } else if (track_id != traf->tfhd.track_id) {
+      GST_ERROR_OBJECT (stream->pad,
+          "moof with trafs of different track ids (%u != %u)", track_id,
+          traf->tfhd.track_id);
+      g_array_free (dash_stream->moof_sync_samples, TRUE);
+      dash_stream->moof_sync_samples = NULL;
+      dashdemux->allow_trickmode_key_units = FALSE;
+      return FALSE;
+    }
+
+    if (traf->tfhd.flags & GST_TFHD_FLAGS_BASE_DATA_OFFSET_PRESENT) {
+      traf_offset = traf->tfhd.base_data_offset;
+    } else if (traf->tfhd.flags & GST_TFHD_FLAGS_DEFAULT_BASE_IS_MOOF) {
+      traf_offset = dash_stream->moof_offset;
+    } else {
+      traf_offset = prev_traf_end;
+    }
+
+    prev_trun_end = traf_offset;
+
+    for (j = 0; j < traf->trun->len; j++) {
+      GstTrunBox *trun = &g_array_index (traf->trun, GstTrunBox, j);
+      guint64 trun_offset, prev_sample_end;
+      guint k;
+
+      if (trun->flags & GST_TRUN_FLAGS_DATA_OFFSET_PRESENT) {
+        trun_offset = traf_offset + trun->data_offset;
+      } else {
+        trun_offset = prev_trun_end;
+      }
+
+      prev_sample_end = trun_offset;
+      for (k = 0; k < trun->samples->len; k++) {
+        GstTrunSample *sample =
+            &g_array_index (trun->samples, GstTrunSample, k);
+        guint64 sample_offset;
+        guint32 sample_flags;
+#if 0
+        guint32 sample_duration;
+#endif
+
+        sample_offset = prev_sample_end;
+
+        if (trun->flags & GST_TRUN_FLAGS_SAMPLE_FLAGS_PRESENT) {
+          sample_flags = sample->sample_flags;
+        } else if ((trun->flags & GST_TRUN_FLAGS_FIRST_SAMPLE_FLAGS_PRESENT)
+            && k == 0) {
+          sample_flags = trun->first_sample_flags;
+        } else if (traf->
+            tfhd.flags & GST_TFHD_FLAGS_DEFAULT_SAMPLE_FLAGS_PRESENT) {
+          sample_flags = traf->tfhd.default_sample_flags;
+        } else {
+          trex_sample_flags = TRUE;
+          continue;
+        }
+
+#if 0
+        if (trun->flags & GST_TRUN_FLAGS_SAMPLE_DURATION_PRESENT) {
+          sample_duration = sample->sample_duration;
+        } else if (traf->
+            tfhd.flags & GST_TFHD_FLAGS_DEFAULT_SAMPLE_DURATION_PRESENT) {
+          sample_duration = traf->tfhd.default_sample_duration;
+        } else {
+          GST_FIXME_OBJECT (stream->pad,
+              "Sample duration given by trex - can't download only keyframes");
+          g_array_free (dash_stream->moof_sync_samples, TRUE);
+          dash_stream->moof_sync_samples = NULL;
+          return FALSE;
+        }
+#endif
+
+        if (trun->flags & GST_TRUN_FLAGS_SAMPLE_SIZE_PRESENT) {
+          prev_sample_end += sample->sample_size;
+        } else if (traf->
+            tfhd.flags & GST_TFHD_FLAGS_DEFAULT_SAMPLE_SIZE_PRESENT) {
+          prev_sample_end += traf->tfhd.default_sample_size;
+        } else {
+          GST_FIXME_OBJECT (stream->pad,
+              "Sample size given by trex - can't download only keyframes");
+          g_array_free (dash_stream->moof_sync_samples, TRUE);
+          dash_stream->moof_sync_samples = NULL;
+          dashdemux->allow_trickmode_key_units = FALSE;
+          return FALSE;
+        }
+
+        /* Non-non-sync sample aka sync sample */
+        if (!GST_ISOFF_SAMPLE_FLAGS_SAMPLE_IS_NON_SYNC_SAMPLE (sample_flags) ||
+            GST_ISOFF_SAMPLE_FLAGS_SAMPLE_DEPENDS_ON (sample_flags) == 2) {
+          GstDashStreamSyncSample sync_sample =
+              { sample_offset, prev_sample_end - 1 };
+          /* TODO: need timestamps so we can decide to download or not */
+          g_array_append_val (dash_stream->moof_sync_samples, sync_sample);
+        }
+      }
+
+      prev_trun_end = prev_sample_end;
+    }
+
+    prev_traf_end = prev_trun_end;
+  }
+
+  if (trex_sample_flags) {
+    if (dash_stream->moof_sync_samples->len > 0) {
+      GST_LOG_OBJECT (stream->pad,
+          "Some sample flags given by trex but still found sync samples");
+    } else {
+      GST_FIXME_OBJECT (stream->pad,
+          "Sample flags given by trex - can't download only keyframes");
+      g_array_free (dash_stream->moof_sync_samples, TRUE);
+      dash_stream->moof_sync_samples = NULL;
+      dashdemux->allow_trickmode_key_units = FALSE;
+      return FALSE;
+    }
+  }
+
+  if (dash_stream->moof_sync_samples->len == 0) {
+    GST_LOG_OBJECT (stream->pad, "No sync samples found in fragment");
+    g_array_free (dash_stream->moof_sync_samples, TRUE);
+    dash_stream->moof_sync_samples = NULL;
+    dashdemux->allow_trickmode_key_units = FALSE;
+    return FALSE;
+  }
+
+  {
+    GstDashStreamSyncSample *sync_sample =
+        &g_array_index (dash_stream->moof_sync_samples, GstDashStreamSyncSample,
+        0);
+    guint size = sync_sample->end_offset + 1 - sync_sample->start_offset;
+
+    if (dash_stream->first_sync_sample_average_size) {
+      if (dash_stream->first_sync_sample_average_size < size)
+        dash_stream->first_sync_sample_average_size =
+            (size * 3 + dash_stream->first_sync_sample_average_size) / 4;
+      else
+        dash_stream->first_sync_sample_average_size =
+            (size + dash_stream->first_sync_sample_average_size * 3) / 4;
+    } else {
+      dash_stream->first_sync_sample_average_size = size;
+    }
+
+    if (dash_stream->moof_offset + dash_stream->moof_size + 8 <
+        sync_sample->start_offset) {
+      dash_stream->first_sync_sample_after_moof = FALSE;
+      dash_stream->first_sync_sample_always_after_moof = FALSE;
+    } else {
+      dash_stream->first_sync_sample_after_moof =
+          (dash_stream->moof_sync_samples->len == 1
+          || demux->segment.rate > 0.0);
+    }
+  }
+
+  return TRUE;
+}
+
+
+static GstFlowReturn
+gst_dash_demux_handle_isobmff_buffer (GstAdaptiveDemux * demux,
+    GstAdaptiveDemuxStream * stream, GstBuffer * buffer)
+{
+  GstDashDemuxStream *dash_stream = (GstDashDemuxStream *) stream;
+  GstDashDemux *dashdemux = GST_DASH_DEMUX_CAST (demux);
+  GstFlowReturn ret = GST_FLOW_OK;
+
+  if (dashdemux->allow_trickmode_key_units) {
+    if (dash_stream->isobmff_parser.current_fourcc != GST_ISOFF_FOURCC_MDAT) {
+      buffer = gst_dash_demux_parse_isobmff (demux, dash_stream, buffer);
+
+      if (buffer
+          && (ret =
+              gst_adaptive_demux_stream_push_buffer (stream,
+                  buffer)) != GST_FLOW_OK)
+        return ret;
+      if (dash_stream->isobmff_parser.current_fourcc != GST_ISOFF_FOURCC_MDAT)
+        return ret;
+
+      /* Jump to the next sync sample. As we're doing chunked downloading
+       * here, just drop data until our chunk is over so we can reuse the
+       * HTTP connection instead of having to create a new one or
+       * reuse the data if the sync sample follows the moof */
+      if (dash_stream->active_stream->mimeType == GST_STREAM_VIDEO
+          && gst_dash_demux_find_sync_samples (demux, stream) &&
+          GST_ADAPTIVE_DEMUX (stream->demux)->
+          segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS) {
+
+        if (dash_stream->first_sync_sample_after_moof) {
+          /* If we're here, don't throw away data but collect sync
+           * sample while we're at it below. We're doing chunked
+           * downloading so might need to adjust the next chunk size for
+           * the remainder */
+          dash_stream->current_sync_sample = 0;
+        } else {
+          gst_adapter_clear (dash_stream->isobmff_adapter);
+        }
+      }
+
+      if (gst_adapter_available (dash_stream->isobmff_adapter) == 0)
+        return ret;
+
+      /* We have some data from the mdat available in the adapter, handle it
+       * below in the push code */
+      buffer =
+          gst_adapter_take_buffer (dash_stream->isobmff_adapter,
+          gst_adapter_available (dash_stream->isobmff_adapter));
+    } else {
+      if (dash_stream->isobmff_parser.current_offset == -1) {
+        dash_stream->isobmff_parser.current_offset =
+            GST_BUFFER_OFFSET_IS_VALID (buffer) ? GST_BUFFER_OFFSET (buffer) :
+            0;
+      }
+    }
+
+    /* At mdat and isobmff and trick modes are allowed */
+
+    /* We're actually running in key-units trick mode */
+    if (dash_stream->active_stream->mimeType == GST_STREAM_VIDEO
+        && dash_stream->moof_sync_samples
+        && GST_ADAPTIVE_DEMUX (stream->demux)->
+        segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS) {
+
+      if (dash_stream->current_sync_sample == -1) {
+        /* We're doing chunked downloading and wait for finishing the current
+         * chunk so we can jump to the first keyframe */
+        gst_buffer_unref (buffer);
+        return GST_FLOW_OK;
+      } else if (dash_stream->first_sync_sample_after_moof
+          && dash_stream->current_sync_sample == 0) {
+        GstDashStreamSyncSample *sync_sample =
+            &g_array_index (dash_stream->moof_sync_samples,
+            GstDashStreamSyncSample, 0);
+        guint64 end_offset =
+            dash_stream->isobmff_parser.current_offset +
+            gst_buffer_get_size (buffer);
+
+        /* If the first keyframe follows directly the moof and we're
+         * downloading it here, make sure to not download too much */
+
+        if (end_offset > sync_sample->end_offset + 1) {
+          guint64 remaining =
+              sync_sample->end_offset + 1 -
+              dash_stream->isobmff_parser.current_offset;
+
+          if (remaining) {
+            GstBuffer *sub =
+                gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, 0,
+                remaining);
+            gst_buffer_unref (buffer);
+            buffer = sub;
+          } else {
+            gst_buffer_unref (buffer);
+            return GST_FLOW_OK;
+          }
+        }
+      }
+    }
+
+    GST_BUFFER_OFFSET (buffer) = dash_stream->isobmff_parser.current_offset;
+    dash_stream->isobmff_parser.current_offset += gst_buffer_get_size (buffer);
+    GST_BUFFER_OFFSET_END (buffer) = dash_stream->isobmff_parser.current_offset;
+  }
+
+  return gst_adaptive_demux_stream_push_buffer (stream, buffer);
+}
+
 static GstFlowReturn
 gst_dash_demux_data_received (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream, GstBuffer * buffer)
@@ -1657,8 +2511,12 @@
   GstFlowReturn ret = GST_FLOW_OK;
   guint index_header_or_data;
 
-  if (!gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client))
-    return gst_adaptive_demux_stream_push_buffer (stream, buffer);
+  if (!gst_mpd_client_has_isoff_ondemand_profile (dashdemux->client)) {
+    if (dash_stream->is_isobmff)
+      return gst_dash_demux_handle_isobmff_buffer (demux, stream, buffer);
+    else
+      return gst_adaptive_demux_stream_push_buffer (stream, buffer);
+  }
 
   if (stream->downloading_index)
     index_header_or_data = 1;
@@ -1741,25 +2599,52 @@
       if (dash_stream->sidx_current_offset + available < sidx_end_offset) {
         buffer = gst_adapter_take_buffer (dash_stream->sidx_adapter, available);
       } else {
-        buffer =
-            gst_adapter_take_buffer (dash_stream->sidx_adapter,
-            sidx_end_offset - dash_stream->sidx_current_offset);
-        advance = TRUE;
+        /* In key-units mode, we advance the fragments manually once the
+         * current key-unit is over but throw away all data that is after
+         * the current sidx entry end */
+        if (dash_stream->moof_sync_samples
+            && (GST_ADAPTIVE_DEMUX (stream->demux)->
+                segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS)) {
+          if (sidx_end_offset <= dash_stream->sidx_current_offset) {
+            buffer = NULL;
+            gst_adapter_clear (dash_stream->sidx_adapter);
+          } else {
+            buffer =
+                gst_adapter_take_buffer (dash_stream->sidx_adapter,
+                sidx_end_offset - dash_stream->sidx_current_offset);
+          }
+        } else {
+          buffer =
+              gst_adapter_take_buffer (dash_stream->sidx_adapter,
+              sidx_end_offset - dash_stream->sidx_current_offset);
+          advance = TRUE;
+        }
       }
-      GST_BUFFER_OFFSET (buffer) = dash_stream->sidx_current_offset;
-      GST_BUFFER_OFFSET_END (buffer) =
-          GST_BUFFER_OFFSET (buffer) + gst_buffer_get_size (buffer);
-      dash_stream->sidx_current_offset = GST_BUFFER_OFFSET_END (buffer);
-      ret = gst_adaptive_demux_stream_push_buffer (stream, buffer);
-      if (advance) {
-        GstFlowReturn new_ret;
-        new_ret =
-            gst_adaptive_demux_stream_advance_fragment (demux, stream,
-            SIDX_CURRENT_ENTRY (dash_stream)->duration);
 
-        /* only overwrite if it was OK before */
-        if (ret == GST_FLOW_OK)
-          ret = new_ret;
+      if (buffer != NULL) {
+        GST_BUFFER_OFFSET (buffer) = dash_stream->sidx_current_offset;
+        GST_BUFFER_OFFSET_END (buffer) =
+            GST_BUFFER_OFFSET (buffer) + gst_buffer_get_size (buffer);
+        dash_stream->sidx_current_offset = GST_BUFFER_OFFSET_END (buffer);
+
+        if (dash_stream->is_isobmff)
+          ret = gst_dash_demux_handle_isobmff_buffer (demux, stream, buffer);
+        else
+          ret = gst_adaptive_demux_stream_push_buffer (stream, buffer);
+
+        if (!(dash_stream->moof_sync_samples
+                && (GST_ADAPTIVE_DEMUX (stream->demux)->
+                    segment.flags & GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS))
+            && advance) {
+          GstFlowReturn new_ret;
+          new_ret =
+              gst_adaptive_demux_stream_advance_fragment (demux, stream,
+              SIDX_CURRENT_ENTRY (dash_stream)->duration);
+
+          /* only overwrite if it was OK before */
+          if (ret == GST_FLOW_OK)
+            ret = new_ret;
+        }
       }
     }
   } else {
@@ -1772,7 +2657,10 @@
         GST_BUFFER_OFFSET (buffer) + gst_buffer_get_size (buffer);
     dash_stream->sidx_current_offset = GST_BUFFER_OFFSET_END (buffer);
 
-    ret = gst_adaptive_demux_stream_push_buffer (stream, buffer);
+    if (dash_stream->is_isobmff)
+      return gst_dash_demux_handle_isobmff_buffer (demux, stream, buffer);
+    else
+      return gst_adaptive_demux_stream_push_buffer (stream, buffer);
   }
 
   return ret;
@@ -1786,6 +2674,8 @@
   gst_isoff_sidx_parser_clear (&dash_stream->sidx_parser);
   if (dash_stream->sidx_adapter)
     g_object_unref (dash_stream->sidx_adapter);
+  if (dash_stream->isobmff_adapter)
+    g_object_unref (dash_stream->isobmff_adapter);
 }
 
 static GstDashDemuxClockDrift *
diff --git a/ext/dash/gstdashdemux.h b/ext/dash/gstdashdemux.h
index 5f0094b..0757d76 100644
--- a/ext/dash/gstdashdemux.h
+++ b/ext/dash/gstdashdemux.h
@@ -76,6 +76,26 @@
   guint64 sidx_current_offset;
   /* index = 1, header = 2, data = 3 */
   guint sidx_index_header_or_data;
+
+  /* ISOBMFF box parsing */
+  gboolean is_isobmff;
+  GstAdapter *isobmff_adapter;
+  struct {
+    /* index = 1, header = 2, data = 3 */
+    guint index_header_or_data;
+    guint32 current_fourcc;
+    guint64 current_start_offset;
+    guint64 current_offset;
+    guint64 current_size;
+  } isobmff_parser;
+
+  GstMoofBox *moof;
+  guint64 moof_offset, moof_size;
+  GArray *moof_sync_samples;
+  guint current_sync_sample;
+
+  guint64 moof_average_size, first_sync_sample_average_size;
+  gboolean first_sync_sample_after_moof, first_sync_sample_always_after_moof;
 };
 
 /**
@@ -100,11 +120,16 @@
   /* Properties */
   GstClockTime max_buffering_time;      /* Maximum buffering time accumulated during playback */
   guint64 max_bitrate;          /* max of bitrate supported by target decoder         */
+  gint max_video_width, max_video_height;
+  gint max_video_framerate_n, max_video_framerate_d;
   gchar* default_presentation_delay; /* presentation time delay if MPD@suggestedPresentationDelay is not present */
 
   gint n_audio_streams;
   gint n_video_streams;
   gint n_subtitle_streams;
+
+  gboolean trickmode_no_audio;
+  gboolean allow_trickmode_key_units;
 };
 
 struct _GstDashDemuxClass
diff --git a/ext/dash/gstisoff.c b/ext/dash/gstisoff.c
index 3c30393..38e3ddc 100644
--- a/ext/dash/gstisoff.c
+++ b/ext/dash/gstisoff.c
@@ -25,6 +25,328 @@
 #include "gstisoff.h"
 #include <gst/base/gstbytereader.h>
 
+#include <string.h>
+
+/* gst_isoff_parse_box:
+ * @reader:
+ * @type: type that was found at the current position
+ * @extended_type: (allow-none): extended type if type=='uuid'
+ * @header_size: (allow-none): size of the box header (type, extended type and size)
+ * @size: size of the complete box including type, extended type and size
+ *
+ * Advances the byte reader to the start of the box content. To skip
+ * over the complete box, skip size - header_size bytes.
+ *
+ * Returns: TRUE if a box header could be parsed, FALSE if more data is needed
+ */
+gboolean
+gst_isoff_parse_box_header (GstByteReader * reader, guint32 * type,
+    guint8 extended_type[16], guint * header_size, guint64 * size)
+{
+  guint header_start_offset;
+  guint32 size_field;
+
+  header_start_offset = gst_byte_reader_get_pos (reader);
+
+  if (gst_byte_reader_get_remaining (reader) < 8)
+    goto not_enough_data;
+
+  size_field = gst_byte_reader_get_uint32_be_unchecked (reader);
+  *type = gst_byte_reader_get_uint32_le_unchecked (reader);
+
+  if (size_field == 1) {
+    if (gst_byte_reader_get_remaining (reader) < 8)
+      goto not_enough_data;
+    *size = gst_byte_reader_get_uint64_be_unchecked (reader);
+  } else {
+    *size = size_field;
+  }
+
+  if (*type == GST_ISOFF_FOURCC_UUID) {
+    if (gst_byte_reader_get_remaining (reader) < 16)
+      goto not_enough_data;
+
+    if (extended_type)
+      memcpy (extended_type, gst_byte_reader_get_data_unchecked (reader, 16),
+          16);
+  }
+
+  if (header_size)
+    *header_size = gst_byte_reader_get_pos (reader) - header_start_offset;
+
+  return TRUE;
+
+not_enough_data:
+  gst_byte_reader_set_pos (reader, header_start_offset);
+  return FALSE;
+}
+
+static void
+gst_isoff_trun_box_clear (GstTrunBox * trun)
+{
+  if (trun->samples)
+    g_array_free (trun->samples, TRUE);
+}
+
+static void
+gst_isoff_traf_box_clear (GstTrafBox * traf)
+{
+  if (traf->trun)
+    g_array_free (traf->trun, TRUE);
+}
+
+static gboolean
+gst_isoff_mfhd_box_parse (GstMfhdBox * mfhd, GstByteReader * reader)
+{
+  guint8 version;
+  guint32 flags;
+
+  if (gst_byte_reader_get_remaining (reader) != 8)
+    return FALSE;
+
+  version = gst_byte_reader_get_uint8_unchecked (reader);
+  if (version != 0)
+    return FALSE;
+
+  flags = gst_byte_reader_get_uint24_be_unchecked (reader);
+  if (flags != 0)
+    return FALSE;
+
+  mfhd->sequence_number = gst_byte_reader_get_uint32_be_unchecked (reader);
+
+  return TRUE;
+}
+
+static gboolean
+gst_isoff_tfhd_box_parse (GstTfhdBox * tfhd, GstByteReader * reader)
+{
+  memset (tfhd, 0, sizeof (*tfhd));
+
+  if (gst_byte_reader_get_remaining (reader) < 4)
+    return FALSE;
+
+  tfhd->version = gst_byte_reader_get_uint8_unchecked (reader);
+  if (tfhd->version != 0)
+    return FALSE;
+
+  tfhd->flags = gst_byte_reader_get_uint24_be_unchecked (reader);
+
+  if (!gst_byte_reader_get_uint32_be (reader, &tfhd->track_id))
+    return FALSE;
+
+  if ((tfhd->flags & GST_TFHD_FLAGS_BASE_DATA_OFFSET_PRESENT) &&
+      !gst_byte_reader_get_uint64_be (reader, &tfhd->base_data_offset))
+    return FALSE;
+
+  if ((tfhd->flags & GST_TFHD_FLAGS_SAMPLE_DESCRIPTION_INDEX_PRESENT) &&
+      !gst_byte_reader_get_uint32_be (reader, &tfhd->sample_description_index))
+    return FALSE;
+
+  if ((tfhd->flags & GST_TFHD_FLAGS_DEFAULT_SAMPLE_DURATION_PRESENT) &&
+      !gst_byte_reader_get_uint32_be (reader, &tfhd->default_sample_duration))
+    return FALSE;
+
+  if ((tfhd->flags & GST_TFHD_FLAGS_DEFAULT_SAMPLE_SIZE_PRESENT) &&
+      !gst_byte_reader_get_uint32_be (reader, &tfhd->default_sample_size))
+    return FALSE;
+
+  if ((tfhd->flags & GST_TFHD_FLAGS_DEFAULT_SAMPLE_FLAGS_PRESENT) &&
+      !gst_byte_reader_get_uint32_be (reader, &tfhd->default_sample_flags))
+    return FALSE;
+
+  return TRUE;
+}
+
+static gboolean
+gst_isoff_trun_box_parse (GstTrunBox * trun, GstByteReader * reader)
+{
+  gint i;
+
+  memset (trun, 0, sizeof (*trun));
+
+  if (gst_byte_reader_get_remaining (reader) < 4)
+    return FALSE;
+
+  trun->version = gst_byte_reader_get_uint8_unchecked (reader);
+  if (trun->version != 0 && trun->version != 1)
+    return FALSE;
+
+  trun->flags = gst_byte_reader_get_uint24_be_unchecked (reader);
+
+  if (!gst_byte_reader_get_uint32_be (reader, &trun->sample_count))
+    return FALSE;
+
+  trun->samples =
+      g_array_sized_new (FALSE, FALSE, sizeof (GstTrunSample),
+      trun->sample_count);
+
+  if ((trun->flags & GST_TRUN_FLAGS_DATA_OFFSET_PRESENT) &&
+      !gst_byte_reader_get_uint32_be (reader, (guint32 *) & trun->data_offset))
+    return FALSE;
+
+  if ((trun->flags & GST_TRUN_FLAGS_FIRST_SAMPLE_FLAGS_PRESENT) &&
+      !gst_byte_reader_get_uint32_be (reader, &trun->first_sample_flags))
+    return FALSE;
+
+  for (i = 0; i < trun->sample_count; i++) {
+    GstTrunSample sample = { 0, };
+
+    if ((trun->flags & GST_TRUN_FLAGS_SAMPLE_DURATION_PRESENT) &&
+        !gst_byte_reader_get_uint32_be (reader, &sample.sample_duration))
+      goto error;
+
+    if ((trun->flags & GST_TRUN_FLAGS_SAMPLE_SIZE_PRESENT) &&
+        !gst_byte_reader_get_uint32_be (reader, &sample.sample_size))
+      goto error;
+
+    if ((trun->flags & GST_TRUN_FLAGS_SAMPLE_FLAGS_PRESENT) &&
+        !gst_byte_reader_get_uint32_be (reader, &sample.sample_flags))
+      goto error;
+
+    if ((trun->flags & GST_TRUN_FLAGS_SAMPLE_COMPOSITION_TIME_OFFSETS_PRESENT)
+        && !gst_byte_reader_get_uint32_be (reader,
+            &sample.sample_composition_time_offset.u))
+      goto error;
+
+    g_array_append_val (trun->samples, sample);
+  }
+
+  return TRUE;
+
+error:
+  gst_isoff_trun_box_clear (trun);
+  return FALSE;
+}
+
+static gboolean
+gst_isoff_traf_box_parse (GstTrafBox * traf, GstByteReader * reader)
+{
+  gboolean had_tfhd = FALSE;
+
+  memset (traf, 0, sizeof (*traf));
+  traf->trun = g_array_new (FALSE, FALSE, sizeof (GstTrunBox));
+  g_array_set_clear_func (traf->trun,
+      (GDestroyNotify) gst_isoff_trun_box_clear);
+
+  while (gst_byte_reader_get_remaining (reader) > 0) {
+    guint32 fourcc;
+    guint header_size;
+    guint64 size;
+
+    if (!gst_isoff_parse_box_header (reader, &fourcc, NULL, &header_size,
+            &size))
+      goto error;
+    if (gst_byte_reader_get_remaining (reader) < size - header_size)
+      goto error;
+
+    switch (fourcc) {
+      case GST_ISOFF_FOURCC_TFHD:{
+        GstByteReader sub_reader;
+
+        gst_byte_reader_get_sub_reader (reader, &sub_reader,
+            size - header_size);
+        if (!gst_isoff_tfhd_box_parse (&traf->tfhd, &sub_reader))
+          goto error;
+        had_tfhd = TRUE;
+        break;
+      }
+      case GST_ISOFF_FOURCC_TRUN:{
+        GstByteReader sub_reader;
+        GstTrunBox trun;
+
+        gst_byte_reader_get_sub_reader (reader, &sub_reader,
+            size - header_size);
+        if (!gst_isoff_trun_box_parse (&trun, &sub_reader))
+          goto error;
+
+        g_array_append_val (traf->trun, trun);
+        break;
+      }
+      default:
+        gst_byte_reader_skip (reader, size - header_size);
+        break;
+    }
+  }
+
+  if (!had_tfhd)
+    goto error;
+
+  return TRUE;
+
+error:
+  gst_isoff_traf_box_clear (traf);
+
+  return FALSE;
+}
+
+GstMoofBox *
+gst_isoff_moof_box_parse (GstByteReader * reader)
+{
+  GstMoofBox *moof;
+  gboolean had_mfhd = FALSE;
+
+  moof = g_new0 (GstMoofBox, 1);
+  moof->traf = g_array_new (FALSE, FALSE, sizeof (GstTrafBox));
+  g_array_set_clear_func (moof->traf,
+      (GDestroyNotify) gst_isoff_traf_box_clear);
+
+  while (gst_byte_reader_get_remaining (reader) > 0) {
+    guint32 fourcc;
+    guint header_size;
+    guint64 size;
+
+    if (!gst_isoff_parse_box_header (reader, &fourcc, NULL, &header_size,
+            &size))
+      goto error;
+    if (gst_byte_reader_get_remaining (reader) < size - header_size)
+      goto error;
+
+    switch (fourcc) {
+      case GST_ISOFF_FOURCC_MFHD:{
+        GstByteReader sub_reader;
+
+        gst_byte_reader_get_sub_reader (reader, &sub_reader,
+            size - header_size);
+        if (!gst_isoff_mfhd_box_parse (&moof->mfhd, &sub_reader))
+          goto error;
+        had_mfhd = TRUE;
+        break;
+      }
+      case GST_ISOFF_FOURCC_TRAF:{
+        GstByteReader sub_reader;
+        GstTrafBox traf;
+
+        gst_byte_reader_get_sub_reader (reader, &sub_reader,
+            size - header_size);
+        if (!gst_isoff_traf_box_parse (&traf, &sub_reader))
+          goto error;
+
+        g_array_append_val (moof->traf, traf);
+        break;
+      }
+      default:
+        gst_byte_reader_skip (reader, size - header_size);
+        break;
+    }
+  }
+
+  if (!had_mfhd)
+    goto error;
+
+  return moof;
+
+error:
+  gst_isoff_moof_box_free (moof);
+  return NULL;
+}
+
+void
+gst_isoff_moof_box_free (GstMoofBox * moof)
+{
+  g_array_free (moof->traf, TRUE);
+  g_free (moof);
+}
+
 void
 gst_isoff_sidx_parser_init (GstSidxParser * parser)
 {
@@ -75,30 +397,27 @@
 
   switch (parser->status) {
     case GST_ISOFF_SIDX_PARSER_INIT:
-      if (gst_byte_reader_get_remaining (&reader) < GST_ISOFF_FULL_BOX_SIZE) {
+      if (!gst_isoff_parse_box_header (&reader, &fourcc, NULL, NULL,
+              &parser->size))
         break;
-      }
 
-      parser->size = gst_byte_reader_get_uint32_be_unchecked (&reader);
-      fourcc = gst_byte_reader_get_uint32_le_unchecked (&reader);
       if (fourcc != GST_ISOFF_FOURCC_SIDX) {
         res = GST_ISOFF_PARSER_UNEXPECTED;
         gst_byte_reader_set_pos (&reader, 0);
         break;
       }
-      if (parser->size == 1) {
-        if (gst_byte_reader_get_remaining (&reader) < 12) {
-          gst_byte_reader_set_pos (&reader, 0);
-          break;
-        }
 
-        parser->size = gst_byte_reader_get_uint64_be_unchecked (&reader);
-      }
       if (parser->size == 0) {
         res = GST_ISOFF_PARSER_ERROR;
         gst_byte_reader_set_pos (&reader, 0);
         break;
       }
+
+      /* Try again once we have enough data for the FullBox header */
+      if (gst_byte_reader_get_remaining (&reader) < 4) {
+        gst_byte_reader_set_pos (&reader, 0);
+        break;
+      }
       parser->sidx.version = gst_byte_reader_get_uint8_unchecked (&reader);
       parser->sidx.flags = gst_byte_reader_get_uint24_le_unchecked (&reader);
 
diff --git a/ext/dash/gstisoff.h b/ext/dash/gstisoff.h
index e535c69..ca7663a 100644
--- a/ext/dash/gstisoff.h
+++ b/ext/dash/gstisoff.h
@@ -26,6 +26,7 @@
 #define __GST_ISOFF_H__
 
 #include <gst/gst.h>
+#include <gst/base/base.h>
 
 G_BEGIN_DECLS
 
@@ -36,11 +37,106 @@
   GST_ISOFF_PARSER_ERROR
 } GstIsoffParserResult;
 
-/* this is the minimum size, it can be larger if it
- * uses extended size or type */
-#define GST_ISOFF_FULL_BOX_SIZE 12
+gboolean gst_isoff_parse_box_header (GstByteReader * reader, guint32 * type, guint8 extended_type[16], guint * header_size, guint64 * size);
 
+#define GST_ISOFF_FOURCC_UUID GST_MAKE_FOURCC('u','u','i','d')
+#define GST_ISOFF_FOURCC_MOOF GST_MAKE_FOURCC('m','o','o','f')
+#define GST_ISOFF_FOURCC_MFHD GST_MAKE_FOURCC('m','f','h','d')
+#define GST_ISOFF_FOURCC_TFHD GST_MAKE_FOURCC('t','f','h','d')
+#define GST_ISOFF_FOURCC_TRUN GST_MAKE_FOURCC('t','r','u','n')
+#define GST_ISOFF_FOURCC_TRAF GST_MAKE_FOURCC('t','r','a','f')
+#define GST_ISOFF_FOURCC_MDAT GST_MAKE_FOURCC('m','d','a','t')
 #define GST_ISOFF_FOURCC_SIDX GST_MAKE_FOURCC('s','i','d','x')
+
+#define GST_ISOFF_SAMPLE_FLAGS_IS_LEADING(flags)                   (((flags) >> 26) & 0x03)
+#define GST_ISOFF_SAMPLE_FLAGS_SAMPLE_DEPENDS_ON(flags)            (((flags) >> 24) & 0x03)
+#define GST_ISOFF_SAMPLE_FLAGS_SAMPLE_IS_DEPENDED_ON(flags)        (((flags) >> 22) & 0x03)
+#define GST_ISOFF_SAMPLE_FLAGS_SAMPLE_HAS_REDUNDANCY(flags)        (((flags) >> 20) & 0x03)
+#define GST_ISOFF_SAMPLE_FLAGS_SAMPLE_PADDING_VALUE(flags)         (((flags) >> 17) & 0x07)
+#define GST_ISOFF_SAMPLE_FLAGS_SAMPLE_IS_NON_SYNC_SAMPLE(flags)    (((flags) >> 16) & 0x01)
+#define GST_ISOFF_SAMPLE_FLAGS_SAMPLE_DEGRADATION_PRIORITY(flags)  (((flags) >>  0) & 0x0f)
+
+typedef struct _GstMfhdBox
+{
+  guint32 sequence_number;
+} GstMfhdBox;
+
+typedef enum
+{
+  GST_TFHD_FLAGS_BASE_DATA_OFFSET_PRESENT         = 0x000001,
+  GST_TFHD_FLAGS_SAMPLE_DESCRIPTION_INDEX_PRESENT = 0x000002,
+  GST_TFHD_FLAGS_DEFAULT_SAMPLE_DURATION_PRESENT  = 0x000008,
+  GST_TFHD_FLAGS_DEFAULT_SAMPLE_SIZE_PRESENT      = 0x000010,
+  GST_TFHD_FLAGS_DEFAULT_SAMPLE_FLAGS_PRESENT     = 0x000020,
+  GST_TFHD_FLAGS_DURATION_IS_EMPTY                = 0x010000,
+  GST_TFHD_FLAGS_DEFAULT_BASE_IS_MOOF             = 0x020000
+} GstTfhdFlags;
+
+typedef struct _GstTfhdBox
+{
+  guint8 version;
+  GstTfhdFlags flags;
+
+  guint32 track_id;
+
+  /* optional */
+  guint64 base_data_offset;
+  guint32 sample_description_index;
+  guint32 default_sample_duration;
+  guint32 default_sample_size;
+  guint32 default_sample_flags;
+} GstTfhdBox;
+
+typedef enum
+{
+  GST_TRUN_FLAGS_DATA_OFFSET_PRESENT                     = 0x000001,
+  GST_TRUN_FLAGS_FIRST_SAMPLE_FLAGS_PRESENT              = 0x000004,
+  GST_TRUN_FLAGS_SAMPLE_DURATION_PRESENT                 = 0x000100,
+  GST_TRUN_FLAGS_SAMPLE_SIZE_PRESENT                     = 0x000200,
+  GST_TRUN_FLAGS_SAMPLE_FLAGS_PRESENT                    = 0x000400,
+  GST_TRUN_FLAGS_SAMPLE_COMPOSITION_TIME_OFFSETS_PRESENT = 0x000800
+} GstTrunFlags;
+
+typedef struct _GstTrunBox
+{
+  guint8 version;
+  GstTrunFlags flags;
+
+  guint32 sample_count;
+
+  /* optional */
+  gint32 data_offset;
+  guint32 first_sample_flags;
+  GArray *samples;
+} GstTrunBox;
+
+typedef struct _GstTrunSample
+{
+  guint32 sample_duration;
+  guint32 sample_size;
+  guint32 sample_flags;
+
+  union {
+    guint32 u; /* version 0 */
+    gint32  s; /* others */
+  } sample_composition_time_offset;
+} GstTrunSample;
+
+typedef struct _GstTrafBox
+{
+  GstTfhdBox tfhd;
+  GArray *trun;
+} GstTrafBox;
+
+typedef struct _GstMoofBox
+{
+  GstMfhdBox mfhd;
+  GArray *traf;
+} GstMoofBox;
+
+GstMoofBox * gst_isoff_moof_box_parse (GstByteReader *reader);
+void gst_isoff_moof_box_free (GstMoofBox *moof);
+
 typedef struct _GstSidxBoxEntry
 {
   gboolean ref_type;
diff --git a/ext/dash/gstmpdparser.c b/ext/dash/gstmpdparser.c
index dd83165..10f0149 100644
--- a/ext/dash/gstmpdparser.c
+++ b/ext/dash/gstmpdparser.c
@@ -2453,7 +2453,8 @@
 
 gint
 gst_mpdparser_get_rep_idx_with_max_bandwidth (GList * Representations,
-    gint max_bandwidth)
+    gint max_bandwidth, gint max_video_width, gint max_video_height, gint
+    max_video_framerate_n, gint max_video_framerate_d)
 {
   GList *list = NULL, *best = NULL;
   GstRepresentationNode *representation;
@@ -2468,8 +2469,32 @@
     return gst_mpdparser_get_rep_idx_with_min_bandwidth (Representations);
 
   for (list = g_list_first (Representations); list; list = g_list_next (list)) {
+    GstFrameRate *framerate = NULL;
+
     representation = (GstRepresentationNode *) list->data;
-    if (representation && representation->bandwidth <= max_bandwidth &&
+
+    /* FIXME: Really? */
+    if (!representation)
+      continue;
+
+    framerate = representation->RepresentationBase->frameRate;
+    if (!framerate)
+      framerate = representation->RepresentationBase->maxFrameRate;
+
+    if (framerate && max_video_framerate_n > 0) {
+      if (gst_util_fraction_compare (framerate->num, framerate->den,
+              max_video_framerate_n, max_video_framerate_d) > 0)
+        continue;
+    }
+
+    if (max_video_width > 0
+        && representation->RepresentationBase->width > max_video_width)
+      continue;
+    if (max_video_height > 0
+        && representation->RepresentationBase->height > max_video_height)
+      continue;
+
+    if (representation->bandwidth <= max_bandwidth &&
         representation->bandwidth > best_bandwidth) {
       best = list;
       best_bandwidth = representation->bandwidth;
@@ -5989,3 +6014,29 @@
   }
   return value;
 }
+
+GstClockTime
+gst_mpd_client_get_maximum_segment_duration (GstMpdClient * client)
+{
+  GstClockTime ret = GST_CLOCK_TIME_NONE, dur;
+  GList *stream;
+
+  g_return_val_if_fail (client != NULL, GST_CLOCK_TIME_NONE);
+  g_return_val_if_fail (client->mpd_node != NULL, GST_CLOCK_TIME_NONE);
+
+  if (client->mpd_node->maxSegmentDuration != GST_MPD_DURATION_NONE) {
+    return client->mpd_node->maxSegmentDuration * GST_MSECOND;
+  }
+
+  /* According to the DASH specification, if maxSegmentDuration is not present:
+     "If not present, then the maximum Segment duration shall be the maximum
+     duration of any Segment documented in this MPD"
+   */
+  for (stream = client->active_streams; stream; stream = g_list_next (stream)) {
+    dur = gst_mpd_client_get_segment_duration (client, stream->data, NULL);
+    if (dur != GST_CLOCK_TIME_NONE && (dur > ret || ret == GST_CLOCK_TIME_NONE)) {
+      ret = dur;
+    }
+  }
+  return ret;
+}
diff --git a/ext/dash/gstmpdparser.h b/ext/dash/gstmpdparser.h
index 1b303aa..85b97ea 100644
--- a/ext/dash/gstmpdparser.h
+++ b/ext/dash/gstmpdparser.h
@@ -538,6 +538,7 @@
 gboolean gst_mpd_client_setup_representation (GstMpdClient *client, GstActiveStream *stream, GstRepresentationNode *representation);
 GstClockTime gst_mpd_client_get_next_fragment_duration (GstMpdClient * client, GstActiveStream * stream);
 GstClockTime gst_mpd_client_get_media_presentation_duration (GstMpdClient *client);
+GstClockTime gst_mpd_client_get_maximum_segment_duration (GstMpdClient * client);
 gboolean gst_mpd_client_get_last_fragment_timestamp_end (GstMpdClient * client, guint stream_idx, GstClockTime * ts);
 gboolean gst_mpd_client_get_next_fragment_timestamp (GstMpdClient * client, guint stream_idx, GstClockTime * ts);
 gboolean gst_mpd_client_get_next_fragment (GstMpdClient *client, guint indexStream, GstMediaFragmentInfo * fragment);
@@ -560,7 +561,7 @@
 gboolean gst_mpd_client_has_previous_period (GstMpdClient * client);
 
 /* Representation selection */
-gint gst_mpdparser_get_rep_idx_with_max_bandwidth (GList *Representations, gint max_bandwidth);
+gint gst_mpdparser_get_rep_idx_with_max_bandwidth (GList *Representations, gint max_bandwidth, gint max_video_width, gint max_video_height, gint max_video_framerate_n, gint max_video_framerate_d);
 gint gst_mpdparser_get_rep_idx_with_min_bandwidth (GList * Representations);
 
 /* URL management */
diff --git a/ext/dc1394/Makefile.in b/ext/dc1394/Makefile.in
index 24096f9..b73f914 100644
--- a/ext/dc1394/Makefile.in
+++ b/ext/dc1394/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/directfb/Makefile.in b/ext/directfb/Makefile.in
index 3fabeca..26a091f 100644
--- a/ext/directfb/Makefile.in
+++ b/ext/directfb/Makefile.in
@@ -335,6 +335,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -384,6 +386,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/dtls/Makefile.in b/ext/dtls/Makefile.in
index 4b97fe8..d132b54 100644
--- a/ext/dtls/Makefile.in
+++ b/ext/dtls/Makefile.in
@@ -332,6 +332,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -381,6 +383,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/dts/Makefile.in b/ext/dts/Makefile.in
index 03a6524..30956c0 100644
--- a/ext/dts/Makefile.in
+++ b/ext/dts/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/dts/gstdtsdec.c b/ext/dts/gstdtsdec.c
index 095238c..70ffbc7 100644
--- a/ext/dts/gstdtsdec.c
+++ b/ext/dts/gstdtsdec.c
@@ -38,8 +38,11 @@
 #include "config.h"
 #endif
 
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
 #include <string.h>
-#include "_stdint.h"
 #include <stdlib.h>
 
 #include <gst/gst.h>
diff --git a/ext/faac/Makefile.in b/ext/faac/Makefile.in
index 9f1f8ce..4842462 100644
--- a/ext/faac/Makefile.in
+++ b/ext/faac/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/faad/Makefile.in b/ext/faad/Makefile.in
index 7e39159..64fd24f 100644
--- a/ext/faad/Makefile.in
+++ b/ext/faad/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/fdkaac/Makefile.am b/ext/fdkaac/Makefile.am
new file mode 100644
index 0000000..95cae3e
--- /dev/null
+++ b/ext/fdkaac/Makefile.am
@@ -0,0 +1,13 @@
+plugin_LTLIBRARIES = libgstfdkaac.la
+
+libgstfdkaac_la_SOURCES = plugin.c gstfdkaacenc.c gstfdkaacdec.c
+libgstfdkaac_la_CFLAGS = -DGST_USE_UNSTABLE_API \
+	$(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) \
+	$(GST_CFLAGS) $(FDK_AAC_CFLAGS)
+libgstfdkaac_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
+	-lgstaudio-@GST_API_VERSION@ -lgstpbutils-@GST_API_VERSION@ \
+	$(GST_BASE_LIBS) $(FDK_AAC_LIBS)
+libgstfdkaac_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgstfdkaac_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+
+noinst_HEADERS = gstfdkaacenc.h gstfdkaacdec.h
diff --git a/sys/applemedia-nonpublic/Makefile.in b/ext/fdkaac/Makefile.in
similarity index 65%
copy from sys/applemedia-nonpublic/Makefile.in
copy to ext/fdkaac/Makefile.in
index e6c6a72..d716d8c 100644
--- a/sys/applemedia-nonpublic/Makefile.in
+++ b/ext/fdkaac/Makefile.in
@@ -90,16 +90,7 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-@HAVE_IOS_TRUE@am__append_1 = -fobjc-abi-version=2 -fobjc-legacy-dispatch
-
-#libgstapplemedia_nonpublic_la_SOURCES +=			\
-#	celvideosrc.c				\
-#	mtapi.c					\
-#	celapi.c
-@HAVE_IOS_FALSE@am__append_2 = \
-@HAVE_IOS_FALSE@	mioapi.c
-
-subdir = sys/applemedia-nonpublic
+subdir = ext/fdkaac
 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 \
@@ -172,33 +163,20 @@
 am__installdirs = "$(DESTDIR)$(plugindir)"
 LTLIBRARIES = $(plugin_LTLIBRARIES)
 am__DEPENDENCIES_1 =
-libgstapplemedia_nonpublic_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+libgstfdkaac_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am__libgstapplemedia_nonpublic_la_SOURCES_DIST = plugin.m \
-	bufferfactory.m corevideobuffer.c coremediabuffer.c cvapi.c \
-	cmapi.c coremediactx.c dynapi.c mioapi.c
-@HAVE_IOS_FALSE@am__objects_1 =  \
-@HAVE_IOS_FALSE@	libgstapplemedia_nonpublic_la-mioapi.lo
-am_libgstapplemedia_nonpublic_la_OBJECTS =  \
-	libgstapplemedia_nonpublic_la-plugin.lo \
-	libgstapplemedia_nonpublic_la-bufferfactory.lo \
-	libgstapplemedia_nonpublic_la-corevideobuffer.lo \
-	libgstapplemedia_nonpublic_la-coremediabuffer.lo \
-	libgstapplemedia_nonpublic_la-cvapi.lo \
-	libgstapplemedia_nonpublic_la-cmapi.lo \
-	libgstapplemedia_nonpublic_la-coremediactx.lo \
-	libgstapplemedia_nonpublic_la-dynapi.lo $(am__objects_1)
-libgstapplemedia_nonpublic_la_OBJECTS =  \
-	$(am_libgstapplemedia_nonpublic_la_OBJECTS)
+am_libgstfdkaac_la_OBJECTS = libgstfdkaac_la-plugin.lo \
+	libgstfdkaac_la-gstfdkaacenc.lo \
+	libgstfdkaac_la-gstfdkaacdec.lo
+libgstfdkaac_la_OBJECTS = $(am_libgstfdkaac_la_OBJECTS)
 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 = 
-libgstapplemedia_nonpublic_la_LINK = $(LIBTOOL) $(AM_V_lt) \
-	$(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(OBJCLD) \
-	$(libgstapplemedia_nonpublic_la_OBJCFLAGS) $(OBJCFLAGS) \
-	$(libgstapplemedia_nonpublic_la_LDFLAGS) $(LDFLAGS) -o $@
+libgstfdkaac_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(libgstfdkaac_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+	$(CCLD) $(libgstfdkaac_la_CFLAGS) $(CFLAGS) \
+	$(libgstfdkaac_la_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -233,26 +211,8 @@
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
-LTOBJCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_OBJCFLAGS) $(OBJCFLAGS)
-AM_V_OBJC = $(am__v_OBJC_@AM_V@)
-am__v_OBJC_ = $(am__v_OBJC_@AM_DEFAULT_V@)
-am__v_OBJC_0 = @echo "  OBJC    " $@;
-am__v_OBJC_1 = 
-OBJCLD = $(OBJC)
-OBJCLINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_OBJCLD = $(am__v_OBJCLD_@AM_V@)
-am__v_OBJCLD_ = $(am__v_OBJCLD_@AM_DEFAULT_V@)
-am__v_OBJCLD_0 = @echo "  OBJCLD  " $@;
-am__v_OBJCLD_1 = 
-SOURCES = $(libgstapplemedia_nonpublic_la_SOURCES)
-DIST_SOURCES = $(am__libgstapplemedia_nonpublic_la_SOURCES_DIST)
+SOURCES = $(libgstfdkaac_la_SOURCES)
+DIST_SOURCES = $(libgstfdkaac_la_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -367,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -416,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -823,64 +787,23 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
-plugin_LTLIBRARIES = libgstapplemedia_nonpublic.la
-libgstapplemedia_nonpublic_la_SOURCES = plugin.m bufferfactory.m \
-	corevideobuffer.c coremediabuffer.c cvapi.c cmapi.c \
-	coremediactx.c dynapi.c $(am__append_2)
-libgstapplemedia_nonpublic_la_CPPFLAGS = \
-	-Dgst_dyn_api_get_type=gst_dyn_api_priv_get_type			\
-	-Dgst_dyn_api_debug=gst_dyn_api_priv_debug				\
-	-Dgst_dyn_api_new=gst_dyn_api_priv_new					\
-	-Dgst_core_media_buffer_new=gst_core_media_buffer_priv_new		\
-	-Dgst_core_media_buffer_get_type=gst_core_media_buffer_priv_get_type	\
-	-Dgst_core_media_buffer_get_pixel_buffer=gst_core_media_buffer_priv_get_pixel_buffer\
-	-Dgst_core_video_buffer_new=gst_core_video_buffer_priv_new		\
-	-Dgst_core_video_buffer_get_type=gst_core_video_buffer_priv_get_type	\
-	-Dgst_core_media_ctx_new=gst_core_media_ctx_priv_new			\
-	-Dgst_core_media_ctx_get_type=gst_core_media_ctx_priv_get_type
+plugin_LTLIBRARIES = libgstfdkaac.la
+libgstfdkaac_la_SOURCES = plugin.c gstfdkaacenc.c gstfdkaacdec.c
+libgstfdkaac_la_CFLAGS = -DGST_USE_UNSTABLE_API \
+	$(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) \
+	$(GST_CFLAGS) $(FDK_AAC_CFLAGS)
 
-libgstapplemedia_nonpublic_la_CFLAGS = \
-	$(GST_CFLAGS)								\
-	$(GST_BASE_CFLAGS)							\
-	$(GST_PLUGINS_BASE_CFLAGS)
+libgstfdkaac_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) \
+	-lgstaudio-@GST_API_VERSION@ -lgstpbutils-@GST_API_VERSION@ \
+	$(GST_BASE_LIBS) $(FDK_AAC_LIBS)
 
-libgstapplemedia_nonpublic_la_OBJCFLAGS = $(GST_OBJCFLAGS) \
-	$(GST_BASE_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(am__append_1)
-libgstapplemedia_nonpublic_la_LIBADD = \
-	$(GST_BASE_LIBS)			\
-	$(GST_PLUGINS_BASE_LIBS)		\
-	-lgstvideo-$(GST_API_VERSION)		\
-	$(GMODULE_NO_EXPORT_LIBS)
-
-libgstapplemedia_nonpublic_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) --tag=CC
-libgstapplemedia_nonpublic_la_LDFLAGS = \
-	$(GST_PLUGIN_LDFLAGS)			\
-	$(GST_BASE_LDFLAGS)			\
-	$(GST_PLUGINS_BASE_LDFLAGS)		\
-	-Wl,-framework -Wl,Foundation		\
-	-Wl,-framework -Wl,CoreFoundation	\
-	-Wl,-framework -Wl,CoreVideo
-
-noinst_HEADERS = \
-	miovideosrc.h				\
-	miovideodevice.h			\
-	celvideosrc.h				\
-	bufferfactory.h				\
-	corevideobuffer.h			\
-	coremediabuffer.h			\
-	coremediactx.h				\
-	mioapi.h				\
-	mtapi.h					\
-	celapi.h				\
-	cvapi.h					\
-	cmapi.h					\
-	dynapi.h				\
-	dynapi-internal.h
-
+libgstfdkaac_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgstfdkaac_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+noinst_HEADERS = gstfdkaacenc.h gstfdkaacdec.h
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .lo .m .o .obj
+.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 \
@@ -890,9 +813,9 @@
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sys/applemedia-nonpublic/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ext/fdkaac/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu sys/applemedia-nonpublic/Makefile
+	  $(AUTOMAKE) --gnu ext/fdkaac/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -946,8 +869,8 @@
 	  rm -f $${locs}; \
 	}
 
-libgstapplemedia_nonpublic.la: $(libgstapplemedia_nonpublic_la_OBJECTS) $(libgstapplemedia_nonpublic_la_DEPENDENCIES) $(EXTRA_libgstapplemedia_nonpublic_la_DEPENDENCIES) 
-	$(AM_V_OBJCLD)$(libgstapplemedia_nonpublic_la_LINK) -rpath $(plugindir) $(libgstapplemedia_nonpublic_la_OBJECTS) $(libgstapplemedia_nonpublic_la_LIBADD) $(LIBS)
+libgstfdkaac.la: $(libgstfdkaac_la_OBJECTS) $(libgstfdkaac_la_DEPENDENCIES) $(EXTRA_libgstfdkaac_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(libgstfdkaac_la_LINK) -rpath $(plugindir) $(libgstfdkaac_la_OBJECTS) $(libgstfdkaac_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -955,15 +878,9 @@
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-bufferfactory.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-cmapi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-coremediabuffer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-coremediactx.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-corevideobuffer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-cvapi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-dynapi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-mioapi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-plugin.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstfdkaac_la-gstfdkaacdec.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstfdkaac_la-gstfdkaacenc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstfdkaac_la-plugin.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -989,92 +906,26 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
-libgstapplemedia_nonpublic_la-corevideobuffer.lo: corevideobuffer.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-corevideobuffer.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-corevideobuffer.Tpo -c -o libgstapplemedia_nonpublic_la-corevideobuffer.lo `test -f 'corevideobuffer.c' || echo '$(srcdir)/'`corevideobuffer.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-corevideobuffer.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-corevideobuffer.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='corevideobuffer.c' object='libgstapplemedia_nonpublic_la-corevideobuffer.lo' libtool=yes @AMDEPBACKSLASH@
+libgstfdkaac_la-plugin.lo: plugin.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstfdkaac_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstfdkaac_la_CFLAGS) $(CFLAGS) -MT libgstfdkaac_la-plugin.lo -MD -MP -MF $(DEPDIR)/libgstfdkaac_la-plugin.Tpo -c -o libgstfdkaac_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstfdkaac_la-plugin.Tpo $(DEPDIR)/libgstfdkaac_la-plugin.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='plugin.c' object='libgstfdkaac_la-plugin.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-corevideobuffer.lo `test -f 'corevideobuffer.c' || echo '$(srcdir)/'`corevideobuffer.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstfdkaac_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstfdkaac_la_CFLAGS) $(CFLAGS) -c -o libgstfdkaac_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c
 
-libgstapplemedia_nonpublic_la-coremediabuffer.lo: coremediabuffer.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-coremediabuffer.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediabuffer.Tpo -c -o libgstapplemedia_nonpublic_la-coremediabuffer.lo `test -f 'coremediabuffer.c' || echo '$(srcdir)/'`coremediabuffer.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediabuffer.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediabuffer.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='coremediabuffer.c' object='libgstapplemedia_nonpublic_la-coremediabuffer.lo' libtool=yes @AMDEPBACKSLASH@
+libgstfdkaac_la-gstfdkaacenc.lo: gstfdkaacenc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstfdkaac_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstfdkaac_la_CFLAGS) $(CFLAGS) -MT libgstfdkaac_la-gstfdkaacenc.lo -MD -MP -MF $(DEPDIR)/libgstfdkaac_la-gstfdkaacenc.Tpo -c -o libgstfdkaac_la-gstfdkaacenc.lo `test -f 'gstfdkaacenc.c' || echo '$(srcdir)/'`gstfdkaacenc.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstfdkaac_la-gstfdkaacenc.Tpo $(DEPDIR)/libgstfdkaac_la-gstfdkaacenc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstfdkaacenc.c' object='libgstfdkaac_la-gstfdkaacenc.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-coremediabuffer.lo `test -f 'coremediabuffer.c' || echo '$(srcdir)/'`coremediabuffer.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstfdkaac_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstfdkaac_la_CFLAGS) $(CFLAGS) -c -o libgstfdkaac_la-gstfdkaacenc.lo `test -f 'gstfdkaacenc.c' || echo '$(srcdir)/'`gstfdkaacenc.c
 
-libgstapplemedia_nonpublic_la-cvapi.lo: cvapi.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-cvapi.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-cvapi.Tpo -c -o libgstapplemedia_nonpublic_la-cvapi.lo `test -f 'cvapi.c' || echo '$(srcdir)/'`cvapi.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-cvapi.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-cvapi.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='cvapi.c' object='libgstapplemedia_nonpublic_la-cvapi.lo' libtool=yes @AMDEPBACKSLASH@
+libgstfdkaac_la-gstfdkaacdec.lo: gstfdkaacdec.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstfdkaac_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstfdkaac_la_CFLAGS) $(CFLAGS) -MT libgstfdkaac_la-gstfdkaacdec.lo -MD -MP -MF $(DEPDIR)/libgstfdkaac_la-gstfdkaacdec.Tpo -c -o libgstfdkaac_la-gstfdkaacdec.lo `test -f 'gstfdkaacdec.c' || echo '$(srcdir)/'`gstfdkaacdec.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstfdkaac_la-gstfdkaacdec.Tpo $(DEPDIR)/libgstfdkaac_la-gstfdkaacdec.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstfdkaacdec.c' object='libgstfdkaac_la-gstfdkaacdec.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-cvapi.lo `test -f 'cvapi.c' || echo '$(srcdir)/'`cvapi.c
-
-libgstapplemedia_nonpublic_la-cmapi.lo: cmapi.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-cmapi.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-cmapi.Tpo -c -o libgstapplemedia_nonpublic_la-cmapi.lo `test -f 'cmapi.c' || echo '$(srcdir)/'`cmapi.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-cmapi.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-cmapi.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='cmapi.c' object='libgstapplemedia_nonpublic_la-cmapi.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-cmapi.lo `test -f 'cmapi.c' || echo '$(srcdir)/'`cmapi.c
-
-libgstapplemedia_nonpublic_la-coremediactx.lo: coremediactx.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-coremediactx.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediactx.Tpo -c -o libgstapplemedia_nonpublic_la-coremediactx.lo `test -f 'coremediactx.c' || echo '$(srcdir)/'`coremediactx.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediactx.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediactx.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='coremediactx.c' object='libgstapplemedia_nonpublic_la-coremediactx.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-coremediactx.lo `test -f 'coremediactx.c' || echo '$(srcdir)/'`coremediactx.c
-
-libgstapplemedia_nonpublic_la-dynapi.lo: dynapi.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-dynapi.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-dynapi.Tpo -c -o libgstapplemedia_nonpublic_la-dynapi.lo `test -f 'dynapi.c' || echo '$(srcdir)/'`dynapi.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-dynapi.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-dynapi.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dynapi.c' object='libgstapplemedia_nonpublic_la-dynapi.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-dynapi.lo `test -f 'dynapi.c' || echo '$(srcdir)/'`dynapi.c
-
-libgstapplemedia_nonpublic_la-mioapi.lo: mioapi.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-mioapi.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-mioapi.Tpo -c -o libgstapplemedia_nonpublic_la-mioapi.lo `test -f 'mioapi.c' || echo '$(srcdir)/'`mioapi.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-mioapi.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-mioapi.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mioapi.c' object='libgstapplemedia_nonpublic_la-mioapi.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-mioapi.lo `test -f 'mioapi.c' || echo '$(srcdir)/'`mioapi.c
-
-.m.o:
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepOBJC_TRUE@	$(OBJCCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepOBJC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(OBJCCOMPILE) -c -o $@ $<
-
-.m.obj:
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepOBJC_TRUE@	$(OBJCCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepOBJC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.m.lo:
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepOBJC_TRUE@	$(LTOBJCCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepOBJC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LTOBJCCOMPILE) -c -o $@ $<
-
-libgstapplemedia_nonpublic_la-plugin.lo: plugin.m
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)$(LIBTOOL) $(AM_V_lt) $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_OBJCFLAGS) $(OBJCFLAGS) -MT libgstapplemedia_nonpublic_la-plugin.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-plugin.Tpo -c -o libgstapplemedia_nonpublic_la-plugin.lo `test -f 'plugin.m' || echo '$(srcdir)/'`plugin.m
-@am__fastdepOBJC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-plugin.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-plugin.Plo
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='plugin.m' object='libgstapplemedia_nonpublic_la-plugin.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_OBJCFLAGS) $(OBJCFLAGS) -c -o libgstapplemedia_nonpublic_la-plugin.lo `test -f 'plugin.m' || echo '$(srcdir)/'`plugin.m
-
-libgstapplemedia_nonpublic_la-bufferfactory.lo: bufferfactory.m
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)$(LIBTOOL) $(AM_V_lt) $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_OBJCFLAGS) $(OBJCFLAGS) -MT libgstapplemedia_nonpublic_la-bufferfactory.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-bufferfactory.Tpo -c -o libgstapplemedia_nonpublic_la-bufferfactory.lo `test -f 'bufferfactory.m' || echo '$(srcdir)/'`bufferfactory.m
-@am__fastdepOBJC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-bufferfactory.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-bufferfactory.Plo
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='bufferfactory.m' object='libgstapplemedia_nonpublic_la-bufferfactory.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_OBJCFLAGS) $(OBJCFLAGS) -c -o libgstapplemedia_nonpublic_la-bufferfactory.lo `test -f 'bufferfactory.m' || echo '$(srcdir)/'`bufferfactory.m
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstfdkaac_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstfdkaac_la_CFLAGS) $(CFLAGS) -c -o libgstfdkaac_la-gstfdkaacdec.lo `test -f 'gstfdkaacdec.c' || echo '$(srcdir)/'`gstfdkaacdec.c
 
 mostlyclean-libtool:
 	-rm -f *.lo
diff --git a/ext/fdkaac/gstfdkaacdec.c b/ext/fdkaac/gstfdkaacdec.c
new file mode 100644
index 0000000..181bd22
--- /dev/null
+++ b/ext/fdkaac/gstfdkaacdec.c
@@ -0,0 +1,438 @@
+/*
+ * Copyright (C) 2016 Sebastian Dröge <sebastian@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 "gstfdkaacdec.h"
+
+#include <gst/pbutils/pbutils.h>
+
+#include <string.h>
+
+/* TODO:
+ * - LOAS / LATM support
+ * - Error concealment
+ */
+
+static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/mpeg, "
+        "mpegversion = (int) 4, "
+        "stream-format = (string) { adts, adif, raw }")
+    );
+
+static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw, "
+        "format = (string) " GST_AUDIO_NE (S16) ", "
+        "layout = (string) interleaved, "
+        "rate = (int) [8000, 96000], " "channels = (int) [1, 8]")
+    );
+
+GST_DEBUG_CATEGORY_STATIC (gst_fdkaacdec_debug);
+#define GST_CAT_DEFAULT gst_fdkaacdec_debug
+
+static gboolean gst_fdkaacdec_start (GstAudioDecoder * dec);
+static gboolean gst_fdkaacdec_stop (GstAudioDecoder * dec);
+static gboolean gst_fdkaacdec_set_format (GstAudioDecoder * dec,
+    GstCaps * caps);
+static GstFlowReturn gst_fdkaacdec_handle_frame (GstAudioDecoder * dec,
+    GstBuffer * in_buf);
+static void gst_fdkaacdec_flush (GstAudioDecoder * dec, gboolean hard);
+
+G_DEFINE_TYPE (GstFdkAacDec, gst_fdkaacdec, GST_TYPE_AUDIO_DECODER);
+
+static gboolean
+gst_fdkaacdec_start (GstAudioDecoder * dec)
+{
+  GstFdkAacDec *self = GST_FDKAACDEC (dec);
+
+  GST_DEBUG_OBJECT (self, "start");
+
+  return TRUE;
+}
+
+static gboolean
+gst_fdkaacdec_stop (GstAudioDecoder * dec)
+{
+  GstFdkAacDec *self = GST_FDKAACDEC (dec);
+
+  GST_DEBUG_OBJECT (self, "stop");
+
+  g_free (self->decode_buffer);
+  self->decode_buffer = NULL;
+
+  if (self->dec)
+    aacDecoder_Close (self->dec);
+  self->dec = NULL;
+
+  return TRUE;
+}
+
+static gboolean
+gst_fdkaacdec_set_format (GstAudioDecoder * dec, GstCaps * caps)
+{
+  GstFdkAacDec *self = GST_FDKAACDEC (dec);
+  TRANSPORT_TYPE transport_format;
+  GstStructure *s;
+  const gchar *stream_format;
+  AAC_DECODER_ERROR err;
+
+  if (self->dec) {
+    /* drain */
+    gst_fdkaacdec_handle_frame (dec, NULL);
+    aacDecoder_Close (self->dec);
+    self->dec = NULL;
+  }
+
+  s = gst_caps_get_structure (caps, 0);
+  stream_format = gst_structure_get_string (s, "stream-format");
+  if (strcmp (stream_format, "raw") == 0) {
+    transport_format = TT_MP4_RAW;
+  } else if (strcmp (stream_format, "adif") == 0) {
+    transport_format = TT_MP4_ADIF;
+  } else if (strcmp (stream_format, "adts") == 0) {
+    transport_format = TT_MP4_ADTS;
+  } else {
+    g_assert_not_reached ();
+  }
+
+  self->dec = aacDecoder_Open (transport_format, 1);
+  if (!self->dec) {
+    GST_ERROR_OBJECT (self, "Failed to open decoder");
+    return FALSE;
+  }
+
+  if (transport_format == TT_MP4_RAW) {
+    GstBuffer *codec_data = NULL;
+    GstMapInfo map;
+    guint8 *data;
+    guint size;
+
+    gst_structure_get (s, "codec_data", GST_TYPE_BUFFER, &codec_data, NULL);
+
+    if (!codec_data) {
+      GST_ERROR_OBJECT (self, "Raw AAC without codec_data not supported");
+      return FALSE;
+    }
+
+    gst_buffer_map (codec_data, &map, GST_MAP_READ);
+    data = map.data;
+    size = map.size;
+
+    if ((err = aacDecoder_ConfigRaw (self->dec, &data, &size)) != AAC_DEC_OK) {
+      gst_buffer_unmap (codec_data, &map);
+      GST_ERROR_OBJECT (self, "Invalid codec_data: %d", err);
+      return FALSE;
+    }
+
+    gst_buffer_unmap (codec_data, &map);
+  }
+
+  if ((err =
+          aacDecoder_SetParam (self->dec, AAC_PCM_OUTPUT_CHANNEL_MAPPING,
+              0)) != AAC_DEC_OK) {
+    GST_ERROR_OBJECT (self, "Failed to set output channel mapping: %d", err);
+    return FALSE;
+  }
+
+  if ((err =
+          aacDecoder_SetParam (self->dec, AAC_PCM_OUTPUT_INTERLEAVED,
+              0)) != AAC_DEC_OK) {
+    GST_ERROR_OBJECT (self, "Failed to set output channel mapping: %d", err);
+    return FALSE;
+  }
+
+  /* 8 channels * 2 bytes per sample * 2048 samples */
+  if (!self->decode_buffer) {
+    self->decode_buffer_size = 8 * 2 * 2048;
+    self->decode_buffer = g_malloc (self->decode_buffer_size);
+  }
+
+  return TRUE;
+}
+
+static GstFlowReturn
+gst_fdkaacdec_handle_frame (GstAudioDecoder * dec, GstBuffer * inbuf)
+{
+  GstFdkAacDec *self = GST_FDKAACDEC (dec);
+  GstFlowReturn ret = GST_FLOW_OK;
+  GstBuffer *outbuf;
+  GstMapInfo imap;
+  AAC_DECODER_ERROR err;
+  guint size, valid;
+  CStreamInfo *stream_info;
+  GstAudioInfo info;
+  guint flags = 0, i;
+  GstAudioChannelPosition pos[64], gst_pos[64];
+  gboolean need_reorder;
+
+  if (inbuf) {
+    gst_buffer_map (inbuf, &imap, GST_MAP_READ);
+    valid = size = imap.size;
+
+    if ((err =
+            aacDecoder_Fill (self->dec, (guint8 **) & imap.data, &size,
+                &valid)) != AAC_DEC_OK) {
+      GST_AUDIO_DECODER_ERROR (self, 1, STREAM, DECODE, (NULL),
+          ("filling error: %d", err), ret);
+      gst_buffer_unmap (inbuf, &imap);
+      goto out;
+    }
+    gst_buffer_unmap (inbuf, &imap);
+
+    if (GST_BUFFER_IS_DISCONT (inbuf))
+      flags |= AACDEC_INTR;
+  } else {
+    flags |= AACDEC_FLUSH;
+  }
+
+  if ((err =
+          aacDecoder_DecodeFrame (self->dec, (gint16 *) self->decode_buffer,
+              self->decode_buffer_size, flags)) != AAC_DEC_OK) {
+    GST_AUDIO_DECODER_ERROR (self, 1, STREAM, DECODE, (NULL),
+        ("decoding error: %d", err), ret);
+    goto out;
+  }
+
+  stream_info = aacDecoder_GetStreamInfo (self->dec);
+  if (!stream_info) {
+    GST_AUDIO_DECODER_ERROR (self, 1, STREAM, DECODE, (NULL),
+        ("failed to get stream info"), ret);
+    goto out;
+  }
+
+  /* FIXME: Don't recalculate this on every buffer */
+  if (stream_info->numChannels == 1) {
+    pos[0] = GST_AUDIO_CHANNEL_POSITION_MONO;
+  } else {
+    gint n_front = 0, n_side = 0, n_back = 0, n_lfe = 0;
+
+    /* FIXME: Can this be simplified somehow? */
+    for (i = 0; i < stream_info->numChannels; i++) {
+      if (stream_info->pChannelType[i] == ACT_FRONT) {
+        n_front++;
+      } else if (stream_info->pChannelType[i] == ACT_SIDE) {
+        n_side++;
+      } else if (stream_info->pChannelType[i] == ACT_BACK) {
+        n_back++;
+      } else if (stream_info->pChannelType[i] == ACT_LFE) {
+        n_lfe++;
+      } else {
+        GST_ERROR_OBJECT (self, "Channel type %d not supported",
+            stream_info->pChannelType[i]);
+        ret = GST_FLOW_NOT_NEGOTIATED;
+        goto out;
+      }
+    }
+
+    for (i = 0; i < stream_info->numChannels; i++) {
+      if (stream_info->pChannelType[i] == ACT_FRONT) {
+        if (stream_info->pChannelIndices[i] == 0) {
+          if (n_front & 1)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER;
+          else if (n_front > 2)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER;
+          else
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT;
+        } else if (stream_info->pChannelIndices[i] == 1) {
+          if ((n_front & 1) && n_front > 3)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER;
+          else if (n_front & 1)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT;
+          else if (n_front > 2)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER;
+          else
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT;
+        } else if (stream_info->pChannelIndices[i] == 2) {
+          if ((n_front & 1) && n_front > 3)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER;
+          else if (n_front & 1)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT;
+          else if (n_front > 2)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT;
+          else
+            g_assert_not_reached ();
+        } else if (stream_info->pChannelIndices[i] == 3) {
+          if ((n_front & 1) && n_front > 3)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT;
+          else if (n_front & 1)
+            g_assert_not_reached ();
+          else if (n_front > 2)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT;
+          else
+            g_assert_not_reached ();
+        } else if (stream_info->pChannelIndices[i] == 4) {
+          if ((n_front & 1) && n_front > 2)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT;
+          else if (n_front & 1)
+            g_assert_not_reached ();
+          else if (n_front > 2)
+            g_assert_not_reached ();
+          else
+            g_assert_not_reached ();
+        } else {
+          GST_ERROR_OBJECT (self, "Front channel index %d not supported",
+              stream_info->pChannelIndices[i]);
+          ret = GST_FLOW_NOT_NEGOTIATED;
+          goto out;
+        }
+      } else if (stream_info->pChannelType[i] == ACT_SIDE) {
+        if (n_side & 1) {
+          GST_ERROR_OBJECT (self, "Odd number of side channels not supported");
+          ret = GST_FLOW_NOT_NEGOTIATED;
+          goto out;
+        } else if (stream_info->pChannelIndices[i] == 0) {
+          pos[i] = GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT;
+        } else if (stream_info->pChannelIndices[i] == 1) {
+          pos[i] = GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT;
+        } else {
+          GST_ERROR_OBJECT (self, "Side channel index %d not supported",
+              stream_info->pChannelIndices[i]);
+          ret = GST_FLOW_NOT_NEGOTIATED;
+          goto out;
+        }
+      } else if (stream_info->pChannelType[i] == ACT_BACK) {
+        if (stream_info->pChannelIndices[i] == 0) {
+          if (n_back & 1)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_REAR_CENTER;
+          else
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_REAR_LEFT;
+        } else if (stream_info->pChannelIndices[i] == 1) {
+          if (n_back & 1)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_REAR_LEFT;
+          else
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT;
+        } else if (stream_info->pChannelIndices[i] == 2) {
+          if (n_back & 1)
+            pos[i] = GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT;
+          else
+            g_assert_not_reached ();
+        } else {
+          GST_ERROR_OBJECT (self, "Side channel index %d not supported",
+              stream_info->pChannelIndices[i]);
+          ret = GST_FLOW_NOT_NEGOTIATED;
+          goto out;
+        }
+      } else if (stream_info->pChannelType[i] == ACT_LFE) {
+        if (stream_info->pChannelIndices[i] == 0) {
+          pos[i] = GST_AUDIO_CHANNEL_POSITION_LFE1;
+        } else {
+          GST_ERROR_OBJECT (self, "LFE channel index %d not supported",
+              stream_info->pChannelIndices[i]);
+          ret = GST_FLOW_NOT_NEGOTIATED;
+          goto out;
+        }
+      } else {
+        GST_ERROR_OBJECT (self, "Channel type %d not supported",
+            stream_info->pChannelType[i]);
+        ret = GST_FLOW_NOT_NEGOTIATED;
+        goto out;
+      }
+    }
+  }
+
+  memcpy (gst_pos, pos,
+      sizeof (GstAudioChannelPosition) * stream_info->numChannels);
+  if (!gst_audio_channel_positions_to_valid_order (gst_pos,
+          stream_info->numChannels)) {
+    ret = GST_FLOW_NOT_NEGOTIATED;
+    goto out;
+  }
+
+  need_reorder =
+      memcmp (pos, gst_pos,
+      sizeof (GstAudioChannelPosition) * stream_info->numChannels) != 0;
+
+  gst_audio_info_set_format (&info, GST_AUDIO_FORMAT_S16,
+      stream_info->sampleRate, stream_info->numChannels, gst_pos);
+  if (!gst_audio_decoder_set_output_format (dec, &info)) {
+    GST_ERROR_OBJECT (self, "Failed to set output format");
+    ret = GST_FLOW_NOT_NEGOTIATED;
+    goto out;
+  }
+
+  outbuf =
+      gst_audio_decoder_allocate_output_buffer (dec,
+      stream_info->frameSize * GST_AUDIO_INFO_BPF (&info));
+  gst_buffer_fill (outbuf, 0, self->decode_buffer,
+      gst_buffer_get_size (outbuf));
+
+  if (need_reorder) {
+    gst_audio_buffer_reorder_channels (outbuf, GST_AUDIO_INFO_FORMAT (&info),
+        GST_AUDIO_INFO_CHANNELS (&info), pos, gst_pos);
+  }
+
+  ret = gst_audio_decoder_finish_frame (dec, outbuf, 1);
+
+out:
+
+  return ret;
+}
+
+static void
+gst_fdkaacdec_flush (GstAudioDecoder * dec, gboolean hard)
+{
+  GstFdkAacDec *self = GST_FDKAACDEC (dec);
+
+  if (self->dec) {
+    AAC_DECODER_ERROR err;
+    if ((err =
+            aacDecoder_DecodeFrame (self->dec, (gint16 *) self->decode_buffer,
+                self->decode_buffer_size, AACDEC_FLUSH)) != AAC_DEC_OK) {
+      GST_ERROR_OBJECT (self, "flushing error: %d", err);
+    }
+  }
+}
+
+static void
+gst_fdkaacdec_init (GstFdkAacDec * self)
+{
+  self->dec = NULL;
+
+  gst_audio_decoder_set_drainable (GST_AUDIO_DECODER (self), TRUE);
+  gst_audio_decoder_set_needs_format (GST_AUDIO_DECODER (self), TRUE);
+}
+
+static void
+gst_fdkaacdec_class_init (GstFdkAacDecClass * klass)
+{
+  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+  GstAudioDecoderClass *base_class = GST_AUDIO_DECODER_CLASS (klass);
+
+  base_class->start = GST_DEBUG_FUNCPTR (gst_fdkaacdec_start);
+  base_class->stop = GST_DEBUG_FUNCPTR (gst_fdkaacdec_stop);
+  base_class->set_format = GST_DEBUG_FUNCPTR (gst_fdkaacdec_set_format);
+  base_class->handle_frame = GST_DEBUG_FUNCPTR (gst_fdkaacdec_handle_frame);
+  base_class->flush = GST_DEBUG_FUNCPTR (gst_fdkaacdec_flush);
+
+  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_static_metadata (element_class, "FDK AAC audio decoder",
+      "Codec/Decoder/Audio", "FDK AAC audio decoder",
+      "Sebastian Dröge <sebastian@centricular.com>");
+
+  GST_DEBUG_CATEGORY_INIT (gst_fdkaacdec_debug, "fdkaacdec", 0,
+      "fdkaac decoder");
+}
diff --git a/ext/fdkaac/gstfdkaacdec.h b/ext/fdkaac/gstfdkaacdec.h
new file mode 100644
index 0000000..a805a2a
--- /dev/null
+++ b/ext/fdkaac/gstfdkaacdec.h
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2016 Sebastian Dröge <sebastian@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_FDKAACDEC_H__
+#define __GST_FDKAACDEC_H__
+
+#include <gst/gst.h>
+#include <gst/audio/gstaudiodecoder.h>
+
+#include <fdk-aac/aacdecoder_lib.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_FDKAACDEC \
+  (gst_fdkaacdec_get_type())
+#define GST_FDKAACDEC(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_FDKAACDEC, GstFdkAacDec))
+#define GST_FDKAACDEC_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_FDKAACDEC, GstFdkAacDecClass))
+#define GST_IS_FDKAACDEC(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_FDKAACDEC))
+#define GST_IS_FDKAACDEC_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_FDKAACDEC))
+
+typedef struct _GstFdkAacDec GstFdkAacDec;
+typedef struct _GstFdkAacDecClass GstFdkAacDecClass;
+
+struct _GstFdkAacDec {
+  GstAudioDecoder element;
+
+  HANDLE_AACDECODER dec;
+  guint8 *decode_buffer;
+  gint decode_buffer_size;
+};
+
+struct _GstFdkAacDecClass {
+  GstAudioDecoderClass parent_class;
+};
+
+GType gst_fdkaacdec_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GST_FDKAACDEC_H__ */
diff --git a/ext/fdkaac/gstfdkaacenc.c b/ext/fdkaac/gstfdkaacenc.c
new file mode 100644
index 0000000..3405ec1
--- /dev/null
+++ b/ext/fdkaac/gstfdkaacenc.c
@@ -0,0 +1,608 @@
+/*
+ * Copyright (C) 2016 Sebastian Dröge <sebastian@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 "gstfdkaacenc.h"
+
+#include <gst/pbutils/pbutils.h>
+
+#include <string.h>
+
+/* TODO:
+ * - Add support for other AOT / profiles
+ * - Expose more properties, e.g. afterburner and vbr
+ * - Signal encoder delay
+ * - LOAS / LATM support
+ */
+
+enum
+{
+  PROP_0,
+  PROP_BITRATE
+};
+
+#define DEFAULT_BITRATE (0)
+
+#define SAMPLE_RATES " 8000, " \
+                    "11025, " \
+                    "12000, " \
+                    "16000, " \
+                    "22050, " \
+                    "24000, " \
+                    "32000, " \
+                    "44100, " \
+                    "48000, " \
+                    "64000, " \
+                    "88200, " \
+                    "96000"
+
+static const struct
+{
+  gint channels;
+  CHANNEL_MODE mode;
+  GstAudioChannelPosition positions[8];
+} channel_layouts[] = {
+  {
+    1, MODE_1, {
+  GST_AUDIO_CHANNEL_POSITION_MONO}}, {
+    2, MODE_2, {
+  GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}}, {
+    3, MODE_1_2, {
+  GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT}}, {
+    3, MODE_2_1, {
+  GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
+          GST_AUDIO_CHANNEL_POSITION_LFE1}}, {
+    4, MODE_1_2_1, {
+  GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
+          GST_AUDIO_CHANNEL_POSITION_REAR_CENTER}}, {
+    5, MODE_1_2_2, {
+  GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
+          GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT}}, {
+    6, MODE_1_2_2_1, {
+  GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
+          GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT,
+          GST_AUDIO_CHANNEL_POSITION_LFE1}}, {
+    8, MODE_7_1_REAR_SURROUND, {
+  GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
+          GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT,
+          GST_AUDIO_CHANNEL_POSITION_REAR_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT,
+          GST_AUDIO_CHANNEL_POSITION_LFE1}}, {
+    8, MODE_7_1_FRONT_CENTER, {
+  GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT,
+          GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT,
+          GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT,
+          GST_AUDIO_CHANNEL_POSITION_LFE1}}
+};
+
+static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw, "
+        "format = (string) " GST_AUDIO_NE (S16) ", "
+        "layout = (string) interleaved, "
+        "rate = (int) { " SAMPLE_RATES " }, "
+        "channels = (int) {1, 2, 3, 4, 5, 6, 8}")
+    );
+
+static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/mpeg, "
+        "mpegversion = (int) {2, 4}, "
+        "rate = (int) { " SAMPLE_RATES " }, "
+        "channels = (int) {1, 2, 3, 4, 5, 6, 8}, "
+        "stream-format = (string) { adts, adif, raw }, "
+        "base-profile = (string) lc")
+    );
+
+GST_DEBUG_CATEGORY_STATIC (gst_fdkaacenc_debug);
+#define GST_CAT_DEFAULT gst_fdkaacenc_debug
+
+static void gst_fdkaacenc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_fdkaacenc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static gboolean gst_fdkaacenc_start (GstAudioEncoder * enc);
+static gboolean gst_fdkaacenc_stop (GstAudioEncoder * enc);
+static gboolean gst_fdkaacenc_set_format (GstAudioEncoder * enc,
+    GstAudioInfo * info);
+static GstFlowReturn gst_fdkaacenc_handle_frame (GstAudioEncoder * enc,
+    GstBuffer * in_buf);
+static GstCaps *gst_fdkaacenc_get_caps (GstAudioEncoder * enc,
+    GstCaps * filter);
+
+G_DEFINE_TYPE (GstFdkAacEnc, gst_fdkaacenc, GST_TYPE_AUDIO_ENCODER);
+
+static void
+gst_fdkaacenc_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstFdkAacEnc *self = GST_FDKAACENC (object);
+
+  switch (prop_id) {
+    case PROP_BITRATE:
+      self->bitrate = g_value_get_int (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+  return;
+}
+
+static void
+gst_fdkaacenc_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstFdkAacEnc *self = GST_FDKAACENC (object);
+
+  switch (prop_id) {
+    case PROP_BITRATE:
+      g_value_set_int (value, self->bitrate);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+  return;
+}
+
+static gboolean
+gst_fdkaacenc_start (GstAudioEncoder * enc)
+{
+  GstFdkAacEnc *self = GST_FDKAACENC (enc);
+
+  GST_DEBUG_OBJECT (self, "start");
+
+  return TRUE;
+}
+
+static gboolean
+gst_fdkaacenc_stop (GstAudioEncoder * enc)
+{
+  GstFdkAacEnc *self = GST_FDKAACENC (enc);
+
+  GST_DEBUG_OBJECT (self, "stop");
+
+  if (self->enc)
+    aacEncClose (&self->enc);
+
+  return TRUE;
+}
+
+static GstCaps *
+gst_fdkaacenc_get_caps (GstAudioEncoder * enc, GstCaps * filter)
+{
+  GstCaps *res, *caps;
+  gint i;
+
+  caps = gst_caps_new_empty ();
+
+  for (i = 0; i < G_N_ELEMENTS (channel_layouts); i++) {
+    guint64 channel_mask;
+    GstCaps *tmp =
+        gst_caps_make_writable (gst_pad_get_pad_template_caps
+        (GST_AUDIO_ENCODER_SINK_PAD (enc)));
+
+    if (channel_layouts[i].channels == 1) {
+      gst_caps_set_simple (tmp, "channels", G_TYPE_INT,
+          channel_layouts[i].channels, NULL);
+    } else {
+      gst_audio_channel_positions_to_mask (channel_layouts[i].positions,
+          channel_layouts[i].channels, FALSE, &channel_mask);
+      gst_caps_set_simple (tmp, "channels", G_TYPE_INT,
+          channel_layouts[i].channels, "channel-mask", GST_TYPE_BITMASK,
+          channel_mask, NULL);
+    }
+
+    gst_caps_append (caps, tmp);
+  }
+
+  res = gst_audio_encoder_proxy_getcaps (enc, caps, filter);
+  gst_caps_unref (caps);
+
+  return res;
+}
+
+static gboolean
+gst_fdkaacenc_set_format (GstAudioEncoder * enc, GstAudioInfo * info)
+{
+  GstFdkAacEnc *self = GST_FDKAACENC (enc);
+  gboolean ret = FALSE;
+  GstCaps *allowed_caps;
+  GstCaps *src_caps;
+  AACENC_ERROR err;
+  gint transmux = 0, aot = AOT_AAC_LC;
+  gint mpegversion = 4;
+  CHANNEL_MODE channel_mode;
+  AACENC_InfoStruct enc_info = { 0 };
+  gint bitrate;
+
+  if (self->enc) {
+    /* drain */
+    gst_fdkaacenc_handle_frame (enc, NULL);
+    aacEncClose (&self->enc);
+  }
+
+  allowed_caps = gst_pad_get_allowed_caps (GST_AUDIO_ENCODER_SRC_PAD (self));
+
+  GST_DEBUG_OBJECT (self, "allowed caps: %" GST_PTR_FORMAT, allowed_caps);
+
+  if (allowed_caps && gst_caps_get_size (allowed_caps) > 0) {
+    GstStructure *s = gst_caps_get_structure (allowed_caps, 0);
+    const gchar *str = NULL;
+
+    if ((str = gst_structure_get_string (s, "stream-format"))) {
+      if (strcmp (str, "adts") == 0) {
+        GST_DEBUG_OBJECT (self, "use ADTS format for output");
+        transmux = 2;
+      } else if (strcmp (str, "adif") == 0) {
+        GST_DEBUG_OBJECT (self, "use ADIF format for output");
+        transmux = 1;
+      } else if (strcmp (str, "raw") == 0) {
+        GST_DEBUG_OBJECT (self, "use RAW format for output");
+        transmux = 0;
+      }
+    }
+
+    gst_structure_get_int (s, "mpegversion", &mpegversion);
+  }
+  if (allowed_caps)
+    gst_caps_unref (allowed_caps);
+
+  if ((err =
+          aacEncOpen (&self->enc, 0,
+              GST_AUDIO_INFO_CHANNELS (info))) != AACENC_OK) {
+    GST_ERROR_OBJECT (self, "Unable to open encoder: %d\n", err);
+    return FALSE;
+  }
+
+  if (mpegversion == 4) {
+    aot = AOT_AAC_LC;
+  } else {
+    aot = AOT_MP2_AAC_LC;
+  }
+
+  if ((err = aacEncoder_SetParam (self->enc, AACENC_AOT, aot)) != AACENC_OK) {
+    GST_ERROR_OBJECT (self, "Unable to set AOT %d: %d\n", aot, err);
+    return FALSE;
+  }
+
+  if ((err = aacEncoder_SetParam (self->enc, AACENC_SAMPLERATE,
+              GST_AUDIO_INFO_RATE (info))) != AACENC_OK) {
+    GST_ERROR_OBJECT (self, "Unable to set sample rate %d: %d\n",
+        GST_AUDIO_INFO_RATE (info), err);
+    return FALSE;
+  }
+
+  if (GST_AUDIO_INFO_CHANNELS (info) == 1) {
+    channel_mode = MODE_1;
+    self->need_reorder = FALSE;
+    self->aac_positions = NULL;
+  } else {
+    guint64 in_channel_mask, out_channel_mask;
+    gint i;
+
+    for (i = 0; i < G_N_ELEMENTS (channel_layouts); i++) {
+      if (channel_layouts[i].channels != GST_AUDIO_INFO_CHANNELS (info))
+        continue;
+
+      gst_audio_channel_positions_to_mask (&GST_AUDIO_INFO_POSITION (info, 0),
+          GST_AUDIO_INFO_CHANNELS (info), FALSE, &in_channel_mask);
+      gst_audio_channel_positions_to_mask (channel_layouts[i].positions,
+          channel_layouts[i].channels, FALSE, &out_channel_mask);
+      if (in_channel_mask == out_channel_mask) {
+        channel_mode = channel_layouts[i].mode;
+        self->need_reorder =
+            memcmp (channel_layouts[i].positions,
+            &GST_AUDIO_INFO_POSITION (info, 0),
+            GST_AUDIO_INFO_CHANNELS (info) *
+            sizeof (GstAudioChannelPosition)) != 0;
+        self->aac_positions = channel_layouts[i].positions;
+        break;
+      }
+    }
+
+    if (i == G_N_ELEMENTS (channel_layouts)) {
+      GST_ERROR_OBJECT (self, "Couldn't find a valid channel layout");
+      return FALSE;
+    }
+  }
+
+  if ((err = aacEncoder_SetParam (self->enc, AACENC_CHANNELMODE,
+              channel_mode)) != AACENC_OK) {
+    GST_ERROR_OBJECT (self, "Unable to set channel mode %d: %d", channel_mode,
+        err);
+    return FALSE;
+  }
+
+  /* MPEG channel order */
+  if ((err = aacEncoder_SetParam (self->enc, AACENC_CHANNELORDER,
+              0)) != AACENC_OK) {
+    GST_ERROR_OBJECT (self, "Unable to set channel order %d: %d", channel_mode,
+        err);
+    return FALSE;
+  }
+
+  bitrate = self->bitrate;
+  /* See
+   * http://wiki.hydrogenaud.io/index.php?title=Fraunhofer_FDK_AAC#Recommended_Sampling_Rate_and_Bitrate_Combinations
+   */
+  if (bitrate == 0) {
+    if (GST_AUDIO_INFO_CHANNELS (info) == 1) {
+      if (GST_AUDIO_INFO_RATE (info) < 16000) {
+        bitrate = 8000;
+      } else if (GST_AUDIO_INFO_RATE (info) == 16000) {
+        bitrate = 16000;
+      } else if (GST_AUDIO_INFO_RATE (info) < 32000) {
+        bitrate = 24000;
+      } else if (GST_AUDIO_INFO_RATE (info) == 32000) {
+        bitrate = 32000;
+      } else if (GST_AUDIO_INFO_RATE (info) <= 44100) {
+        bitrate = 56000;
+      } else {
+        bitrate = 160000;
+      }
+    } else if (GST_AUDIO_INFO_CHANNELS (info) == 2) {
+      if (GST_AUDIO_INFO_RATE (info) < 16000) {
+        bitrate = 16000;
+      } else if (GST_AUDIO_INFO_RATE (info) == 16000) {
+        bitrate = 24000;
+      } else if (GST_AUDIO_INFO_RATE (info) < 22050) {
+        bitrate = 32000;
+      } else if (GST_AUDIO_INFO_RATE (info) < 32000) {
+        bitrate = 40000;
+      } else if (GST_AUDIO_INFO_RATE (info) == 32000) {
+        bitrate = 96000;
+      } else if (GST_AUDIO_INFO_RATE (info) <= 44100) {
+        bitrate = 112000;
+      } else {
+        bitrate = 320000;
+      }
+    } else {
+      /* 5, 5.1 */
+      if (GST_AUDIO_INFO_RATE (info) < 32000) {
+        bitrate = 160000;
+      } else if (GST_AUDIO_INFO_RATE (info) <= 44100) {
+        bitrate = 240000;
+      } else {
+        bitrate = 320000;
+      }
+    }
+  }
+
+  if ((err = aacEncoder_SetParam (self->enc, AACENC_BITRATE,
+              bitrate)) != AACENC_OK) {
+    GST_ERROR_OBJECT (self, "Unable to set bitrate %d: %d", bitrate, err);
+    return FALSE;
+  }
+
+  if ((err = aacEncEncode (self->enc, NULL, NULL, NULL, NULL)) != AACENC_OK) {
+    GST_ERROR_OBJECT (self, "Unable to initialize encoder: %d", err);
+    return FALSE;
+  }
+
+  if ((err = aacEncInfo (self->enc, &enc_info)) != AACENC_OK) {
+    GST_ERROR_OBJECT (self, "Unable to get encoder info: %d", err);
+    return FALSE;
+  }
+
+  gst_audio_encoder_set_frame_max (enc, 1);
+  gst_audio_encoder_set_frame_samples_min (enc, enc_info.frameLength);
+  gst_audio_encoder_set_frame_samples_max (enc, enc_info.frameLength);
+  gst_audio_encoder_set_hard_min (enc, FALSE);
+  self->outbuf_size = enc_info.maxOutBufBytes;
+  self->samples_per_frame = enc_info.frameLength;
+
+  src_caps = gst_caps_new_simple ("audio/mpeg",
+      "mpegversion", G_TYPE_INT, mpegversion,
+      "channels", G_TYPE_INT, GST_AUDIO_INFO_CHANNELS (info),
+      "rate", G_TYPE_INT, GST_AUDIO_INFO_RATE (info), NULL);
+
+  /* raw */
+  if (transmux == 0) {
+    GstBuffer *codec_data =
+        gst_buffer_new_wrapped (g_memdup (enc_info.confBuf, enc_info.confSize),
+        enc_info.confSize);
+    gst_caps_set_simple (src_caps, "codec_data", GST_TYPE_BUFFER, codec_data,
+        "stream-format", G_TYPE_STRING, "raw", NULL);
+    gst_buffer_unref (codec_data);
+  } else if (transmux == 1) {
+    gst_caps_set_simple (src_caps, "stream-format", G_TYPE_STRING, "adif",
+        NULL);
+  } else if (transmux == 2) {
+    gst_caps_set_simple (src_caps, "stream-format", G_TYPE_STRING, "adts",
+        NULL);
+  } else {
+    g_assert_not_reached ();
+  }
+
+  gst_codec_utils_aac_caps_set_level_and_profile (src_caps, enc_info.confBuf,
+      enc_info.confSize);
+
+  ret = gst_audio_encoder_set_output_format (enc, src_caps);
+  gst_caps_unref (src_caps);
+
+  return ret;
+}
+
+static GstFlowReturn
+gst_fdkaacenc_handle_frame (GstAudioEncoder * enc, GstBuffer * inbuf)
+{
+  GstFdkAacEnc *self = GST_FDKAACENC (enc);
+  GstFlowReturn ret = GST_FLOW_OK;
+  GstAudioInfo *info;
+  GstMapInfo imap, omap;
+  GstBuffer *outbuf;
+  AACENC_BufDesc in_desc = { 0 };
+  AACENC_BufDesc out_desc = { 0 };
+  AACENC_InArgs in_args = { 0 };
+  AACENC_OutArgs out_args = { 0 };
+  gint in_id = IN_AUDIO_DATA, out_id = OUT_BITSTREAM_DATA;
+  gint in_sizes, out_sizes;
+  gint in_el_sizes, out_el_sizes;
+  AACENC_ERROR err;
+
+  info = gst_audio_encoder_get_audio_info (enc);
+
+  if (!inbuf) {
+    in_args.numInSamples = -1;
+  } else {
+    if (self->need_reorder) {
+      inbuf = gst_buffer_copy (inbuf);
+      gst_buffer_map (inbuf, &imap, GST_MAP_READWRITE);
+      gst_audio_reorder_channels (imap.data, imap.size,
+          GST_AUDIO_INFO_FORMAT (info), GST_AUDIO_INFO_CHANNELS (info),
+          &GST_AUDIO_INFO_POSITION (info, 0), self->aac_positions);
+    } else {
+      gst_buffer_map (inbuf, &imap, GST_MAP_READ);
+    }
+
+    in_args.numInSamples = imap.size / GST_AUDIO_INFO_BPS (info);
+
+    in_sizes = imap.size;
+    in_el_sizes = 2;
+    in_desc.bufferIdentifiers = &in_id;
+    in_desc.numBufs = 1;
+    in_desc.bufs = (void *) &imap.data;
+    in_desc.bufSizes = &in_sizes;
+    in_desc.bufElSizes = &in_el_sizes;
+  }
+
+  outbuf = gst_audio_encoder_allocate_output_buffer (enc, self->outbuf_size);
+  if (!outbuf) {
+    ret = GST_FLOW_ERROR;
+    goto out;
+  }
+
+  gst_buffer_map (outbuf, &omap, GST_MAP_WRITE);
+  out_sizes = omap.size;
+  out_el_sizes = 1;
+  out_desc.bufferIdentifiers = &out_id;
+  out_desc.numBufs = 1;
+  out_desc.bufs = (void *) &omap.data;
+  out_desc.bufSizes = &out_sizes;
+  out_desc.bufElSizes = &out_el_sizes;
+
+  if ((err = aacEncEncode (self->enc, &in_desc, &out_desc, &in_args,
+              &out_args)) != AACENC_OK) {
+    if (!inbuf && err == AACENC_ENCODE_EOF)
+      goto out;
+
+    GST_ERROR_OBJECT (self, "Failed to encode data: %d", err);
+    ret = GST_FLOW_ERROR;
+    goto out;
+  }
+
+  if (inbuf) {
+    gst_buffer_unmap (inbuf, &imap);
+    if (self->need_reorder)
+      gst_buffer_unref (inbuf);
+    inbuf = NULL;
+  }
+
+  if (!out_args.numOutBytes)
+    goto out;
+
+  gst_buffer_unmap (outbuf, &omap);
+  gst_buffer_set_size (outbuf, out_args.numOutBytes);
+
+  ret = gst_audio_encoder_finish_frame (enc, outbuf, self->samples_per_frame);
+  outbuf = NULL;
+
+out:
+  if (outbuf) {
+    gst_buffer_unmap (outbuf, &omap);
+    gst_buffer_unref (outbuf);
+  }
+  if (inbuf) {
+    gst_buffer_unmap (inbuf, &imap);
+    if (self->need_reorder)
+      gst_buffer_unref (inbuf);
+  }
+
+  return ret;
+}
+
+static void
+gst_fdkaacenc_init (GstFdkAacEnc * self)
+{
+  self->bitrate = DEFAULT_BITRATE;
+  self->enc = NULL;
+
+  gst_audio_encoder_set_drainable (GST_AUDIO_ENCODER (self), TRUE);
+}
+
+static void
+gst_fdkaacenc_class_init (GstFdkAacEncClass * klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+  GstAudioEncoderClass *base_class = GST_AUDIO_ENCODER_CLASS (klass);
+
+  object_class->set_property = GST_DEBUG_FUNCPTR (gst_fdkaacenc_set_property);
+  object_class->get_property = GST_DEBUG_FUNCPTR (gst_fdkaacenc_get_property);
+
+  base_class->start = GST_DEBUG_FUNCPTR (gst_fdkaacenc_start);
+  base_class->stop = GST_DEBUG_FUNCPTR (gst_fdkaacenc_stop);
+  base_class->set_format = GST_DEBUG_FUNCPTR (gst_fdkaacenc_set_format);
+  base_class->getcaps = GST_DEBUG_FUNCPTR (gst_fdkaacenc_get_caps);
+  base_class->handle_frame = GST_DEBUG_FUNCPTR (gst_fdkaacenc_handle_frame);
+
+  g_object_class_install_property (object_class, PROP_BITRATE,
+      g_param_spec_int ("bitrate",
+          "Bitrate",
+          "Target Audio Bitrate (0 = fixed value based on "
+          " sample rate and channel count)",
+          0, G_MAXINT, DEFAULT_BITRATE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  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_static_metadata (element_class, "FDK AAC audio encoder",
+      "Codec/Encoder/Audio", "FDK AAC audio encoder",
+      "Sebastian Dröge <sebastian@centricular.com>");
+
+  GST_DEBUG_CATEGORY_INIT (gst_fdkaacenc_debug, "fdkaacenc", 0,
+      "fdkaac encoder");
+}
diff --git a/ext/fdkaac/gstfdkaacenc.h b/ext/fdkaac/gstfdkaacenc.h
new file mode 100644
index 0000000..8c3df47
--- /dev/null
+++ b/ext/fdkaac/gstfdkaacenc.h
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2016 Sebastian Dröge <sebastian@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_FDKAACENC_H__
+#define __GST_FDKAACENC_H__
+
+#include <gst/gst.h>
+#include <gst/audio/gstaudioencoder.h>
+
+#include <fdk-aac/aacenc_lib.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_FDKAACENC \
+  (gst_fdkaacenc_get_type())
+#define GST_FDKAACENC(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_FDKAACENC, GstFdkAacEnc))
+#define GST_FDKAACENC_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_FDKAACENC, GstFdkAacEncClass))
+#define GST_IS_FDKAACENC(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_FDKAACENC))
+#define GST_IS_FDKAACENC_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_FDKAACENC))
+
+typedef struct _GstFdkAacEnc GstFdkAacEnc;
+typedef struct _GstFdkAacEncClass GstFdkAacEncClass;
+
+struct _GstFdkAacEnc {
+  GstAudioEncoder element;
+
+  HANDLE_AACENCODER enc;
+  gint bitrate;
+
+  guint outbuf_size, samples_per_frame;
+  gboolean need_reorder;
+  const GstAudioChannelPosition *aac_positions;
+};
+
+struct _GstFdkAacEncClass {
+  GstAudioEncoderClass parent_class;
+};
+
+GType gst_fdkaacenc_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GST_FDKAACENC_H__ */
diff --git a/ext/fdkaac/plugin.c b/ext/fdkaac/plugin.c
new file mode 100644
index 0000000..e3aadec
--- /dev/null
+++ b/ext/fdkaac/plugin.c
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2016 Sebastian Dröge <sebastian@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 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
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <gst/gst.h>
+#include "gstfdkaacenc.h"
+#include "gstfdkaacdec.h"
+
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+  return gst_element_register (plugin, "fdkaacenc", GST_RANK_PRIMARY,
+      GST_TYPE_FDKAACENC)
+      && gst_element_register (plugin, "fdkaacdec", GST_RANK_MARGINAL,
+      GST_TYPE_FDKAACDEC);
+}
+
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    fdkaac,
+    "Fraunhofer FDK AAC Codec plugin",
+    plugin_init, VERSION, "LGPL", GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN)
diff --git a/ext/flite/Makefile.in b/ext/flite/Makefile.in
index 99561a3..21972a2 100644
--- a/ext/flite/Makefile.in
+++ b/ext/flite/Makefile.in
@@ -324,6 +324,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -373,6 +375,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/fluidsynth/Makefile.in b/ext/fluidsynth/Makefile.in
index e340836..3fc6651 100644
--- a/ext/fluidsynth/Makefile.in
+++ b/ext/fluidsynth/Makefile.in
@@ -333,6 +333,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -382,6 +384,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/gl/Makefile.in b/ext/gl/Makefile.in
index 08449a8..e0146c2 100644
--- a/ext/gl/Makefile.in
+++ b/ext/gl/Makefile.in
@@ -471,6 +471,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -520,6 +522,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/gl/caopengllayersink.h b/ext/gl/caopengllayersink.h
index e3de325..3507154 100644
--- a/ext/gl/caopengllayersink.h
+++ b/ext/gl/caopengllayersink.h
@@ -63,7 +63,6 @@
 
     GstGLCAOpenGLLayer *layer;
 
-    volatile gint to_quit;
     gboolean keep_aspect_ratio;
 
     /* avoid replacing the stored_buffer while drawing */
diff --git a/ext/gl/caopengllayersink.m b/ext/gl/caopengllayersink.m
index 83cb827..f547c73 100644
--- a/ext/gl/caopengllayersink.m
+++ b/ext/gl/caopengllayersink.m
@@ -492,7 +492,6 @@
       _ensure_gl_setup (ca_sink);
       break;
     case GST_STATE_CHANGE_READY_TO_PAUSED:
-      g_atomic_int_set (&ca_sink->to_quit, 0);
       break;
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
       break;
@@ -740,12 +739,6 @@
   if (old_sync)
     gst_buffer_unref (old_sync);
 
-  if (g_atomic_int_get (&ca_sink->to_quit) != 0) {
-    GST_ELEMENT_ERROR (ca_sink, RESOURCE, NOT_FOUND,
-        ("%s", gst_gl_context_get_error ()), (NULL));
-    return GST_FLOW_ERROR;
-  }
-
   return GST_FLOW_OK;
 }
 
diff --git a/ext/gl/effects/gstgleffectblur.c b/ext/gl/effects/gstgleffectblur.c
index f03af37..074519a 100644
--- a/ext/gl/effects/gstgleffectblur.c
+++ b/ext/gl/effects/gstgleffectblur.c
@@ -40,79 +40,29 @@
   return kernel;
 }
 
-static void
-gst_gl_effects_blur_callback_hconv (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader = NULL;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-
-  if (NULL != (shader = gst_gl_effects_get_fragment_shader (effects, "hconv0",
-              hconv7_fragment_source_gles2))) {
-    GstGLFilter *filter = GST_GL_FILTER (effects);
-    GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
-
-#if GST_GL_HAVE_OPENGL
-    if (USING_OPENGL (GST_GL_BASE_FILTER (filter)->context)) {
-      gl->MatrixMode (GL_PROJECTION);
-      gl->LoadIdentity ();
-    }
-#endif
-
-    gst_gl_shader_use (shader);
-
-    gl->ActiveTexture (GL_TEXTURE0);
-    gl->BindTexture (GL_TEXTURE_2D, texture);
-
-    gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-    gst_gl_shader_set_uniform_1f (shader, "gauss_width", width);
-    gst_gl_shader_set_uniform_1fv (shader, "kernel", 7,
-        gst_gl_effects_blur_kernel ());
-
-    gst_gl_filter_draw_texture (filter, texture, width, height);
-  }
-}
-
-static void
-gst_gl_effects_blur_callback_vconv (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader = NULL;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  if (NULL != (shader = gst_gl_effects_get_fragment_shader (effects, "vconv0",
-              vconv7_fragment_source_gles2))) {
-    GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
-
-#if GST_GL_HAVE_OPENGL
-    if (USING_OPENGL (GST_GL_BASE_FILTER (filter)->context)) {
-      gl->MatrixMode (GL_PROJECTION);
-      gl->LoadIdentity ();
-    }
-#endif
-
-    gst_gl_shader_use (shader);
-
-    gl->ActiveTexture (GL_TEXTURE0);
-    gl->BindTexture (GL_TEXTURE_2D, texture);
-
-    gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-    gst_gl_shader_set_uniform_1f (shader, "gauss_height", height);
-    gst_gl_shader_set_uniform_1fv (shader, "kernel", 7,
-        gst_gl_effects_blur_kernel ());
-
-    gst_gl_filter_draw_texture (filter, texture, width, height);
-  }
-}
-
 void
 gst_gl_effects_blur (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->midtexture[0], gst_gl_effects_blur_callback_hconv, effects);
-  gst_gl_filter_render_to_target (filter, FALSE, effects->midtexture[0],
-      effects->outtexture, gst_gl_effects_blur_callback_vconv, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "hconv0",
+      hconv7_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1f (shader, "gauss_width",
+      GST_VIDEO_INFO_WIDTH (&filter->in_info));
+  gst_gl_shader_set_uniform_1fv (shader, "kernel", 7,
+      gst_gl_effects_blur_kernel ());
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->midtexture[0], shader);
+
+  shader = gst_gl_effects_get_fragment_shader (effects, "vconv0",
+      vconv7_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1f (shader, "gauss_height",
+      GST_VIDEO_INFO_HEIGHT (&filter->in_info));
+  gst_gl_shader_set_uniform_1fv (shader, "kernel", 7,
+      gst_gl_effects_blur_kernel ());
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[0],
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectbulge.c b/ext/gl/effects/gstgleffectbulge.c
index 9856321..d2a9a14 100644
--- a/ext/gl/effects/gstgleffectbulge.c
+++ b/ext/gl/effects/gstgleffectbulge.c
@@ -23,44 +23,14 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_bulge_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "bulge",
-      bulge_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
 void
 gst_gl_effects_bulge (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_bulge_callback, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "bulge",
+      bulge_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectfisheye.c b/ext/gl/effects/gstgleffectfisheye.c
index 285deb3..fe3ebdc 100644
--- a/ext/gl/effects/gstgleffectfisheye.c
+++ b/ext/gl/effects/gstgleffectfisheye.c
@@ -23,44 +23,14 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_fisheye_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "fisheye",
-      fisheye_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
 void
 gst_gl_effects_fisheye (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_fisheye_callback, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "fisheye",
+      fisheye_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectglow.c b/ext/gl/effects/gstgleffectglow.c
index 9fc09e0..6309ce7 100644
--- a/ext/gl/effects/gstgleffectglow.c
+++ b/ext/gl/effects/gstgleffectglow.c
@@ -26,170 +26,61 @@
 static gboolean kernel_ready = FALSE;
 static float gauss_kernel[7];
 
-static void
-gst_gl_effects_glow_step_one (gint width, gint height, guint texture,
-    gpointer data)
+void
+gst_gl_effects_glow (GstGLEffects * effects)
 {
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
+  const GstGLFuncs *gl = GST_GL_BASE_FILTER (effects)->context->gl_vtable;
   GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "luma_threshold",
-      luma_threshold_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-static void
-gst_gl_effects_glow_step_two (gint width, gint height, guint texture,
-    gpointer data)
-{
   GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "hconv7",
-      hconv7_fragment_source_gles2);
-
-  if (!shader)
-    return;
 
   if (!kernel_ready) {
     fill_gaussian_kernel (gauss_kernel, 7, 10.0);
     kernel_ready = TRUE;
   }
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
 
+  /* threshold */
+  shader = gst_gl_effects_get_fragment_shader (effects, "luma_threshold",
+      luma_threshold_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->midtexture[0], shader);
+
+  /* blur */
+  shader = gst_gl_effects_get_fragment_shader (effects, "hconv7",
+      hconv7_fragment_source_gles2);
   gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 1);
   gst_gl_shader_set_uniform_1fv (shader, "kernel", 7, gauss_kernel);
-  gst_gl_shader_set_uniform_1f (shader, "gauss_width", width);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-static void
-gst_gl_effects_glow_step_three (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
+  gst_gl_shader_set_uniform_1f (shader, "gauss_width",
+      GST_VIDEO_INFO_WIDTH (&filter->out_info));
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[0],
+      effects->midtexture[1], shader);
 
   shader = gst_gl_effects_get_fragment_shader (effects, "vconv7",
       vconv7_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
   gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 1);
   gst_gl_shader_set_uniform_1fv (shader, "kernel", 7, gauss_kernel);
-  gst_gl_shader_set_uniform_1f (shader, "gauss_height", height);
+  gst_gl_shader_set_uniform_1f (shader, "gauss_height",
+      GST_VIDEO_INFO_HEIGHT (&filter->out_info));
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[1],
+      effects->midtexture[2], shader);
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-static void
-gst_gl_effects_glow_step_four (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
+  /* add blurred luma to intexture */
   shader = gst_gl_effects_get_fragment_shader (effects, "sum",
       sum_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE2);
-  gl->BindTexture (GL_TEXTURE_2D, effects->intexture);
+  gl->BindTexture (GL_TEXTURE_2D,
+      gst_gl_memory_get_texture_id (effects->intexture));
 
   gst_gl_shader_set_uniform_1f (shader, "alpha", 1.0f);
   gst_gl_shader_set_uniform_1i (shader, "base", 2);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
+  gl->BindTexture (GL_TEXTURE_2D,
+      gst_gl_memory_get_texture_id (effects->midtexture[2]));
 
   gst_gl_shader_set_uniform_1f (shader, "beta", (gfloat) 1 / 3.5f);
   gst_gl_shader_set_uniform_1i (shader, "blend", 1);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-void
-gst_gl_effects_glow (GstGLEffects * effects)
-{
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  /* threshold */
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->midtexture[0], gst_gl_effects_glow_step_one, effects);
-
-  /* blur */
-  gst_gl_filter_render_to_target (filter, FALSE, effects->midtexture[0],
-      effects->midtexture[1], gst_gl_effects_glow_step_two, effects);
-
-  gst_gl_filter_render_to_target (filter, FALSE, effects->midtexture[1],
-      effects->midtexture[2], gst_gl_effects_glow_step_three, effects);
-
-  /* add blurred luma to intexture */
-  gst_gl_filter_render_to_target (filter, FALSE, effects->midtexture[2],
-      effects->outtexture, gst_gl_effects_glow_step_four, effects);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[2],
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectidentity.c b/ext/gl/effects/gstgleffectidentity.c
index 5687d64..b81c32d 100644
--- a/ext/gl/effects/gstgleffectidentity.c
+++ b/ext/gl/effects/gstgleffectidentity.c
@@ -23,23 +23,13 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_identity_callback (gint width, gint height, guint texture,
-    gpointer data)
+void
+gst_gl_effects_identity (GstGLEffects * effects)
 {
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
+  GstGLContext *context = GST_GL_BASE_FILTER (effects)->context;
   GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
   GstGLShader *shader;
 
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
   shader = g_hash_table_lookup (effects->shaderstable, "identity0");
   if (!shader) {
     GError *error = NULL;
@@ -50,28 +40,10 @@
       return;
     }
 
-    filter->draw_attr_position_loc =
-        gst_gl_shader_get_attribute_location (shader, "a_position");
-    filter->draw_attr_texture_loc =
-        gst_gl_shader_get_attribute_location (shader, "a_texcoord");
-
     g_hash_table_insert (effects->shaderstable, (gchar *) "identity0", shader);
   }
   gst_gl_shader_use (shader);
 
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-void
-gst_gl_effects_identity (GstGLEffects * effects)
-{
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_identity_callback, effects);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectlaplacian.c b/ext/gl/effects/gstgleffectlaplacian.c
index ca5b88c..4652b0f 100644
--- a/ext/gl/effects/gstgleffectlaplacian.c
+++ b/ext/gl/effects/gstgleffectlaplacian.c
@@ -25,48 +25,28 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_laplacian_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader = NULL;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  if (NULL != (shader = gst_gl_effects_get_fragment_shader (effects, "conv0",
-              conv9_fragment_source_gles2))) {
-    GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
-    static gfloat kernel[9] = { 0.0, -1.0, 0.0,
-      -1.0, 4.0, -1.0,
-      0.0, -1.0, 0.0
-    };
-
-#if GST_GL_HAVE_OPENGL
-    if (USING_OPENGL (GST_GL_BASE_FILTER (filter)->context)) {
-      gl->MatrixMode (GL_PROJECTION);
-      gl->LoadIdentity ();
-    }
-#endif
-
-    gst_gl_shader_use (shader);
-
-    gl->ActiveTexture (GL_TEXTURE0);
-    gl->BindTexture (GL_TEXTURE_2D, texture);
-
-    gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-    gst_gl_shader_set_uniform_1f (shader, "height", height);
-    gst_gl_shader_set_uniform_1f (shader, "width", width);
-    gst_gl_shader_set_uniform_1fv (shader, "kernel", 9, kernel);
-    gst_gl_shader_set_uniform_1i (shader, "invert", effects->invert);
-
-    gst_gl_filter_draw_texture (filter, texture, width, height);
-  }
-}
+static gfloat kernel[9] = {
+  0.0, -1.0, 0.0,
+  -1.0, 4.0, -1.0,
+  0.0, -1.0, 0.0
+};
 
 void
 gst_gl_effects_laplacian (GstGLEffects * effects)
 {
-  gst_gl_filter_render_to_target (GST_GL_FILTER (effects), TRUE,
-      effects->intexture, effects->outtexture,
-      gst_gl_effects_laplacian_callback, effects);
+  GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
+
+  shader = gst_gl_effects_get_fragment_shader (effects, "conv0",
+      conv9_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1f (shader, "height",
+      GST_VIDEO_INFO_HEIGHT (&filter->in_info));
+  gst_gl_shader_set_uniform_1f (shader, "width",
+      GST_VIDEO_INFO_WIDTH (&filter->in_info));
+  gst_gl_shader_set_uniform_1fv (shader, "kernel", 9, kernel);
+  gst_gl_shader_set_uniform_1i (shader, "invert", effects->invert);
+
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectlumatocurve.c b/ext/gl/effects/gstgleffectlumatocurve.c
index 158fda0..a9c2a5b 100644
--- a/ext/gl/effects/gstgleffectlumatocurve.c
+++ b/ext/gl/effects/gstgleffectlumatocurve.c
@@ -26,13 +26,13 @@
 
 void
 gst_gl_effects_luma_to_curve (GstGLEffects * effects,
-    const GstGLEffectsCurve * curve,
-    gint curve_index, gint width, gint height, GLuint texture)
+    const GstGLEffectsCurve * curve, gint curve_index, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
-  GstGLShader *shader;
+  GstGLContext *context = GST_GL_BASE_FILTER (effects)->context;
   GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
+  const GstGLFuncs *gl = context->gl_vtable;
+  GstGLShader *shader;
 
   shader = gst_gl_effects_get_fragment_shader (effects, "luma_to_curve",
       luma_to_curve_fragment_source_gles2);
@@ -47,112 +47,46 @@
   }
 #endif
 
-  gst_gl_shader_use (shader);
-
   if (effects->curve[curve_index] == 0) {
     /* this parameters are needed to have a right, predictable, mapping */
     gl->GenTextures (1, &effects->curve[curve_index]);
 
-#if GST_GL_HAVE_OPENGL
-    if (USING_OPENGL (context)) {
-      gl->BindTexture (GL_TEXTURE_1D, effects->curve[curve_index]);
-      gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-      gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-      gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP);
-      gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_CLAMP);
-
-      gl->TexImage1D (GL_TEXTURE_1D, 0, curve->bytes_per_pixel,
-          curve->width, 0, GL_RGB, GL_UNSIGNED_BYTE, curve->pixel_data);
-    }
-#endif
-    if (USING_GLES2 (context) || USING_OPENGL3 (context)) {
-      gl->BindTexture (GL_TEXTURE_2D, effects->curve[curve_index]);
-      gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-      gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-      gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-      gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-
-      gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGB,
-          curve->width, 1, 0, GL_RGB, GL_UNSIGNED_BYTE, curve->pixel_data);
-    }
-  }
-
-  gl->ActiveTexture (GL_TEXTURE2);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 2);
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->ActiveTexture (GL_TEXTURE1);
-    gl->BindTexture (GL_TEXTURE_1D, effects->curve[curve_index]);
-
-    gst_gl_shader_set_uniform_1i (shader, "curve", 1);
-  }
-#endif
-  if (USING_GLES2 (context) || USING_OPENGL3 (context)) {
-    gl->ActiveTexture (GL_TEXTURE1);
     gl->BindTexture (GL_TEXTURE_2D, effects->curve[curve_index]);
+    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
 
-    gst_gl_shader_set_uniform_1i (shader, "curve", 1);
+    gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGB,
+        curve->width, 1, 0, GL_RGB, GL_UNSIGNED_BYTE, curve->pixel_data);
   }
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
+  gst_gl_shader_use (shader);
+  gl->ActiveTexture (GL_TEXTURE2);
+  gl->BindTexture (GL_TEXTURE_2D, effects->curve[curve_index]);
 
-static void
-gst_gl_effects_heat_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
+  gst_gl_shader_set_uniform_1i (shader, "curve", 2);
 
-  gst_gl_effects_luma_to_curve (effects, &heat_curve, GST_GL_EFFECTS_CURVE_HEAT,
-      width, height, texture);
+  gst_gl_filter_render_to_target_with_shader (filter, in_tex, out_tex, shader);
 }
 
 void
 gst_gl_effects_heat (GstGLEffects * effects)
 {
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_heat_callback, effects);
-}
-
-static void
-gst_gl_effects_sepia_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-
-  gst_gl_effects_luma_to_curve (effects, &sepia_curve,
-      GST_GL_EFFECTS_CURVE_SEPIA, width, height, texture);
+  gst_gl_effects_luma_to_curve (effects, &heat_curve,
+      GST_GL_EFFECTS_CURVE_HEAT, effects->intexture, effects->outtexture);
 }
 
 void
 gst_gl_effects_sepia (GstGLEffects * effects)
 {
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_sepia_callback, effects);
-}
-
-static void
-gst_gl_effects_luma_xpro_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-
-  gst_gl_effects_luma_to_curve (effects, &luma_xpro_curve,
-      GST_GL_EFFECTS_CURVE_LUMA_XPRO, width, height, texture);
+  gst_gl_effects_luma_to_curve (effects, &sepia_curve,
+      GST_GL_EFFECTS_CURVE_SEPIA, effects->intexture, effects->outtexture);
 }
 
 void
 gst_gl_effects_luma_xpro (GstGLEffects * effects)
 {
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_luma_xpro_callback, effects);
+  gst_gl_effects_luma_to_curve (effects, &luma_xpro_curve,
+      GST_GL_EFFECTS_CURVE_LUMA_XPRO, effects->intexture, effects->outtexture);
 }
diff --git a/ext/gl/effects/gstgleffectlumatocurve.h b/ext/gl/effects/gstgleffectlumatocurve.h
index 509b45b..f90577f 100644
--- a/ext/gl/effects/gstgleffectlumatocurve.h
+++ b/ext/gl/effects/gstgleffectlumatocurve.h
@@ -28,8 +28,8 @@
 void gst_gl_effects_luma_to_curve (GstGLEffects *effects,
                                    const GstGLEffectsCurve *curve,
                                    gint curve_index,
-                                   gint width, gint height,
-                                   GLuint texture);
+                                   GstGLMemory *in_tex,
+                                   GstGLMemory *out_tex);
 G_END_DECLS
 
 #endif /* __GST_GL_LUMA_TO_CURVE_H__ */
diff --git a/ext/gl/effects/gstgleffectmirror.c b/ext/gl/effects/gstgleffectmirror.c
index 5080099..a25d874 100644
--- a/ext/gl/effects/gstgleffectmirror.c
+++ b/ext/gl/effects/gstgleffectmirror.c
@@ -23,44 +23,14 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_mirror_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLFilter *filter = GST_GL_FILTER (data);
-  GstGLEffects *effects = GST_GL_EFFECTS (filter);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "mirror",
-      mirror_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
 void
 gst_gl_effects_mirror (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_mirror_callback, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "mirror",
+      mirror_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectrgbtocurve.c b/ext/gl/effects/gstgleffectrgbtocurve.c
index e2b6bdb..5bead68 100644
--- a/ext/gl/effects/gstgleffectrgbtocurve.c
+++ b/ext/gl/effects/gstgleffectrgbtocurve.c
@@ -26,13 +26,13 @@
 
 static void
 gst_gl_effects_rgb_to_curve (GstGLEffects * effects,
-    const GstGLEffectsCurve * curve,
-    gint curve_index, gint width, gint height, GLuint texture)
+    const GstGLEffectsCurve * curve, gint curve_index, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
-  GstGLShader *shader;
+  GstGLContext *context = GST_GL_BASE_FILTER (effects)->context;
   GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
+  const GstGLFuncs *gl = context->gl_vtable;
+  GstGLShader *shader;
 
   shader = gst_gl_effects_get_fragment_shader (effects, "rgb_to_curve",
       rgb_to_curve_fragment_source_gles2);
@@ -47,73 +47,32 @@
   }
 #endif
 
-  gst_gl_shader_use (shader);
-
   if (effects->curve[curve_index] == 0) {
     /* this parameters are needed to have a right, predictable, mapping */
     gl->GenTextures (1, &effects->curve[curve_index]);
-#if GST_GL_HAVE_OPENGL
-    if (USING_OPENGL (context)) {
-      gl->BindTexture (GL_TEXTURE_1D, effects->curve[curve_index]);
-      gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-      gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-      gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_WRAP_S, GL_CLAMP);
-      gl->TexParameteri (GL_TEXTURE_1D, GL_TEXTURE_WRAP_T, GL_CLAMP);
 
-      gl->TexImage1D (GL_TEXTURE_1D, 0, GL_RGB,
-          curve->width, 0, GL_RGB, GL_UNSIGNED_BYTE, curve->pixel_data);
-    }
-#endif
-    if (USING_GLES2 (context) || USING_OPENGL3 (context)) {
-      gl->BindTexture (GL_TEXTURE_2D, effects->curve[curve_index]);
-      gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-      gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
-      gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-      gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-
-      gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGB,
-          curve->width, 1, 0, GL_RGB, GL_UNSIGNED_BYTE, curve->pixel_data);
-    }
-  }
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->ActiveTexture (GL_TEXTURE1);
-    gl->BindTexture (GL_TEXTURE_1D, effects->curve[curve_index]);
-
-    gst_gl_shader_set_uniform_1i (shader, "curve", 1);
-  }
-#endif
-  if (USING_GLES2 (context) || USING_OPENGL3 (context)) {
-    gl->ActiveTexture (GL_TEXTURE1);
     gl->BindTexture (GL_TEXTURE_2D, effects->curve[curve_index]);
+    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
+    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
+    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
 
-    gst_gl_shader_set_uniform_1i (shader, "curve", 1);
+    gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGB,
+        curve->width, 1, 0, GL_RGB, GL_UNSIGNED_BYTE, curve->pixel_data);
   }
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
+  gst_gl_shader_use (shader);
+  gl->ActiveTexture (GL_TEXTURE2);
+  gl->BindTexture (GL_TEXTURE_2D, effects->curve[curve_index]);
 
-static void
-gst_gl_effects_xpro_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
+  gst_gl_shader_set_uniform_1i (shader, "curve", 2);
 
-  gst_gl_effects_rgb_to_curve (effects, &xpro_curve, GST_GL_EFFECTS_CURVE_XPRO,
-      width, height, texture);
+  gst_gl_filter_render_to_target_with_shader (filter, in_tex, out_tex, shader);
 }
 
 void
 gst_gl_effects_xpro (GstGLEffects * effects)
 {
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_xpro_callback, effects);
+  gst_gl_effects_rgb_to_curve (effects, &xpro_curve, GST_GL_EFFECTS_CURVE_XPRO,
+      effects->intexture, effects->outtexture);
 }
diff --git a/ext/gl/effects/gstgleffectsin.c b/ext/gl/effects/gstgleffectsin.c
index 5c09e8b..24b6613 100644
--- a/ext/gl/effects/gstgleffectsin.c
+++ b/ext/gl/effects/gstgleffectsin.c
@@ -23,44 +23,14 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_sin_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "sin",
-      sin_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
 void
 gst_gl_effects_sin (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_sin_callback, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "sin",
+      sin_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectsobel.c b/ext/gl/effects/gstgleffectsobel.c
index 8996b93..4fbe60f 100644
--- a/ext/gl/effects/gstgleffectsobel.c
+++ b/ext/gl/effects/gstgleffectsobel.c
@@ -25,144 +25,37 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_sobel_callback_desaturate (gint width, gint height,
-    guint texture, gpointer data)
-{
-  GstGLShader *shader = NULL;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  if (NULL != (shader = gst_gl_effects_get_fragment_shader (effects, "desat0",
-              desaturate_fragment_source_gles2))) {
-    GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
-
-#if GST_GL_HAVE_OPENGL
-    if (USING_OPENGL (GST_GL_BASE_FILTER (filter)->context)) {
-      gl->MatrixMode (GL_PROJECTION);
-      gl->LoadIdentity ();
-    }
-#endif
-
-    gst_gl_shader_use (shader);
-
-    gl->ActiveTexture (GL_TEXTURE0);
-    gl->BindTexture (GL_TEXTURE_2D, texture);
-
-    gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-    gst_gl_filter_draw_texture (filter, texture, width, height);
-  }
-}
-
-static void
-gst_gl_effects_sobel_callback_hconv (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader = NULL;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  if (NULL != (shader = gst_gl_effects_get_fragment_shader (effects, "hconv0",
-              sep_sobel_hconv3_fragment_source_gles2))) {
-    GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
-
-#if GST_GL_HAVE_OPENGL
-    if (USING_OPENGL (GST_GL_BASE_FILTER (filter)->context)) {
-      gl->MatrixMode (GL_PROJECTION);
-      gl->LoadIdentity ();
-    }
-#endif
-
-    gst_gl_shader_use (shader);
-
-    gl->ActiveTexture (GL_TEXTURE0);
-    gl->BindTexture (GL_TEXTURE_2D, texture);
-
-    gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-    gst_gl_shader_set_uniform_1f (shader, "width", width);
-
-    gst_gl_filter_draw_texture (filter, texture, width, height);
-  }
-}
-
-static void
-gst_gl_effects_sobel_callback_vconv (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader = NULL;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  if (NULL != (shader = gst_gl_effects_get_fragment_shader (effects, "vconv0",
-              sep_sobel_vconv3_fragment_source_gles2))) {
-    GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
-
-#if GST_GL_HAVE_OPENGL
-    if (USING_OPENGL (GST_GL_BASE_FILTER (filter)->context)) {
-      gl->MatrixMode (GL_PROJECTION);
-      gl->LoadIdentity ();
-    }
-#endif
-
-    gst_gl_shader_use (shader);
-
-    gl->ActiveTexture (GL_TEXTURE0);
-    gl->BindTexture (GL_TEXTURE_2D, texture);
-
-    gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-    gst_gl_shader_set_uniform_1f (shader, "height", height);
-
-    gst_gl_filter_draw_texture (filter, texture, width, height);
-  }
-}
-
-static void
-gst_gl_effects_sobel_callback_length (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader = NULL;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-
-  if (NULL != (shader = gst_gl_effects_get_fragment_shader (effects, "len0",
-              sep_sobel_length_fragment_source_gles2))) {
-    GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
-
-#if GST_GL_HAVE_OPENGL
-    if (USING_OPENGL (GST_GL_BASE_FILTER (filter)->context)) {
-      gl->MatrixMode (GL_PROJECTION);
-      gl->LoadIdentity ();
-    }
-#endif
-
-    gst_gl_shader_use (shader);
-
-    gl->ActiveTexture (GL_TEXTURE0);
-    gl->BindTexture (GL_TEXTURE_2D, texture);
-
-    gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-    gst_gl_shader_set_uniform_1i (shader, "invert", effects->invert);
-
-    gst_gl_filter_draw_texture (filter, texture, width, height);
-  }
-}
-
 void
 gst_gl_effects_sobel (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE,
-      effects->intexture, effects->midtexture[0],
-      gst_gl_effects_sobel_callback_desaturate, effects);
-  gst_gl_filter_render_to_target (filter, FALSE,
-      effects->midtexture[0], effects->midtexture[1],
-      gst_gl_effects_sobel_callback_hconv, effects);
-  gst_gl_filter_render_to_target (filter, FALSE,
-      effects->midtexture[1], effects->midtexture[0],
-      gst_gl_effects_sobel_callback_vconv, effects);
-  gst_gl_filter_render_to_target (filter, FALSE,
-      effects->midtexture[0], effects->outtexture,
-      gst_gl_effects_sobel_callback_length, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "desat0",
+      desaturate_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->midtexture[0], shader);
+
+  shader = gst_gl_effects_get_fragment_shader (effects, "hconv0",
+      sep_sobel_hconv3_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1f (shader, "height",
+      GST_VIDEO_INFO_HEIGHT (&filter->out_info));
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[0],
+      effects->midtexture[1], shader);
+
+  shader = gst_gl_effects_get_fragment_shader (effects, "vconv0",
+      sep_sobel_vconv3_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1f (shader, "width",
+      GST_VIDEO_INFO_WIDTH (&filter->out_info));
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[1],
+      effects->midtexture[0], shader);
+
+  shader = gst_gl_effects_get_fragment_shader (effects, "len0",
+      sep_sobel_length_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1i (shader, "invert", effects->invert);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[0],
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectsquare.c b/ext/gl/effects/gstgleffectsquare.c
index e74c943..911d30f 100644
--- a/ext/gl/effects/gstgleffectsquare.c
+++ b/ext/gl/effects/gstgleffectsquare.c
@@ -23,44 +23,14 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_square_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "square",
-      square_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
 void
 gst_gl_effects_square (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_square_callback, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "square",
+      square_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectsqueeze.c b/ext/gl/effects/gstgleffectsqueeze.c
index 2dbded5..1999978 100644
--- a/ext/gl/effects/gstgleffectsqueeze.c
+++ b/ext/gl/effects/gstgleffectsqueeze.c
@@ -23,44 +23,14 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_squeeze_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLFilter *filter = GST_GL_FILTER (data);
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "squeeze",
-      squeeze_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
 void
 gst_gl_effects_squeeze (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_squeeze_callback, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "squeeze",
+      squeeze_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectstretch.c b/ext/gl/effects/gstgleffectstretch.c
index d132bd0..bbc0c4c 100644
--- a/ext/gl/effects/gstgleffectstretch.c
+++ b/ext/gl/effects/gstgleffectstretch.c
@@ -23,43 +23,14 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_stretch_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "stretch",
-      stretch_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
 void
 gst_gl_effects_stretch (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_stretch_callback, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "stretch",
+      stretch_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffecttunnel.c b/ext/gl/effects/gstgleffecttunnel.c
index 5029c51..4990b83 100644
--- a/ext/gl/effects/gstgleffecttunnel.c
+++ b/ext/gl/effects/gstgleffecttunnel.c
@@ -23,44 +23,14 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_tunnel_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "tunnel",
-      tunnel_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
 void
 gst_gl_effects_tunnel (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_tunnel_callback, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "tunnel",
+      tunnel_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffecttwirl.c b/ext/gl/effects/gstgleffecttwirl.c
index 6c73f19..57a9b53 100644
--- a/ext/gl/effects/gstgleffecttwirl.c
+++ b/ext/gl/effects/gstgleffecttwirl.c
@@ -23,44 +23,14 @@
 
 #include "../gstgleffects.h"
 
-static void
-gst_gl_effects_twirl_callback (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "twirl",
-      twirl_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
 void
 gst_gl_effects_twirl (GstGLEffects * effects)
 {
   GstGLFilter *filter = GST_GL_FILTER (effects);
+  GstGLShader *shader;
 
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->outtexture, gst_gl_effects_twirl_callback, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "twirl",
+      twirl_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/effects/gstgleffectxray.c b/ext/gl/effects/gstgleffectxray.c
index c045cb6..a7c9b36 100644
--- a/ext/gl/effects/gstgleffectxray.c
+++ b/ext/gl/effects/gstgleffectxray.c
@@ -28,297 +28,97 @@
 static gboolean kernel_ready = FALSE;
 static float gauss_kernel[7];
 
-static void
-gst_gl_effects_xray_step_one (gint width, gint height, guint texture,
-    gpointer data)
+void
+gst_gl_effects_xray (GstGLEffects * effects)
 {
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-
-  gst_gl_effects_luma_to_curve (effects, &xray_curve, GST_GL_EFFECTS_CURVE_XRAY,
-      width, height, texture);
-}
-
-static void
-gst_gl_effects_xray_step_two (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
+  const GstGLFuncs *gl = GST_GL_BASE_FILTER (effects)->context->gl_vtable;
   GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "hconv7",
-      hconv7_fragment_source_gles2);
-
-  if (!shader)
-    return;
+  GstGLShader *shader;
 
   if (!kernel_ready) {
     fill_gaussian_kernel (gauss_kernel, 7, 1.5);
     kernel_ready = TRUE;
   }
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 1);
-  gst_gl_shader_set_uniform_1fv (shader, "kernel", 9, gauss_kernel);
-  gst_gl_shader_set_uniform_1f (shader, "gauss_width", width);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-static void
-gst_gl_effects_xray_step_three (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "vconv7",
-      vconv7_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 1);
-  gst_gl_shader_set_uniform_1fv (shader, "kernel", 9, gauss_kernel);
-  gst_gl_shader_set_uniform_1f (shader, "gauss_height", height);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-/* multipass separable sobel */
-static void
-gst_gl_effects_xray_desaturate (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "desaturate",
-      desaturate_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 1);
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-static void
-gst_gl_effects_xray_sobel_hconv (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "sobel_hconv3",
-      sep_sobel_hconv3_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 1);
-  gst_gl_shader_set_uniform_1f (shader, "width", width);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-static void
-gst_gl_effects_xray_sobel_vconv (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "sobel_vconv3",
-      sep_sobel_vconv3_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 1);
-  gst_gl_shader_set_uniform_1f (shader, "height", height);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-static void
-gst_gl_effects_xray_sobel_length (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "sobel_length",
-      sep_sobel_length_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (shader, "tex", 1);
-  gst_gl_shader_set_uniform_1i (shader, "invert", TRUE);
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-/* end of sobel passes */
-
-static void
-gst_gl_effects_xray_step_five (gint width, gint height, guint texture,
-    gpointer data)
-{
-  GstGLShader *shader;
-  GstGLEffects *effects = GST_GL_EFFECTS (data);
-  GstGLFilter *filter = GST_GL_FILTER (effects);
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-
-  shader = gst_gl_effects_get_fragment_shader (effects, "multiply",
-      multiply_fragment_source_gles2);
-
-  if (!shader)
-    return;
-
-#if GST_GL_HAVE_OPENGL
-  if (USING_OPENGL (context)) {
-    gl->MatrixMode (GL_PROJECTION);
-    gl->LoadIdentity ();
-  }
-#endif
-
-  gst_gl_shader_use (shader);
-
-  gl->ActiveTexture (GL_TEXTURE2);
-  gl->BindTexture (GL_TEXTURE_2D, effects->midtexture[2]);
-
-  gst_gl_shader_set_uniform_1i (shader, "base", 2);
-
-  gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1f (shader, "alpha", (gfloat) 0.5f);
-  gst_gl_shader_set_uniform_1i (shader, "blend", 1);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
-
-void
-gst_gl_effects_xray (GstGLEffects * effects)
-{
-  GstGLFilter *filter = GST_GL_FILTER (effects);
 
   /* map luma to xray curve */
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->midtexture[0], gst_gl_effects_xray_step_one, effects);
+  gst_gl_effects_luma_to_curve (effects, &xray_curve, GST_GL_EFFECTS_CURVE_XRAY,
+      effects->intexture, effects->midtexture[0]);
+
   /* horizontal blur */
-  gst_gl_filter_render_to_target (filter, FALSE, effects->midtexture[0],
-      effects->midtexture[1], gst_gl_effects_xray_step_two, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "hconv7",
+      hconv7_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1fv (shader, "kernel", 9, gauss_kernel);
+  gst_gl_shader_set_uniform_1f (shader, "gauss_width",
+      GST_VIDEO_INFO_WIDTH (&filter->in_info));
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[0],
+      effects->midtexture[1], shader);
+
   /* vertical blur */
-  gst_gl_filter_render_to_target (filter, FALSE, effects->midtexture[1],
-      effects->midtexture[2], gst_gl_effects_xray_step_three, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "vconv7",
+      vconv7_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1fv (shader, "kernel", 9, gauss_kernel);
+  gst_gl_shader_set_uniform_1f (shader, "gauss_height",
+      GST_VIDEO_INFO_HEIGHT (&filter->out_info));
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[1],
+      effects->midtexture[2], shader);
+
   /* detect edges with Sobel */
   /* the old version used edges from the blurred texture, this uses
    * the ones from original texture, still not sure what I like
    * more. This one gives better edges obviously but behaves badly
    * with noise */
   /* desaturate */
-  gst_gl_filter_render_to_target (filter, TRUE, effects->intexture,
-      effects->midtexture[3], gst_gl_effects_xray_desaturate, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "desaturate",
+      desaturate_fragment_source_gles2);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->intexture,
+      effects->midtexture[3], shader);
+
   /* horizonal convolution */
-  gst_gl_filter_render_to_target (filter, FALSE, effects->midtexture[3],
-      effects->midtexture[4], gst_gl_effects_xray_sobel_hconv, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "sobel_hconv3",
+      sep_sobel_hconv3_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1f (shader, "width",
+      GST_VIDEO_INFO_WIDTH (&filter->out_info));
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[3],
+      effects->midtexture[4], shader);
+
   /* vertical convolution */
-  gst_gl_filter_render_to_target (filter, FALSE, effects->midtexture[4],
-      effects->midtexture[3], gst_gl_effects_xray_sobel_vconv, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "sobel_vconv3",
+      sep_sobel_vconv3_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1f (shader, "height",
+      GST_VIDEO_INFO_HEIGHT (&filter->out_info));
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[4],
+      effects->midtexture[3], shader);
+
   /* gradient length */
-  gst_gl_filter_render_to_target (filter, FALSE, effects->midtexture[3],
-      effects->midtexture[4], gst_gl_effects_xray_sobel_length, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "sobel_length",
+      sep_sobel_length_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+  gst_gl_shader_set_uniform_1i (shader, "invert", TRUE);
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[3],
+      effects->midtexture[4], shader);
+
   /* multiply edges with the blurred image */
-  gst_gl_filter_render_to_target (filter, FALSE, effects->midtexture[4],
-      effects->outtexture, gst_gl_effects_xray_step_five, effects);
+  shader = gst_gl_effects_get_fragment_shader (effects, "multiply",
+      multiply_fragment_source_gles2);
+  gst_gl_shader_use (shader);
+
+  gl->ActiveTexture (GL_TEXTURE2);
+  gl->BindTexture (GL_TEXTURE_2D,
+      gst_gl_memory_get_texture_id (effects->midtexture[2]));
+
+  gst_gl_shader_set_uniform_1i (shader, "base", 2);
+
+  gl->ActiveTexture (GL_TEXTURE1);
+  gl->BindTexture (GL_TEXTURE_2D,
+      gst_gl_memory_get_texture_id (effects->midtexture[4]));
+
+  gst_gl_shader_set_uniform_1f (shader, "alpha", (gfloat) 0.5f);
+  gst_gl_shader_set_uniform_1i (shader, "blend", 1);
+
+  gst_gl_filter_render_to_target_with_shader (filter, effects->midtexture[4],
+      effects->outtexture, shader);
 }
diff --git a/ext/gl/gstglcolorbalance.c b/ext/gl/gstglcolorbalance.c
index 27dcb00..92d4447 100644
--- a/ext/gl/gstglcolorbalance.c
+++ b/ext/gl/gstglcolorbalance.c
@@ -231,13 +231,11 @@
     gst_object_sync_values (GST_OBJECT (balance), stream_time);
 }
 
-static void
-gst_gl_color_balance_callback (gint width, gint height, guint tex_id,
-    gpointer data)
+static gboolean
+gst_gl_color_balance_filter_texture (GstGLFilter * filter, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
-  GstGLColorBalance *balance = GST_GL_COLOR_BALANCE (data);
-  GstGLFilter *filter = GST_GL_FILTER (data);
-  const GstGLFuncs *gl = GST_GL_BASE_FILTER (data)->context->gl_vtable;
+  GstGLColorBalance *balance = GST_GL_COLOR_BALANCE (filter);
 
   if (!balance->shader)
     _create_shader (balance);
@@ -252,17 +250,8 @@
   gst_gl_shader_set_uniform_1f (balance->shader, "hue", balance->hue);
   GST_OBJECT_UNLOCK (balance);
 
-  gl->BindTexture (GL_TEXTURE_2D, tex_id);
-
-  gst_gl_filter_draw_texture (filter, tex_id, width, height);
-}
-
-static gboolean
-gst_gl_color_balance_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
-{
-  gst_gl_filter_render_to_target (filter, TRUE, in_tex, out_tex,
-      (GLCB) gst_gl_color_balance_callback, filter);
+  gst_gl_filter_render_to_target_with_shader (filter, in_tex, out_tex,
+      balance->shader);
 
   return TRUE;
 }
diff --git a/ext/gl/gstglcolorscale.c b/ext/gl/gstglcolorscale.c
index c7df0a8..2ca5480 100644
--- a/ext/gl/gstglcolorscale.c
+++ b/ext/gl/gstglcolorscale.c
@@ -74,7 +74,7 @@
 static void gst_gl_colorscale_gl_stop (GstGLBaseFilter * base_filter);
 
 static gboolean gst_gl_colorscale_filter_texture (GstGLFilter * filter,
-    guint in_tex, guint out_tex);
+    GstGLMemory * in_tex, GstGLMemory * out_tex);
 
 static void
 gst_gl_colorscale_class_init (GstGLColorscaleClass * klass)
@@ -175,13 +175,13 @@
 }
 
 static gboolean
-gst_gl_colorscale_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
+gst_gl_colorscale_filter_texture (GstGLFilter * filter, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
   GstGLColorscale *colorscale = GST_GL_COLORSCALE (filter);
 
   if (gst_gl_context_get_gl_api (GST_GL_BASE_FILTER (filter)->context))
-    gst_gl_filter_render_to_target_with_shader (filter, TRUE, in_tex, out_tex,
+    gst_gl_filter_render_to_target_with_shader (filter, in_tex, out_tex,
         colorscale->shader);
 
   return TRUE;
diff --git a/ext/gl/gstgldeinterlace.c b/ext/gl/gstgldeinterlace.c
index c1429a9..fe207cc 100644
--- a/ext/gl/gstgldeinterlace.c
+++ b/ext/gl/gstgldeinterlace.c
@@ -64,11 +64,11 @@
 static gboolean gst_gl_deinterlace_filter (GstGLFilter * filter,
     GstBuffer * inbuf, GstBuffer * outbuf);
 static gboolean gst_gl_deinterlace_filter_texture (GstGLFilter * filter,
-    guint in_tex, guint out_tex);
-static void gst_gl_deinterlace_vfir_callback (gint width, gint height,
-    guint texture, gpointer stuff);
-static void gst_gl_deinterlace_greedyh_callback (gint width, gint height,
-    guint texture, gpointer stuff);
+    GstGLMemory * in_tex, GstGLMemory * out_tex);
+static gboolean gst_gl_deinterlace_vfir_callback (GstGLFilter * filter,
+    GstGLMemory * in_tex, gpointer stuff);
+static gboolean gst_gl_deinterlace_greedyh_callback (GstGLFilter * filter,
+    GstGLMemory * in_tex, gpointer stuff);
 
 /* *INDENT-OFF* */
 static const gchar *greedyh_fragment_source =
@@ -276,7 +276,7 @@
   filter->deinterlacefunc = gst_gl_deinterlace_vfir_callback;
   filter->current_method = GST_GL_DEINTERLACE_VFIR;
   filter->prev_buffer = NULL;
-  filter->prev_tex = 0;
+  filter->prev_tex = NULL;
 }
 
 static gboolean
@@ -364,13 +364,13 @@
 }
 
 static gboolean
-gst_gl_deinterlace_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
+gst_gl_deinterlace_filter_texture (GstGLFilter * filter, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
   GstGLDeinterlace *deinterlace_filter = GST_GL_DEINTERLACE (filter);
 
   //blocking call, use a FBO
-  gst_gl_filter_render_to_target (filter, TRUE, in_tex, out_tex,
+  gst_gl_filter_render_to_target (filter, in_tex, out_tex,
       deinterlace_filter->deinterlacefunc, deinterlace_filter);
 
   return TRUE;
@@ -424,20 +424,19 @@
   return shader;
 }
 
-static void
-gst_gl_deinterlace_vfir_callback (gint width, gint height, guint texture,
-    gpointer stuff)
+static gboolean
+gst_gl_deinterlace_vfir_callback (GstGLFilter * filter, GstGLMemory * in_tex,
+    gpointer user_data)
 {
-  GstGLShader *shader;
-  GstGLFilter *filter = GST_GL_FILTER (stuff);
   GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
+  const GstGLFuncs *gl = context->gl_vtable;
+  GstGLShader *shader;
 
   shader = gst_gl_deinterlace_get_fragment_shader (filter, "vfir",
       vfir_fragment_source);
 
   if (!shader)
-    return;
+    return FALSE;
 
 #if GST_GL_HAVE_OPENGL
   if (USING_OPENGL (context)) {
@@ -449,7 +448,7 @@
   gst_gl_shader_use (shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
+  gl->BindTexture (GL_TEXTURE_2D, gst_gl_memory_get_texture_id (in_tex));
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
   gst_gl_shader_set_uniform_1f (shader, "width",
@@ -457,15 +456,16 @@
   gst_gl_shader_set_uniform_1f (shader, "height",
       GST_VIDEO_INFO_HEIGHT (&filter->out_info));
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
+  gst_gl_filter_draw_fullscreen_quad (filter);
+
+  return TRUE;
 }
 
-static void
-gst_gl_deinterlace_greedyh_callback (gint width, gint height, guint texture,
-    gpointer stuff)
+static gboolean
+gst_gl_deinterlace_greedyh_callback (GstGLFilter * filter, GstGLMemory * in_tex,
+    gpointer user_data)
 {
   GstGLShader *shader;
-  GstGLFilter *filter = GST_GL_FILTER (stuff);
   GstGLDeinterlace *deinterlace_filter = GST_GL_DEINTERLACE (filter);
   GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
   GstGLFuncs *gl = context->gl_vtable;
@@ -475,7 +475,7 @@
       greedyh_fragment_source);
 
   if (!shader)
-    return;
+    return FALSE;
 
 #if GST_GL_HAVE_OPENGL
   if (USING_OPENGL (context)) {
@@ -486,14 +486,15 @@
 
   gst_gl_shader_use (shader);
 
-  if (G_LIKELY (deinterlace_filter->prev_tex != 0)) {
+  if (G_LIKELY (deinterlace_filter->prev_tex != NULL)) {
     gl->ActiveTexture (GL_TEXTURE1);
     gst_gl_shader_set_uniform_1i (shader, "tex_prev", 1);
-    gl->BindTexture (GL_TEXTURE_2D, deinterlace_filter->prev_tex);
+    gl->BindTexture (GL_TEXTURE_2D,
+        gst_gl_memory_get_texture_id (deinterlace_filter->prev_tex));
   }
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
+  gl->BindTexture (GL_TEXTURE_2D, gst_gl_memory_get_texture_id (in_tex));
 
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
   gst_gl_shader_set_uniform_1f (shader, "max_comb", 5.0f / 255.0f);
@@ -505,8 +506,10 @@
   gst_gl_shader_set_uniform_1f (shader, "height",
       GST_VIDEO_INFO_HEIGHT (&filter->out_info));
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
+  gst_gl_filter_draw_fullscreen_quad (filter);
 
   /* we keep the previous buffer around so this is safe */
-  deinterlace_filter->prev_tex = texture;
+  deinterlace_filter->prev_tex = in_tex;
+
+  return TRUE;
 }
diff --git a/ext/gl/gstgldeinterlace.h b/ext/gl/gstgldeinterlace.h
index 6a19d04..3d78d66 100644
--- a/ext/gl/gstgldeinterlace.h
+++ b/ext/gl/gstgldeinterlace.h
@@ -39,14 +39,14 @@
 
 struct _GstGLDeinterlace
 {
-  GstGLFilter  filter;
+  GstGLFilter               filter;
 
-  GLCB	       deinterlacefunc; 
-  GHashTable   *shaderstable;
-  GstBuffer    *prev_buffer;
-  guint         prev_tex;
+  GstGLFilterRenderFunc     deinterlacefunc; 
+  GHashTable               *shaderstable;
+  GstBuffer                *prev_buffer;
+  GstGLMemory *             prev_tex;
 
-  gint	       current_method;
+  gint	                    current_method;
 };
 
 struct _GstGLDeinterlaceClass
diff --git a/ext/gl/gstgldifferencematte.c b/ext/gl/gstgldifferencematte.c
index d6c35cb..d726c2e 100644
--- a/ext/gl/gstgldifferencematte.c
+++ b/ext/gl/gstgldifferencematte.c
@@ -62,7 +62,7 @@
     guint prop_id, GValue * value, GParamSpec * pspec);
 
 static gboolean gst_gl_differencematte_filter_texture (GstGLFilter * filter,
-    guint in_tex, guint out_tex);
+    GstGLMemory * in_tex, GstGLMemory * out_tex);
 
 static gboolean gst_gl_differencematte_loader (GstGLFilter * filter);
 
@@ -79,22 +79,23 @@
 {
   GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (filter);
   GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  const GstGLFuncs *gl = context->gl_vtable;
+  GstGLBaseMemoryAllocator *tex_alloc;
+  GstGLAllocationParams *params;
   GError *error = NULL;
   gint i;
 
-  for (i = 0; i < 4; i++) {
-    gl->GenTextures (1, &differencematte->midtexture[i]);
-    gl->BindTexture (GL_TEXTURE_2D, differencematte->midtexture[i]);
-    gl->TexImage2D (GL_TEXTURE_2D, 0, GL_RGBA8,
-        GST_VIDEO_INFO_WIDTH (&filter->out_info),
-        GST_VIDEO_INFO_HEIGHT (&filter->out_info),
-        0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-  }
+  tex_alloc = (GstGLBaseMemoryAllocator *)
+      gst_gl_memory_allocator_get_default (context);
+  params =
+      (GstGLAllocationParams *) gst_gl_video_allocation_params_new (context,
+      NULL, &filter->out_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D,
+      GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
+
+  for (i = 0; i < 4; i++)
+    differencematte->midtexture[i] =
+        (GstGLMemory *) gst_gl_base_memory_alloc (tex_alloc, params);
+  gst_gl_allocation_params_free (params);
+  gst_object_unref (tex_alloc);
 
   if (!(differencematte->identity_shader =
           gst_gl_shader_new_default (context, &error))) {
@@ -165,11 +166,18 @@
 gst_gl_differencematte_reset_gl_resources (GstGLFilter * filter)
 {
   GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (filter);
-  GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
   gint i;
 
-  gl->DeleteTextures (1, &differencematte->savedbgtexture);
-  gl->DeleteTextures (1, &differencematte->newbgtexture);
+  if (differencematte->savedbgtexture) {
+    gst_memory_unref (GST_MEMORY_CAST (differencematte->savedbgtexture));
+    differencematte->savedbgtexture = NULL;
+  }
+
+  if (differencematte->newbgtexture) {
+    gst_memory_unref (GST_MEMORY_CAST (differencematte->newbgtexture));
+    differencematte->newbgtexture = NULL;
+  }
+
   for (i = 0; i < 4; i++) {
     if (differencematte->identity_shader) {
       gst_object_unref (differencematte->identity_shader);
@@ -180,15 +188,14 @@
       gst_object_unref (differencematte->shader[i]);
       differencematte->shader[i] = NULL;
     }
+
     if (differencematte->midtexture[i]) {
-      gl->DeleteTextures (1, &differencematte->midtexture[i]);
-      differencematte->midtexture[i] = 0;
+      gst_memory_unref (GST_MEMORY_CAST (differencematte->midtexture[i]));
+      differencematte->midtexture[i] = NULL;
     }
   }
   differencematte->location = NULL;
   differencematte->pixbuf = NULL;
-  differencematte->savedbgtexture = 0;
-  differencematte->newbgtexture = 0;
   differencematte->bg_has_changed = FALSE;
 }
 
@@ -277,158 +284,146 @@
 }
 
 static void
-init_pixbuf_texture (GstGLContext * context, gpointer data)
+init_pixbuf_texture (GstGLDifferenceMatte * differencematte)
 {
-  GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (data);
-  GstGLFilter *filter = GST_GL_FILTER (data);
-  const GstGLFuncs *gl = context->gl_vtable;
-  guint internal_format =
-      gst_gl_sized_gl_format_from_gl_format_type (context, GL_RGBA,
-      GL_UNSIGNED_BYTE);
+  GstGLContext *context = GST_GL_BASE_FILTER (differencematte)->context;
+  GstGLFilter *filter = GST_GL_FILTER (differencematte);
+  GstGLBaseMemoryAllocator *tex_alloc;
+  GstGLAllocationParams *params;
+  GstVideoInfo v_info;
 
-  gl->DeleteTextures (1, &differencematte->newbgtexture);
-  gl->GenTextures (1, &differencematte->newbgtexture);
-  gl->BindTexture (GL_TEXTURE_2D, differencematte->newbgtexture);
-  gl->TexImage2D (GL_TEXTURE_2D, 0, internal_format,
-      (gint) differencematte->pbuf_width, (gint) differencematte->pbuf_height,
-      0, GL_RGBA, GL_UNSIGNED_BYTE, differencematte->pixbuf);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+  tex_alloc = (GstGLBaseMemoryAllocator *)
+      gst_gl_memory_allocator_get_default (context);
+  gst_video_info_set_format (&v_info, GST_VIDEO_FORMAT_RGBA,
+      differencematte->pbuf_width, differencematte->pbuf_height);
+  params =
+      (GstGLAllocationParams *) gst_gl_video_allocation_params_new (context,
+      NULL, &v_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D,
+      GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
 
-  if (differencematte->savedbgtexture == 0) {
-    gl->GenTextures (1, &differencematte->savedbgtexture);
-    gl->BindTexture (GL_TEXTURE_2D, differencematte->savedbgtexture);
-    gl->TexImage2D (GL_TEXTURE_2D, 0, internal_format,
-        GST_VIDEO_INFO_WIDTH (&filter->out_info),
-        GST_VIDEO_INFO_HEIGHT (&filter->out_info),
-        0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+  differencematte->newbgtexture =
+      (GstGLMemory *) gst_gl_base_memory_alloc (tex_alloc, params);
+  gst_gl_allocation_params_free (params);
+
+  if (differencematte->savedbgtexture == NULL) {
+    params =
+        (GstGLAllocationParams *) gst_gl_video_allocation_params_new (context,
+        NULL, &filter->out_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D,
+        GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
+
+    differencematte->savedbgtexture =
+        (GstGLMemory *) gst_gl_base_memory_alloc (tex_alloc, params);
+    gst_gl_allocation_params_free (params);
   }
+
+  gst_object_unref (tex_alloc);
 }
 
-static void
-gst_gl_differencematte_diff (gint width, gint height, guint texture,
+static gboolean
+gst_gl_differencematte_diff (GstGLFilter * filter, GstGLMemory * in_tex,
     gpointer stuff)
 {
-  GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (stuff);
-  GstGLFilter *filter = GST_GL_FILTER (stuff);
-  GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
+  GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (filter);
+  const GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
   gst_gl_shader_use (differencematte->shader[0]);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
+  gl->BindTexture (GL_TEXTURE_2D, gst_gl_memory_get_texture_id (in_tex));
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[0], "current", 0);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, differencematte->savedbgtexture);
+  gl->BindTexture (GL_TEXTURE_2D,
+      gst_gl_memory_get_texture_id (differencematte->savedbgtexture));
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[0], "saved", 1);
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
+  gst_gl_filter_draw_fullscreen_quad (filter);
+
+  return TRUE;
 }
 
-static void
-gst_gl_differencematte_hblur (gint width, gint height, guint texture,
+static gboolean
+gst_gl_differencematte_hblur (GstGLFilter * filter, GstGLMemory * in_tex,
     gpointer stuff)
 {
-  GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (stuff);
-  GstGLFilter *filter = GST_GL_FILTER (stuff);
-  GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
+  GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (filter);
+  const GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
   gst_gl_shader_use (differencematte->shader[1]);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
+  gl->BindTexture (GL_TEXTURE_2D, gst_gl_memory_get_texture_id (in_tex));
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[1], "tex", 0);
 
   gst_gl_shader_set_uniform_1fv (differencematte->shader[1], "kernel", 7,
       differencematte->kernel);
   gst_gl_shader_set_uniform_1f (differencematte->shader[1], "gauss_width",
-      width);
+      GST_VIDEO_INFO_WIDTH (&filter->out_info));
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
+  gst_gl_filter_draw_fullscreen_quad (filter);
+
+  return TRUE;
 }
 
-static void
-gst_gl_differencematte_vblur (gint width, gint height, guint texture,
+static gboolean
+gst_gl_differencematte_vblur (GstGLFilter * filter, GstGLMemory * in_tex,
     gpointer stuff)
 {
-  GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (stuff);
-  GstGLFilter *filter = GST_GL_FILTER (stuff);
-  GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
+  GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (filter);
+  const GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
   gst_gl_shader_use (differencematte->shader[2]);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
+  gl->BindTexture (GL_TEXTURE_2D, gst_gl_memory_get_texture_id (in_tex));
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[2], "tex", 0);
 
   gst_gl_shader_set_uniform_1fv (differencematte->shader[2], "kernel", 7,
       differencematte->kernel);
   gst_gl_shader_set_uniform_1f (differencematte->shader[2], "gauss_height",
-      height);
+      GST_VIDEO_INFO_HEIGHT (&filter->out_info));
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
+  gst_gl_filter_draw_fullscreen_quad (filter);
+
+  return TRUE;
 }
 
-static void
-gst_gl_differencematte_interp (gint width, gint height, guint texture,
+static gboolean
+gst_gl_differencematte_interp (GstGLFilter * filter, GstGLMemory * in_tex,
     gpointer stuff)
 {
-  GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (stuff);
-  GstGLFilter *filter = GST_GL_FILTER (stuff);
-  GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
+  GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (filter);
+  const GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
 
   gst_gl_shader_use (differencematte->shader[3]);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
+  gl->BindTexture (GL_TEXTURE_2D, gst_gl_memory_get_texture_id (in_tex));
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[3], "blend", 0);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, differencematte->newbgtexture);
+  gl->BindTexture (GL_TEXTURE_2D, differencematte->newbgtexture->tex_id);
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[3], "base", 1);
 
   gl->ActiveTexture (GL_TEXTURE2);
-  gl->BindTexture (GL_TEXTURE_2D, differencematte->midtexture[2]);
+  gl->BindTexture (GL_TEXTURE_2D, differencematte->midtexture[2]->tex_id);
 
   gst_gl_shader_set_uniform_1i (differencematte->shader[3], "alpha", 2);
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
-}
+  gst_gl_filter_draw_fullscreen_quad (filter);
 
-static void
-gst_gl_differencematte_identity (gint width, gint height, guint texture,
-    gpointer stuff)
-{
-  GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (stuff);
-  GstGLFilter *filter = GST_GL_FILTER (differencematte);
-  GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
-
-  gst_gl_shader_use (differencematte->identity_shader);
-
-  gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
-
-  gst_gl_shader_set_uniform_1i (differencematte->identity_shader, "tex", 0);
-
-  gst_gl_filter_draw_texture (filter, texture, width, height);
+  return TRUE;
 }
 
 static gboolean
-gst_gl_differencematte_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
+gst_gl_differencematte_filter_texture (GstGLFilter * filter,
+    GstGLMemory * in_tex, GstGLMemory * out_tex)
 {
   GstGLDifferenceMatte *differencematte = GST_GL_DIFFERENCEMATTE (filter);
 
@@ -439,15 +434,12 @@
     if (!gst_gl_differencematte_loader (filter))
       differencematte->pixbuf = NULL;
 
-    /* if loader failed then context is turned off */
-    gst_gl_context_thread_add (GST_GL_BASE_FILTER (filter)->context,
-        init_pixbuf_texture, differencematte);
+    init_pixbuf_texture (differencematte);
 
     /* save current frame, needed to calculate difference between
      * this frame and next ones */
-    gst_gl_filter_render_to_target (filter, TRUE, in_tex,
-        differencematte->savedbgtexture,
-        gst_gl_differencematte_identity, differencematte);
+    gst_gl_filter_render_to_target_with_shader (filter, in_tex,
+        differencematte->savedbgtexture, differencematte->identity_shader);
 
     if (differencematte->pixbuf) {
       free (differencematte->pixbuf);
@@ -457,21 +449,18 @@
     differencematte->bg_has_changed = FALSE;
   }
 
-  if (differencematte->savedbgtexture != 0) {
-    gst_gl_filter_render_to_target (filter, TRUE, in_tex,
-        differencematte->midtexture[0], gst_gl_differencematte_diff,
-        differencematte);
-    gst_gl_filter_render_to_target (filter, FALSE,
-        differencematte->midtexture[0], differencematte->midtexture[1],
-        gst_gl_differencematte_hblur, differencematte);
-    gst_gl_filter_render_to_target (filter, FALSE,
-        differencematte->midtexture[1], differencematte->midtexture[2],
-        gst_gl_differencematte_vblur, differencematte);
-    gst_gl_filter_render_to_target (filter, TRUE, in_tex, out_tex,
-        gst_gl_differencematte_interp, differencematte);
+  if (differencematte->savedbgtexture != NULL) {
+    gst_gl_filter_render_to_target (filter, in_tex,
+        differencematte->midtexture[0], gst_gl_differencematte_diff, NULL);
+    gst_gl_filter_render_to_target (filter, differencematte->midtexture[0],
+        differencematte->midtexture[1], gst_gl_differencematte_hblur, NULL);
+    gst_gl_filter_render_to_target (filter, differencematte->midtexture[1],
+        differencematte->midtexture[2], gst_gl_differencematte_vblur, NULL);
+    gst_gl_filter_render_to_target (filter, in_tex, out_tex,
+        gst_gl_differencematte_interp, NULL);
   } else {
-    gst_gl_filter_render_to_target (filter, TRUE, in_tex, out_tex,
-        gst_gl_differencematte_identity, differencematte);
+    gst_gl_filter_render_to_target_with_shader (filter, in_tex, out_tex,
+        differencematte->identity_shader);
   }
 
   return TRUE;
diff --git a/ext/gl/gstgldifferencematte.h b/ext/gl/gstgldifferencematte.h
index 45ba553..a4fd275 100644
--- a/ext/gl/gstgldifferencematte.h
+++ b/ext/gl/gstgldifferencematte.h
@@ -45,10 +45,10 @@
 
   guchar *pixbuf;
   gint pbuf_width, pbuf_height;
-  GLuint savedbgtexture;
-  GLuint newbgtexture;
-  GLuint midtexture[4];
-  GLuint intexture;
+  GstGLMemory *savedbgtexture;
+  GstGLMemory *newbgtexture;
+  GstGLMemory *midtexture[4];
+  GstGLMemory *intexture;
   float kernel[7];
 };
 
diff --git a/ext/gl/gstgleffects.c b/ext/gl/gstgleffects.c
index 1518a64..458d95a 100644
--- a/ext/gl/gstgleffects.c
+++ b/ext/gl/gstgleffects.c
@@ -71,7 +71,7 @@
     gpointer data);
 
 static gboolean gst_gl_effects_filter_texture (GstGLFilter * filter,
-    guint in_tex, guint out_tex);
+    GstGLMemory * in_tex, GstGLMemory * out_tex);
 static gboolean gst_gl_effects_filters_is_property_supported (const
     GstGLEffectsFilterDescriptor *, gint property);
 
@@ -232,7 +232,7 @@
       effects->current_effect = effect_type;
       break;
     case GST_GL_EFFECT_XRAY:
-      effects->effect = (GstGLEffectProcessFunc) gst_gl_effects_sin;
+      effects->effect = (GstGLEffectProcessFunc) gst_gl_effects_xray;
       filter_class->supported_gl_api =
           GST_GL_API_GLES2 | GST_GL_API_OPENGL | GST_GL_API_OPENGL3;
       effects->current_effect = effect_type;
@@ -274,31 +274,27 @@
 {
   GstGLEffects *effects = GST_GL_EFFECTS (filter);
   GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  GstGLFuncs *gl = context->gl_vtable;
-  guint internal_format;
-  gint i = 0;
+  GstGLBaseMemoryAllocator *base_alloc;
+  GstGLAllocationParams *params;
+  gint i;
+
+  base_alloc = (GstGLBaseMemoryAllocator *)
+      gst_gl_memory_allocator_get_default (context);
+  params =
+      (GstGLAllocationParams *) gst_gl_video_allocation_params_new (context,
+      NULL, &filter->out_info, 0, NULL, GST_GL_TEXTURE_TARGET_2D,
+      GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
 
   for (i = 0; i < NEEDED_TEXTURES; i++) {
+    if (effects->midtexture[i])
+      gst_memory_unref (GST_MEMORY_CAST (effects->midtexture[i]));
 
-    if (effects->midtexture[i]) {
-      gl->DeleteTextures (1, &effects->midtexture[i]);
-      effects->midtexture[i] = 0;
-    }
-
-    gl->GenTextures (1, &effects->midtexture[i]);
-    gl->BindTexture (GL_TEXTURE_2D, effects->midtexture[i]);
-    internal_format =
-        gst_gl_sized_gl_format_from_gl_format_type (context, GL_RGBA,
-        GL_UNSIGNED_BYTE);
-    gl->TexImage2D (GL_TEXTURE_2D, 0, internal_format,
-        GST_VIDEO_INFO_WIDTH (&filter->out_info),
-        GST_VIDEO_INFO_HEIGHT (&filter->out_info), 0, GL_RGBA, GL_UNSIGNED_BYTE,
-        NULL);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-    gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+    effects->midtexture[i] =
+        (GstGLMemory *) gst_gl_base_memory_alloc (base_alloc, params);
   }
+
+  gst_object_unref (base_alloc);
+  gst_gl_allocation_params_free (params);
 }
 
 /* free resources that need a gl context */
@@ -310,8 +306,7 @@
   gint i = 0;
 
   for (i = 0; i < NEEDED_TEXTURES; i++) {
-    gl->DeleteTextures (1, &effects->midtexture[i]);
-    effects->midtexture[i] = 0;
+    gst_memory_unref (GST_MEMORY_CAST (effects->midtexture[i]));
   }
   for (i = 0; i < GST_GL_EFFECTS_N_CURVES; i++) {
     gl->DeleteTextures (1, &effects->curve[i]);
@@ -396,10 +391,11 @@
 }
 
 static void
-set_horizontal_swap (GstGLContext * context, gpointer data)
+set_horizontal_swap (GstGLEffects * effects)
 {
 #if GST_GL_HAVE_OPENGL
-  GstGLFuncs *gl = context->gl_vtable;
+  GstGLContext *context = GST_GL_BASE_FILTER (effects)->context;
+  const GstGLFuncs *gl = context->gl_vtable;
 
   if (gst_gl_context_get_gl_api (context) & GST_GL_API_OPENGL) {
     const gfloat mirrormatrix[16] = {
@@ -527,8 +523,8 @@
 }
 
 static gboolean
-gst_gl_effects_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
+gst_gl_effects_filter_texture (GstGLFilter * filter, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
   GstGLEffects *effects = GST_GL_EFFECTS (filter);
 
@@ -536,8 +532,7 @@
   effects->outtexture = out_tex;
 
   if (effects->horizontal_swap == TRUE)
-    gst_gl_context_thread_add (GST_GL_BASE_FILTER (filter)->context,
-        set_horizontal_swap, effects);
+    set_horizontal_swap (effects);
 
   effects->effect (effects);
 
diff --git a/ext/gl/gstgleffects.h b/ext/gl/gstgleffects.h
index ddd2292..151ab78 100644
--- a/ext/gl/gstgleffects.h
+++ b/ext/gl/gstgleffects.h
@@ -69,9 +69,9 @@
   GstGLEffectProcessFunc effect;
   gint current_effect;
 
-  GLuint intexture;
-  GLuint midtexture[NEEDED_TEXTURES];
-  GLuint outtexture;
+  GstGLMemory *intexture;
+  GstGLMemory *midtexture[NEEDED_TEXTURES];
+  GstGLMemory *outtexture;
 
   GLuint curve[GST_GL_EFFECTS_N_CURVES];
 
diff --git a/ext/gl/gstglfilterapp.c b/ext/gl/gstglfilterapp.c
index 715f6f3..925373b 100644
--- a/ext/gl/gstglfilterapp.c
+++ b/ext/gl/gstglfilterapp.c
@@ -69,7 +69,7 @@
 static gboolean gst_gl_filter_app_set_caps (GstGLFilter * filter,
     GstCaps * incaps, GstCaps * outcaps);
 static gboolean gst_gl_filter_app_filter_texture (GstGLFilter * filter,
-    guint in_tex, guint out_tex);
+    GstGLMemory * in_tex, GstGLMemory * out_tex);
 
 static gboolean gst_gl_filter_app_gl_start (GstGLBaseFilter * base_filter);
 static void gst_gl_filter_app_gl_stop (GstGLBaseFilter * base_filter);
@@ -184,57 +184,44 @@
   return TRUE;
 }
 
-static void
-_emit_draw_signal (guint tex, gint width, gint height, gpointer data)
-{
-  GstGLFilterApp *app_filter = GST_GL_FILTER_APP (data);
-  gboolean drawn;
-
-  g_signal_emit (app_filter, gst_gl_filter_app_signals[CLIENT_DRAW_SIGNAL], 0,
-      tex, width, height, &drawn);
-
-  app_filter->default_draw = !drawn;
-}
-
 struct glcb2
 {
-  GLCB func;
-  gpointer data;
-  guint texture;
-  guint width;
-  guint height;
+  GstGLFilterApp *app;
+  GstGLMemory *in_tex;
+  GstGLMemory *out_tex;
 };
 
-/* convenience functions to simplify filter development */
-static void
-_glcb2 (gpointer data)
+static gboolean
+_emit_draw_signal (gpointer data)
 {
   struct glcb2 *cb = data;
+  gboolean drawn;
 
-  cb->func (cb->width, cb->height, cb->texture, cb->data);
+  g_signal_emit (cb->app, gst_gl_filter_app_signals[CLIENT_DRAW_SIGNAL], 0,
+      cb->in_tex->tex_id, gst_gl_memory_get_texture_width (cb->out_tex),
+      gst_gl_memory_get_texture_height (cb->out_tex), &drawn);
+
+  return !drawn;
 }
 
 static gboolean
-gst_gl_filter_app_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
+gst_gl_filter_app_filter_texture (GstGLFilter * filter, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
   GstGLFilterApp *app_filter = GST_GL_FILTER_APP (filter);
+  gboolean default_draw;
   struct glcb2 cb;
 
-  cb.func = (GLCB) _emit_draw_signal;
-  cb.data = filter;
-  cb.texture = in_tex;
-  cb.width = GST_VIDEO_INFO_WIDTH (&filter->in_info);
-  cb.height = GST_VIDEO_INFO_HEIGHT (&filter->in_info);
+  cb.app = app_filter;
+  cb.in_tex = in_tex;
+  cb.out_tex = out_tex;
 
-  //blocking call, use a FBO
-  gst_gl_context_use_fbo_v2 (GST_GL_BASE_FILTER (filter)->context,
-      GST_VIDEO_INFO_WIDTH (&filter->out_info),
-      GST_VIDEO_INFO_HEIGHT (&filter->out_info),
-      filter->fbo, filter->depthbuffer, out_tex, _glcb2, &cb);
+  default_draw =
+      gst_gl_framebuffer_draw_to_texture (filter->fbo,
+      out_tex, _emit_draw_signal, &cb);
 
-  if (app_filter->default_draw) {
-    gst_gl_filter_render_to_target_with_shader (filter, TRUE, in_tex, out_tex,
+  if (default_draw) {
+    gst_gl_filter_render_to_target_with_shader (filter, in_tex, out_tex,
         filter->default_shader);
   }
 
diff --git a/ext/gl/gstglfilterapp.h b/ext/gl/gstglfilterapp.h
index a8978c5..d7e9a6f 100644
--- a/ext/gl/gstglfilterapp.h
+++ b/ext/gl/gstglfilterapp.h
@@ -37,8 +37,6 @@
 struct _GstGLFilterApp
 {
     GstGLFilter filter;
-
-    gboolean default_draw;
 };
 
 struct _GstGLFilterAppClass
diff --git a/ext/gl/gstglfiltercube.c b/ext/gl/gstglfiltercube.c
index d389310..717eba6 100644
--- a/ext/gl/gstglfiltercube.c
+++ b/ext/gl/gstglfiltercube.c
@@ -79,9 +79,9 @@
     GstCaps * incaps, GstCaps * outcaps);
 static void gst_gl_filter_cube_reset_gl (GstGLFilter * filter);
 static gboolean gst_gl_filter_cube_init_shader (GstGLFilter * filter);
-static void _callback (gpointer stuff);
+static gboolean _callback (gpointer stuff);
 static gboolean gst_gl_filter_cube_filter_texture (GstGLFilter * filter,
-    guint in_tex, guint out_tex);
+    GstGLMemory * in_tex, GstGLMemory * out_tex);
 
 /* vertex source */
 static const gchar *cube_v_src =
@@ -335,20 +335,15 @@
 }
 
 static gboolean
-gst_gl_filter_cube_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
+gst_gl_filter_cube_filter_texture (GstGLFilter * filter, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
   GstGLFilterCube *cube_filter = GST_GL_FILTER_CUBE (filter);
 
   cube_filter->in_tex = in_tex;
 
-  /* blocking call, use a FBO */
-  gst_gl_context_use_fbo_v2 (GST_GL_BASE_FILTER (filter)->context,
-      GST_VIDEO_INFO_WIDTH (&filter->out_info),
-      GST_VIDEO_INFO_HEIGHT (&filter->out_info), filter->fbo,
-      filter->depthbuffer, out_tex, _callback, (gpointer) cube_filter);
-
-  return TRUE;
+  return gst_gl_framebuffer_draw_to_texture (filter->fbo, out_tex, _callback,
+      cube_filter);
 }
 
 /* *INDENT-OFF* */
@@ -440,7 +435,7 @@
   gl->DisableVertexAttribArray (cube_filter->attr_texture);
 }
 
-static void
+static gboolean
 _callback (gpointer stuff)
 {
   GstGLFilter *filter = GST_GL_FILTER (stuff);
@@ -466,7 +461,7 @@
   gst_gl_shader_use (cube_filter->shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, cube_filter->in_tex);
+  gl->BindTexture (GL_TEXTURE_2D, cube_filter->in_tex->tex_id);
   gst_gl_shader_set_uniform_1i (cube_filter->shader, "s_texture", 0);
   gst_gl_shader_set_uniform_1f (cube_filter->shader, "xrot_degree", xrot);
   gst_gl_shader_set_uniform_1f (cube_filter->shader, "yrot_degree", yrot);
@@ -516,4 +511,6 @@
   xrot += 0.3f;
   yrot += 0.2f;
   zrot += 0.4f;
+
+  return TRUE;
 }
diff --git a/ext/gl/gstglfiltercube.h b/ext/gl/gstglfiltercube.h
index 88b51a6..ee25048 100644
--- a/ext/gl/gstglfiltercube.h
+++ b/ext/gl/gstglfiltercube.h
@@ -40,6 +40,7 @@
     GstGLFilter filter;
 
     GstGLShader *shader;
+    GstGLMemory *in_tex;
 
     /* background color */
     gfloat red;
@@ -52,7 +53,6 @@
     gdouble znear;
     gdouble zfar;
 
-    guint              in_tex;
     GLuint             vao;
     GLuint             vbo_indices;
     GLuint             vertex_buffer;
diff --git a/ext/gl/gstglfilterglass.c b/ext/gl/gstglfilterglass.c
index 863793c..28bc485 100644
--- a/ext/gl/gstglfilterglass.c
+++ b/ext/gl/gstglfilterglass.c
@@ -66,14 +66,14 @@
 
 static gboolean gst_gl_filter_glass_init_shader (GstGLFilter * filter);
 static gboolean gst_gl_filter_glass_filter_texture (GstGLFilter * filter,
-    guint in_tex, guint out_tex);
+    GstGLMemory * in_tex, GstGLMemory * out_tex);
 
 static void gst_gl_filter_glass_draw_background_gradient ();
 static void gst_gl_filter_glass_draw_video_plane (GstGLFilter * filter,
     gint width, gint height, guint texture, gfloat center_x, gfloat center_y,
     gfloat start_alpha, gfloat stop_alpha, gboolean reversed, gfloat rotation);
 
-static void gst_gl_filter_glass_callback (gpointer stuff);
+static gboolean gst_gl_filter_glass_callback (gpointer stuff);
 
 /* *INDENT-OFF* */
 static const gchar *glass_fragment_source =
@@ -238,18 +238,15 @@
 }
 
 static gboolean
-gst_gl_filter_glass_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
+gst_gl_filter_glass_filter_texture (GstGLFilter * filter, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
   GstGLFilterGlass *glass_filter = GST_GL_FILTER_GLASS (filter);
+
   glass_filter->in_tex = in_tex;
 
-  //blocking call, use a FBO
-  gst_gl_context_use_fbo_v2 (GST_GL_BASE_FILTER (filter)->context,
-      GST_VIDEO_INFO_WIDTH (&filter->out_info),
-      GST_VIDEO_INFO_HEIGHT (&filter->out_info),
-      filter->fbo, filter->depthbuffer, out_tex,
-      gst_gl_filter_glass_callback, (gpointer) glass_filter);
+  gst_gl_framebuffer_draw_to_texture (filter->fbo, out_tex,
+      gst_gl_filter_glass_callback, glass_filter);
 
   return TRUE;
 }
@@ -352,8 +349,7 @@
   gl->DisableClientState (GL_COLOR_ARRAY);
 }
 
-//opengl scene, params: input texture (not the output filter->texture)
-static void
+static gboolean
 gst_gl_filter_glass_callback (gpointer stuff)
 {
   static gint64 start_time = 0;
@@ -365,7 +361,7 @@
 
   gint width = GST_VIDEO_INFO_WIDTH (&filter->out_info);
   gint height = GST_VIDEO_INFO_HEIGHT (&filter->out_info);
-  guint texture = glass_filter->in_tex;
+  guint texture = glass_filter->in_tex->tex_id;
 
   if (start_time == 0)
     start_time = get_time ();
@@ -375,7 +371,7 @@
     time_left -= 1000000 / 25;
     if (time_left > 2000) {
       GST_LOG ("escape");
-      return;
+      return FALSE;
     }
   }
 
@@ -407,4 +403,6 @@
   gst_gl_context_clear_shader (GST_GL_BASE_FILTER (filter)->context);
 
   gl->Disable (GL_BLEND);
+
+  return TRUE;
 }
diff --git a/ext/gl/gstglfilterglass.h b/ext/gl/gstglfilterglass.h
index 3897d02..1f1c91d 100644
--- a/ext/gl/gstglfilterglass.h
+++ b/ext/gl/gstglfilterglass.h
@@ -41,7 +41,8 @@
   GstGLShader *passthrough_shader;
   GstGLShader *shader;
   gint64 timestamp;
-  guint in_tex;
+  GstGLMemory *in_tex;
+  GstGLMemory *out_tex;
 };
 
 struct _GstGLFilterGlassClass
diff --git a/ext/gl/gstglfiltershader.c b/ext/gl/gstglfiltershader.c
index 2117388..93962f9 100644
--- a/ext/gl/gstglfiltershader.c
+++ b/ext/gl/gstglfiltershader.c
@@ -82,9 +82,9 @@
 static gboolean gst_gl_filtershader_filter (GstGLFilter * filter,
     GstBuffer * inbuf, GstBuffer * outbuf);
 static gboolean gst_gl_filtershader_filter_texture (GstGLFilter * filter,
-    guint in_tex, guint out_tex);
-static void gst_gl_filtershader_hcallback (gint width, gint height,
-    guint texture, gpointer stuff);
+    GstGLMemory * in_tex, GstGLMemory * out_tex);
+static gboolean gst_gl_filtershader_hcallback (GstGLFilter * filter,
+    GstGLMemory * in_tex, gpointer stuff);
 
 static void
 gst_gl_filtershader_class_init (GstGLFilterShaderClass * klass)
@@ -313,13 +313,13 @@
 }
 
 static gboolean
-gst_gl_filtershader_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
+gst_gl_filtershader_filter_texture (GstGLFilter * filter, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
   GstGLFilterShader *filtershader = GST_GL_FILTERSHADER (filter);
 
-  gst_gl_filter_render_to_target (filter, TRUE, in_tex, out_tex,
-      gst_gl_filtershader_hcallback, filtershader);
+  gst_gl_filter_render_to_target (filter, in_tex, out_tex,
+      gst_gl_filtershader_hcallback, NULL);
 
   if (!filtershader->shader)
     return FALSE;
@@ -493,17 +493,16 @@
   return NULL;
 }
 
-static void
-gst_gl_filtershader_hcallback (gint width, gint height, guint texture,
+static gboolean
+gst_gl_filtershader_hcallback (GstGLFilter * filter, GstGLMemory * in_tex,
     gpointer stuff)
 {
-  GstGLFilter *filter = GST_GL_FILTER (stuff);
   GstGLFilterShader *filtershader = GST_GL_FILTERSHADER (filter);
   GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
   GstGLShader *shader;
 
   if (!(shader = _maybe_recompile_shader (filtershader)))
-    return;
+    return FALSE;
 
   gl->ClearColor (0.0, 0.0, 0.0, 1.0);
   gl->Clear (GL_COLOR_BUFFER_BIT);
@@ -512,8 +511,10 @@
 
   /* FIXME: propertise these */
   gst_gl_shader_set_uniform_1i (shader, "tex", 0);
-  gst_gl_shader_set_uniform_1f (shader, "width", width);
-  gst_gl_shader_set_uniform_1f (shader, "height", height);
+  gst_gl_shader_set_uniform_1f (shader, "width",
+      GST_VIDEO_INFO_WIDTH (&filter->out_info));
+  gst_gl_shader_set_uniform_1f (shader, "height",
+      GST_VIDEO_INFO_HEIGHT (&filter->out_info));
   gst_gl_shader_set_uniform_1f (shader, "time", filtershader->time);
 
   /* FIXME: propertise these */
@@ -523,9 +524,11 @@
       gst_gl_shader_get_attribute_location (shader, "a_texcoord");
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
+  gl->BindTexture (GL_TEXTURE_2D, gst_gl_memory_get_texture_id (in_tex));
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
+  gst_gl_filter_draw_fullscreen_quad (filter);
 
   gst_object_unref (shader);
+
+  return TRUE;
 }
diff --git a/ext/gl/gstglimagesink.c b/ext/gl/gstglimagesink.c
index f176c23..385e3e4 100644
--- a/ext/gl/gstglimagesink.c
+++ b/ext/gl/gstglimagesink.c
@@ -468,16 +468,16 @@
 
 /* horizontal-flip */
 static const gfloat horizontal_flip_matrix[] = {
-  1.0f, 0.0f, 0.0f, 0.0f,
-  0.0f, -1.0f, 0.0f, 0.0f,
+  -1.0f, 0.0f, 0.0f, 0.0f,
+  0.0f, 1.0f, 0.0f, 0.0f,
   0.0f, 0.0f, 1.0f, 0.0f,
   0.0f, 0.0f, 0.0f, 1.0f,
 };
 
 /* vertical-flip */
 static const gfloat vertical_flip_matrix[] = {
-  -1.0f, 0.0f, 0.0f, 0.0f,
-  0.0f, 1.0f, 0.0f, 0.0f,
+  1.0f, 0.0f, 0.0f, 0.0f,
+  0.0f, -1.0f, 0.0f, 0.0f,
   0.0f, 0.0f, 1.0f, 0.0f,
   0.0f, 0.0f, 0.0f, 1.0f,
 };
@@ -1777,7 +1777,7 @@
 
   if (g_atomic_int_get (&glimage_sink->to_quit) != 0) {
     GST_ELEMENT_ERROR (glimage_sink, RESOURCE, NOT_FOUND,
-        ("%s", gst_gl_context_get_error ()), (NULL));
+        ("%s", "Quit requested"), (NULL));
     return GST_FLOW_ERROR;
   }
 
@@ -1787,7 +1787,7 @@
 redisplay_failed:
   {
     GST_ELEMENT_ERROR (glimage_sink, RESOURCE, NOT_FOUND,
-        ("%s", gst_gl_context_get_error ()), (NULL));
+        ("%s", "Window redisplay failed"), (NULL));
     return GST_FLOW_ERROR;
   }
 }
@@ -2306,7 +2306,7 @@
 {
   GstGLWindow *window;
 
-  gst_gl_context_set_error (gl_sink->context, "Output window was closed");
+  GST_WARNING_OBJECT (gl_sink, "Output window was closed");
 
   window = gst_gl_context_get_window (gl_sink->context);
 
diff --git a/ext/gl/gstglmixer.c b/ext/gl/gstglmixer.c
index 764a53c..3fc5aa6 100644
--- a/ext/gl/gstglmixer.c
+++ b/ext/gl/gstglmixer.c
@@ -410,8 +410,6 @@
 gst_gl_mixer_init (GstGLMixer * mix)
 {
   mix->priv = GST_GL_MIXER_GET_PRIVATE (mix);
-  mix->fbo = 0;
-  mix->depthbuffer = 0;
 
   mix->priv->gl_resource_ready = FALSE;
   g_mutex_init (&mix->priv->gl_resource_lock);
@@ -512,33 +510,38 @@
   return ret;
 }
 
+static void
+_mixer_create_fbo (GstGLContext * context, GstGLMixer * mix)
+{
+  GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (mix);
+  guint out_width = GST_VIDEO_INFO_WIDTH (&vagg->info);
+  guint out_height = GST_VIDEO_INFO_HEIGHT (&vagg->info);
+
+  mix->fbo =
+      gst_gl_framebuffer_new_with_default_depth (context, out_width,
+      out_height);
+}
+
 static gboolean
 gst_gl_mixer_decide_allocation (GstGLBaseMixer * base_mix, GstQuery * query)
 {
   GstGLMixer *mix = GST_GL_MIXER (base_mix);
   GstGLMixerClass *mixer_class = GST_GL_MIXER_GET_CLASS (mix);
-  GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (mix);
   GstGLContext *context = base_mix->context;
   GstBufferPool *pool = NULL;
   GstStructure *config;
   GstCaps *caps;
   guint min, max, size;
   gboolean update_pool;
-  guint out_width, out_height;
-
-  out_width = GST_VIDEO_INFO_WIDTH (&vagg->info);
-  out_height = GST_VIDEO_INFO_HEIGHT (&vagg->info);
 
   g_mutex_lock (&mix->priv->gl_resource_lock);
   mix->priv->gl_resource_ready = FALSE;
-  if (mix->fbo) {
-    gst_gl_context_del_fbo (context, mix->fbo, mix->depthbuffer);
-    mix->fbo = 0;
-    mix->depthbuffer = 0;
-  }
+  if (mix->fbo)
+    gst_object_unref (mix->fbo);
 
-  if (!gst_gl_context_gen_fbo (context, out_width, out_height,
-          &mix->fbo, &mix->depthbuffer)) {
+  gst_gl_context_thread_add (context,
+      (GstGLContextThreadFunc) _mixer_create_fbo, mix);
+  if (!mix->fbo) {
     g_cond_signal (&mix->priv->gl_resource_cond);
     g_mutex_unlock (&mix->priv->gl_resource_lock);
     goto context_error;
@@ -631,7 +634,7 @@
 gboolean
 gst_gl_mixer_process_textures (GstGLMixer * mix, GstBuffer * outbuf)
 {
-  guint out_tex;
+  GstGLMemory *out_tex;
   gboolean res = TRUE;
   GstVideoFrame out_frame;
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (mix);
@@ -645,7 +648,7 @@
     return FALSE;
   }
 
-  out_tex = *(guint *) out_frame.data[0];
+  out_tex = (GstGLMemory *) out_frame.map[0].memory;
 
   if (!gst_aggregator_iterate_sinkpads (GST_AGGREGATOR (mix),
           (GstAggregatorPadForeachFunc) _upload_frames, NULL))
@@ -735,14 +738,13 @@
 {
   GstGLMixer *mix = GST_GL_MIXER (agg);
   GstGLMixerClass *mixer_class = GST_GL_MIXER_GET_CLASS (mix);
-  GstGLContext *context = GST_GL_BASE_MIXER (mix)->context;
 
   if (mixer_class->reset)
     mixer_class->reset (mix);
+
   if (mix->fbo) {
-    gst_gl_context_del_fbo (context, mix->fbo, mix->depthbuffer);
-    mix->fbo = 0;
-    mix->depthbuffer = 0;
+    gst_object_unref (mix->fbo);
+    mix->fbo = NULL;
   }
 
   gst_gl_mixer_reset (mix);
diff --git a/ext/gl/gstglmixer.h b/ext/gl/gstglmixer.h
index 81976a7..309f6bb 100644
--- a/ext/gl/gstglmixer.h
+++ b/ext/gl/gstglmixer.h
@@ -78,14 +78,13 @@
   GstCaps* outcaps);
 typedef void (*GstGLMixerReset) (GstGLMixer *mixer);
 typedef gboolean (*GstGLMixerProcessFunc) (GstGLMixer *mix, GstBuffer *outbuf);
-typedef gboolean (*GstGLMixerProcessTextures) (GstGLMixer *mix, guint out_tex);
+typedef gboolean (*GstGLMixerProcessTextures) (GstGLMixer *mix, GstGLMemory *out_tex);
 
 struct _GstGLMixer
 {
   GstGLBaseMixer vaggregator;
 
-  GLuint fbo;
-  GLuint depthbuffer;
+  GstGLFramebuffer *fbo;
 
   GstCaps *out_caps;
 
diff --git a/ext/gl/gstglmosaic.c b/ext/gl/gstglmosaic.c
index bcf3833..41441b0 100644
--- a/ext/gl/gstglmosaic.c
+++ b/ext/gl/gstglmosaic.c
@@ -70,8 +70,8 @@
     GstCaps * outcaps);
 
 static gboolean gst_gl_mosaic_process_textures (GstGLMixer * mixer,
-    guint out_tex);
-static void gst_gl_mosaic_callback (gpointer stuff);
+    GstGLMemory * out_tex);
+static gboolean gst_gl_mosaic_callback (gpointer stuff);
 
 //vertex source
 static const gchar *mosaic_v_src =
@@ -193,22 +193,31 @@
       mosaic_v_src, mosaic_f_src, &mosaic->shader);
 }
 
+static void
+_mosaic_render (GstGLContext * context, GstGLMosaic * mosaic)
+{
+  GstGLMixer *mixer = GST_GL_MIXER (mosaic);
+
+  gst_gl_framebuffer_draw_to_texture (mixer->fbo, mosaic->out_tex,
+      gst_gl_mosaic_callback, mosaic);
+}
+
 static gboolean
-gst_gl_mosaic_process_textures (GstGLMixer * mix, guint out_tex)
+gst_gl_mosaic_process_textures (GstGLMixer * mix, GstGLMemory * out_tex)
 {
   GstGLMosaic *mosaic = GST_GL_MOSAIC (mix);
+  GstGLContext *context = GST_GL_BASE_MIXER (mix)->context;
 
-  //blocking call, use a FBO
-  gst_gl_context_use_fbo_v2 (GST_GL_BASE_MIXER (mix)->context,
-      GST_VIDEO_INFO_WIDTH (&GST_VIDEO_AGGREGATOR (mix)->info),
-      GST_VIDEO_INFO_HEIGHT (&GST_VIDEO_AGGREGATOR (mix)->info), mix->fbo,
-      mix->depthbuffer, out_tex, gst_gl_mosaic_callback, (gpointer) mosaic);
+  mosaic->out_tex = out_tex;
+
+  gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _mosaic_render,
+      mosaic);
 
   return TRUE;
 }
 
 /* opengl scene, params: input texture (not the output mixer->texture) */
-static void
+static gboolean
 gst_gl_mosaic_callback (gpointer stuff)
 {
   GstGLMosaic *mosaic = GST_GL_MOSAIC (stuff);
@@ -344,4 +353,6 @@
   xrot += 0.6f;
   yrot += 0.4f;
   zrot += 0.8f;
+
+  return TRUE;
 }
diff --git a/ext/gl/gstglmosaic.h b/ext/gl/gstglmosaic.h
index e0b340c..40f5d6c 100644
--- a/ext/gl/gstglmosaic.h
+++ b/ext/gl/gstglmosaic.h
@@ -40,6 +40,7 @@
     GstGLMixer mixer;
 
     GstGLShader *shader;
+    GstGLMemory *out_tex;
 };
 
 struct _GstGLMosaicClass
diff --git a/ext/gl/gstgloverlay.c b/ext/gl/gstgloverlay.c
index 7ae56d2..e7b4c0a 100644
--- a/ext/gl/gstgloverlay.c
+++ b/ext/gl/gstgloverlay.c
@@ -72,7 +72,7 @@
 static void gst_gl_overlay_before_transform (GstBaseTransform * trans,
     GstBuffer * outbuf);
 static gboolean gst_gl_overlay_filter_texture (GstGLFilter * filter,
-    guint in_tex, guint out_tex);
+    GstGLMemory * in_tex, GstGLMemory * out_tex);
 
 static gboolean gst_gl_overlay_load_png (GstGLOverlay * overlay, FILE * fp);
 static gboolean gst_gl_overlay_load_jpeg (GstGLOverlay * overlay, FILE * fp);
@@ -372,29 +372,31 @@
 static void
 _unbind_buffer (GstGLOverlay * overlay)
 {
+  GstGLFilter *filter = GST_GL_FILTER (overlay);
   const GstGLFuncs *gl = GST_GL_BASE_FILTER (overlay)->context->gl_vtable;
 
   gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
   gl->BindBuffer (GL_ARRAY_BUFFER, 0);
 
-  gl->DisableVertexAttribArray (overlay->attr_position);
-  gl->DisableVertexAttribArray (overlay->attr_texture);
+  gl->DisableVertexAttribArray (filter->draw_attr_position_loc);
+  gl->DisableVertexAttribArray (filter->draw_attr_texture_loc);
 }
 
 static void
 _bind_buffer (GstGLOverlay * overlay, GLuint vbo)
 {
+  GstGLFilter *filter = GST_GL_FILTER (overlay);
   const GstGLFuncs *gl = GST_GL_BASE_FILTER (overlay)->context->gl_vtable;
 
   gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, overlay->vbo_indices);
   gl->BindBuffer (GL_ARRAY_BUFFER, vbo);
 
-  gl->EnableVertexAttribArray (overlay->attr_position);
-  gl->EnableVertexAttribArray (overlay->attr_texture);
+  gl->EnableVertexAttribArray (filter->draw_attr_position_loc);
+  gl->EnableVertexAttribArray (filter->draw_attr_texture_loc);
 
-  gl->VertexAttribPointer (overlay->attr_position, 3, GL_FLOAT,
+  gl->VertexAttribPointer (filter->draw_attr_position_loc, 3, GL_FLOAT,
       GL_FALSE, 5 * sizeof (GLfloat), (void *) 0);
-  gl->VertexAttribPointer (overlay->attr_texture, 2, GL_FLOAT,
+  gl->VertexAttribPointer (filter->draw_attr_texture_loc, 2, GL_FLOAT,
       GL_FALSE, 5 * sizeof (GLfloat), (void *) (3 * sizeof (GLfloat)));
 }
 
@@ -410,15 +412,16 @@
 static const GLushort indices[] = { 0, 1, 2, 0, 2, 3, };
 /* *INDENT-ON* */
 
-static void
-gst_gl_overlay_callback (gint width, gint height, guint texture, gpointer stuff)
+static gboolean
+gst_gl_overlay_callback (GstGLFilter * filter, GstGLMemory * in_tex,
+    gpointer stuff)
 {
-  GstGLOverlay *overlay = GST_GL_OVERLAY (stuff);
-  GstGLFilter *filter = GST_GL_FILTER (overlay);
+  GstGLOverlay *overlay = GST_GL_OVERLAY (filter);
   GstMapInfo map_info;
   guint image_tex;
   gboolean memory_mapped = FALSE;
   const GstGLFuncs *gl = GST_GL_BASE_FILTER (filter)->context->gl_vtable;
+  gboolean ret = FALSE;
 
 #if GST_GL_HAVE_OPENGL
   if (gst_gl_context_get_gl_api (GST_GL_BASE_FILTER (filter)->context) &
@@ -430,49 +433,19 @@
 #endif
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
+  gl->BindTexture (GL_TEXTURE_2D, gst_gl_memory_get_texture_id (in_tex));
 
   gst_gl_shader_use (overlay->shader);
 
   gst_gl_shader_set_uniform_1f (overlay->shader, "alpha", 1.0f);
   gst_gl_shader_set_uniform_1i (overlay->shader, "texture", 0);
 
-  overlay->attr_position =
+  filter->draw_attr_position_loc =
       gst_gl_shader_get_attribute_location (overlay->shader, "a_position");
-  overlay->attr_texture =
+  filter->draw_attr_texture_loc =
       gst_gl_shader_get_attribute_location (overlay->shader, "a_texcoord");
 
-  if (!overlay->vbo) {
-    if (gl->GenVertexArrays) {
-      gl->GenVertexArrays (1, &overlay->vao);
-      gl->BindVertexArray (overlay->vao);
-    }
-
-    gl->GenBuffers (1, &overlay->vbo);
-    gl->BindBuffer (GL_ARRAY_BUFFER, overlay->vbo);
-    gl->BufferData (GL_ARRAY_BUFFER, 4 * 5 * sizeof (GLfloat), v_vertices,
-        GL_STATIC_DRAW);
-
-    gl->GenBuffers (1, &overlay->vbo_indices);
-    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, overlay->vbo_indices);
-    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
-        GL_STATIC_DRAW);
-
-    if (gl->GenVertexArrays) {
-      _bind_buffer (overlay, overlay->vbo);
-      gl->BindVertexArray (0);
-    }
-
-    gl->BindBuffer (GL_ARRAY_BUFFER, 0);
-    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
-  }
-
-  if (gl->GenVertexArrays)
-    gl->BindVertexArray (overlay->vao);
-  else
-    _bind_buffer (overlay, overlay->vbo);
-
-  gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
+  gst_gl_filter_draw_fullscreen_quad (filter);
 
   if (!overlay->image_memory)
     goto out;
@@ -490,6 +463,11 @@
       gl->BindVertexArray (overlay->overlay_vao);
     }
 
+    gl->GenBuffers (1, &overlay->vbo_indices);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, overlay->vbo_indices);
+    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
+        GL_STATIC_DRAW);
+
     gl->GenBuffers (1, &overlay->overlay_vbo);
     gl->BindBuffer (GL_ARRAY_BUFFER, overlay->overlay_vbo);
     gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, overlay->vbo_indices);
@@ -553,6 +531,7 @@
   gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, 0);
 
   gl->Disable (GL_BLEND);
+  ret = TRUE;
 
 out:
   if (gl->GenVertexArrays) {
@@ -567,6 +546,8 @@
     gst_memory_unmap ((GstMemory *) overlay->image_memory, &map_info);
 
   overlay->geometry_change = FALSE;
+
+  return ret;
 }
 
 static gboolean
@@ -624,8 +605,8 @@
 }
 
 static gboolean
-gst_gl_overlay_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
+gst_gl_overlay_filter_texture (GstGLFilter * filter, GstGLMemory * in_tex,
+    GstGLMemory * out_tex)
 {
   GstGLOverlay *overlay = GST_GL_OVERLAY (filter);
 
@@ -641,7 +622,7 @@
     overlay->location_has_changed = FALSE;
   }
 
-  gst_gl_filter_render_to_target (filter, TRUE, in_tex, out_tex,
+  gst_gl_filter_render_to_target (filter, in_tex, out_tex,
       gst_gl_overlay_callback, overlay);
 
   return TRUE;
diff --git a/ext/gl/gstglstereomix.c b/ext/gl/gstglstereomix.c
index 663c1b7..18e7111 100644
--- a/ext/gl/gstglstereomix.c
+++ b/ext/gl/gstglstereomix.c
@@ -21,6 +21,42 @@
  * Boston, MA 02110-1301, USA.
  */
 
+/**
+ * SECTION:element-glstereomix
+ *
+ * Combine 2 input streams to produce a stereoscopic output
+ * stream. Input views are taken from the left pad and right pad
+ * respectively, and mixed according to their timelines.
+ *
+ * If either input stream is stereoscopic, the approproriate view
+ * (left or right) is taken from each stream and placed into the output.
+ *
+ * The multiview representation on the output is chosen according to
+ * the downstream caps.
+ *
+ * <refsect2>
+ * <title>Examples</title>
+ * |[
+ * gst-launch-1.0 -v videotestsrc pattern=ball name=left \
+ *     videotestsrc name=right glstereomix name=mix \
+ *     left. ! vid/x-raw,width=640,height=480! glupload ! mix.  \
+ *     right. ! video/x-raw,width=640,height=480! glupload ! mix.  \
+ *     mix. ! video/x-raw'(memory:GLMemory)',multiview-mode=side-by-side ! \
+ *     queue ! glimagesink output-multiview-mode=side-by-side
+ * ]| Mix 2 different videotestsrc patterns into a side-by-side stereo image and display it.
+ * |[
+ * gst-launch-1.0 -ev v4l2src name=left \
+ *     videotestsrc name=right \
+ *     glstereomix name=mix \
+ *     left. ! video/x-raw,width=640,height=480 ! glupload ! glcolorconvert ! mix.  \
+ *     right. ! video/x-raw,width=640,height=480 ! glupload ! mix.  \
+ *     mix. ! video/x-raw'(memory:GLMemory)',multiview-mode=top-bottom ! \
+ *     glcolorconvert ! gldownload ! queue ! x264enc ! h264parse ! \
+ *     mp4mux ! progressreport ! filesink location=output.mp4 
+ * ]| Mix the input from a camera to the left view, and videotestsrc to the right view,
+ *    and encode as a top-bottom frame packed H.264 video.
+ * </refsect2>
+ */
 #ifdef HAVE_CONFIG_H
 #include "config.h"
 #endif
@@ -106,11 +142,6 @@
 static gboolean gst_gl_stereo_mix_src_query (GstAggregator * agg,
     GstQuery * query);
 
-static void
-gst_gl_stereo_mix_find_best_format (GstVideoAggregator * vagg,
-    GstCaps * downstream_caps, GstVideoInfo * best_info,
-    gboolean * at_least_one_alpha);
-
 static void gst_gl_stereo_mix_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
 static void gst_gl_stereo_mix_get_property (GObject * object, guint prop_id,
@@ -163,7 +194,6 @@
   videoaggregator_class->negotiated_caps = _negotiated_caps;
   videoaggregator_class->get_output_buffer =
       gst_gl_stereo_mix_get_output_buffer;
-  videoaggregator_class->find_best_format = gst_gl_stereo_mix_find_best_format;
 
   base_mix_class->supported_gl_api =
       GST_GL_API_GLES2 | GST_GL_API_OPENGL | GST_GL_API_OPENGL3;
@@ -438,13 +468,97 @@
   return result;
 }
 
-/* Return the possible output caps we decided in find_best_format() */
+/* Return the possible output caps based on inputs and downstream prefs */
 static GstCaps *
 _update_caps (GstVideoAggregator * vagg, GstCaps * caps, GstCaps * filter)
 {
   GstGLStereoMix *mix = GST_GL_STEREO_MIX (vagg);
+  GList *l;
+  gint best_width = -1, best_height = -1;
+  gdouble best_fps = -1, cur_fps;
+  gint best_fps_n = 0, best_fps_d = 1;
+  GstVideoInfo *mix_info;
+  GstCaps *blend_caps, *tmp_caps;
+  GstCaps *out_caps;
 
-  return gst_caps_ref (mix->out_caps);
+  GST_OBJECT_LOCK (vagg);
+
+  for (l = GST_ELEMENT (vagg)->sinkpads; l; l = l->next) {
+    GstVideoAggregatorPad *pad = l->data;
+    GstVideoInfo tmp = pad->info;
+    gint this_width, this_height;
+    gint fps_n, fps_d;
+
+    if (!pad->info.finfo)
+      continue;
+
+    /* This can happen if we release a pad and another pad hasn't been negotiated_caps yet */
+    if (GST_VIDEO_INFO_FORMAT (&pad->info) == GST_VIDEO_FORMAT_UNKNOWN)
+      continue;
+
+    /* Convert to per-view width/height for unpacked forms */
+    gst_video_multiview_video_info_change_mode (&tmp,
+        GST_VIDEO_MULTIVIEW_MODE_SEPARATED, GST_VIDEO_MULTIVIEW_FLAGS_NONE);
+
+    this_width = GST_VIDEO_INFO_WIDTH (&tmp);
+    this_height = GST_VIDEO_INFO_HEIGHT (&tmp);
+    fps_n = GST_VIDEO_INFO_FPS_N (&tmp);
+    fps_d = GST_VIDEO_INFO_FPS_D (&tmp);
+
+    GST_INFO_OBJECT (vagg, "Input pad %" GST_PTR_FORMAT
+        " w %u h %u", pad, this_width, this_height);
+
+    if (this_width == 0 || this_height == 0)
+      continue;
+
+    if (best_width < this_width)
+      best_width = this_width;
+    if (best_height < this_height)
+      best_height = this_height;
+
+    if (fps_d == 0)
+      cur_fps = 0.0;
+    else
+      gst_util_fraction_to_double (fps_n, fps_d, &cur_fps);
+
+    if (best_fps < cur_fps) {
+      best_fps = cur_fps;
+      best_fps_n = fps_n;
+      best_fps_d = fps_d;
+    }
+
+    /* FIXME: Preserve PAR for at least one input when different sized inputs */
+  }
+  GST_OBJECT_UNLOCK (vagg);
+
+  mix_info = &mix->mix_info;
+  gst_video_info_set_format (mix_info, GST_VIDEO_FORMAT_RGBA, best_width,
+      best_height);
+
+  GST_VIDEO_INFO_FPS_N (mix_info) = best_fps_n;
+  GST_VIDEO_INFO_FPS_D (mix_info) = best_fps_d;
+
+  GST_VIDEO_INFO_MULTIVIEW_MODE (mix_info) = GST_VIDEO_MULTIVIEW_MODE_SEPARATED;
+  GST_VIDEO_INFO_VIEWS (mix_info) = 2;
+
+  /* FIXME: If input is marked as flipped or flopped, preserve those flags */
+  GST_VIDEO_INFO_MULTIVIEW_FLAGS (mix_info) = GST_VIDEO_MULTIVIEW_FLAGS_NONE;
+
+  /* Choose our output format based on downstream preferences */
+  blend_caps = gst_video_info_to_caps (mix_info);
+
+  gst_caps_set_features (blend_caps, 0,
+      gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_GL_MEMORY));
+
+  tmp_caps = get_converted_caps (GST_GL_STEREO_MIX (vagg), blend_caps);
+  gst_caps_unref (blend_caps);
+
+  out_caps = gst_caps_intersect (caps, tmp_caps);
+  gst_caps_unref (tmp_caps);
+
+  GST_DEBUG_OBJECT (vagg, "Possible output caps %" GST_PTR_FORMAT, out_caps);
+
+  return out_caps;
 }
 
 /* Called after videoaggregator fixates our caps */
@@ -462,8 +576,6 @@
       return FALSE;
 
   /* Update the glview_convert output */
-  if (!gst_video_info_from_caps (&mix->out_info, caps))
-    return FALSE;
 
   /* We can configure the view_converter now */
   gst_gl_view_convert_set_context (mix->viewconvert,
@@ -585,108 +697,3 @@
 
   return TRUE;
 }
-
-/* Iterate the input sink pads, and choose the blend format
- * we will generate before output conversion, which is RGBA
- * at some suitable size */
-static void
-gst_gl_stereo_mix_find_best_format (GstVideoAggregator * vagg,
-    GstCaps * downstream_caps, GstVideoInfo * best_info,
-    gboolean * at_least_one_alpha)
-{
-  GstGLStereoMix *mix = GST_GL_STEREO_MIX (vagg);
-  GList *l;
-  gint best_width = -1, best_height = -1;
-  gdouble best_fps = -1, cur_fps;
-  gint best_fps_n = 0, best_fps_d = 1;
-  GstVideoInfo *mix_info;
-  GstCaps *blend_caps, *tmp_caps;
-
-  /* We'll deal with alpha internally, so just tell aggregator to
-   * be quiet */
-  *at_least_one_alpha = FALSE;
-
-  GST_OBJECT_LOCK (vagg);
-
-  for (l = GST_ELEMENT (vagg)->sinkpads; l; l = l->next) {
-    GstVideoAggregatorPad *pad = l->data;
-    GstVideoInfo tmp = pad->info;
-    gint this_width, this_height;
-    gint fps_n, fps_d;
-
-    if (!pad->info.finfo)
-      continue;
-
-    /* This can happen if we release a pad and another pad hasn't been negotiated_caps yet */
-    if (GST_VIDEO_INFO_FORMAT (&pad->info) == GST_VIDEO_FORMAT_UNKNOWN)
-      continue;
-
-    /* Convert to per-view width/height for unpacked forms */
-    gst_video_multiview_video_info_change_mode (&tmp,
-        GST_VIDEO_MULTIVIEW_MODE_SEPARATED, GST_VIDEO_MULTIVIEW_FLAGS_NONE);
-
-    this_width = GST_VIDEO_INFO_WIDTH (&tmp);
-    this_height = GST_VIDEO_INFO_HEIGHT (&tmp);
-    fps_n = GST_VIDEO_INFO_FPS_N (&tmp);
-    fps_d = GST_VIDEO_INFO_FPS_D (&tmp);
-
-    GST_INFO_OBJECT (vagg, "Input pad %" GST_PTR_FORMAT
-        " w %u h %u", pad, this_width, this_height);
-
-    if (this_width == 0 || this_height == 0)
-      continue;
-
-    if (best_width < this_width)
-      best_width = this_width;
-    if (best_height < this_height)
-      best_height = this_height;
-
-    if (fps_d == 0)
-      cur_fps = 0.0;
-    else
-      gst_util_fraction_to_double (fps_n, fps_d, &cur_fps);
-
-    if (best_fps < cur_fps) {
-      best_fps = cur_fps;
-      best_fps_n = fps_n;
-      best_fps_d = fps_d;
-    }
-
-    /* FIXME: Preserve PAR for at least one input when different sized inputs */
-  }
-  GST_OBJECT_UNLOCK (vagg);
-
-  mix_info = &mix->mix_info;
-  gst_video_info_set_format (mix_info, GST_VIDEO_FORMAT_RGBA, best_width,
-      best_height);
-
-  GST_VIDEO_INFO_FPS_N (mix_info) = best_fps_n;
-  GST_VIDEO_INFO_FPS_D (mix_info) = best_fps_d;
-
-  GST_VIDEO_INFO_MULTIVIEW_MODE (mix_info) = GST_VIDEO_MULTIVIEW_MODE_SEPARATED;
-  GST_VIDEO_INFO_VIEWS (mix_info) = 2;
-
-  /* FIXME: If input is marked as flipped or flopped, preserve those flags */
-  GST_VIDEO_INFO_MULTIVIEW_FLAGS (mix_info) = GST_VIDEO_MULTIVIEW_FLAGS_NONE;
-
-  /* Choose our output format based on downstream preferences */
-  blend_caps = gst_video_info_to_caps (mix_info);
-
-  gst_caps_set_features (blend_caps, 0,
-      gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_GL_MEMORY));
-
-  tmp_caps = get_converted_caps (GST_GL_STEREO_MIX (vagg), blend_caps);
-  gst_caps_unref (blend_caps);
-
-  if (mix->out_caps)
-    gst_caps_unref (mix->out_caps);
-
-  mix->out_caps = gst_caps_intersect (downstream_caps, tmp_caps);
-  gst_caps_unref (tmp_caps);
-
-  GST_DEBUG_OBJECT (vagg, "Possible output caps %" GST_PTR_FORMAT,
-      mix->out_caps);
-  /* Tell videoaggregator our preferred size. Actual info gets
-   * overridden during caps nego */
-  *best_info = *mix_info;
-}
diff --git a/ext/gl/gstglstereomix.h b/ext/gl/gstglstereomix.h
index b0f1bd2..9971a89 100644
--- a/ext/gl/gstglstereomix.h
+++ b/ext/gl/gstglstereomix.h
@@ -69,9 +69,6 @@
   GstGLViewConvert *viewconvert;
   GstGLStereoDownmix downmix_mode;
 
-  GstCaps *out_caps;
-  GstVideoInfo out_info;
-
   GstVideoInfo mix_info;
 
   GPtrArray *input_frames;
diff --git a/ext/gl/gstgltestsrc.c b/ext/gl/gstgltestsrc.c
index 69c8b33..62d231f 100644
--- a/ext/gl/gstgltestsrc.c
+++ b/ext/gl/gstgltestsrc.c
@@ -107,7 +107,7 @@
 static gboolean gst_gl_test_src_decide_allocation (GstBaseSrc * basesrc,
     GstQuery * query);
 
-static void gst_gl_test_src_callback (gpointer stuff);
+static gboolean gst_gl_test_src_callback (gpointer stuff);
 
 static gboolean gst_gl_test_src_init_shader (GstGLTestSrc * gltestsrc);
 
@@ -454,22 +454,24 @@
   return TRUE;
 }
 
+static void
+_fill_gl (GstGLContext * context, GstGLTestSrc * src)
+{
+  src->gl_result = gst_gl_framebuffer_draw_to_texture (src->fbo, src->out_tex,
+      gst_gl_test_src_callback, src);
+}
+
 static GstFlowReturn
 gst_gl_test_src_fill (GstPushSrc * psrc, GstBuffer * buffer)
 {
   GstGLTestSrc *src = GST_GL_TEST_SRC (psrc);
   GstClockTime next_time;
-  gint width, height;
   GstVideoFrame out_frame;
   GstGLSyncMeta *sync_meta;
-  guint out_tex;
 
   if (G_UNLIKELY (!src->negotiated || !src->context))
     goto not_negotiated;
 
-  width = GST_VIDEO_INFO_WIDTH (&src->out_info);
-  height = GST_VIDEO_INFO_HEIGHT (&src->out_info);
-
   /* 0 framerate and we are at the second frame, eos */
   if (G_UNLIKELY (GST_VIDEO_INFO_FPS_N (&src->out_info) == 0
           && src->n_frames == 1))
@@ -480,11 +482,11 @@
     return GST_FLOW_NOT_NEGOTIATED;
   }
 
-  out_tex = *(guint *) out_frame.data[0];
+  src->out_tex = (GstGLMemory *) out_frame.map[0].memory;
 
-  if (!gst_gl_context_use_fbo_v2 (src->context, width, height, src->fbo,
-          src->depthbuffer, out_tex, gst_gl_test_src_callback,
-          (gpointer) src)) {
+  gst_gl_context_thread_add (src->context, (GstGLContextThreadFunc) _fill_gl,
+      src);
+  if (!src->gl_result) {
     gst_video_frame_unmap (&out_frame);
     goto gl_error;
   }
@@ -562,8 +564,11 @@
       gst_object_unref (src->shader);
       src->shader = NULL;
     }
-    //blocking call, delete the FBO
-    gst_gl_context_del_fbo (src->context, src->fbo, src->depthbuffer);
+
+    if (src->fbo)
+      gst_object_unref (src->fbo);
+    src->fbo = NULL;
+
     gst_object_unref (src->context);
     src->context = NULL;
   }
@@ -615,6 +620,14 @@
   return FALSE;
 }
 
+static void
+_src_generate_fbo_gl (GstGLContext * context, GstGLTestSrc * src)
+{
+  src->fbo = gst_gl_framebuffer_new_with_default_depth (src->context,
+      GST_VIDEO_INFO_WIDTH (&src->out_info),
+      GST_VIDEO_INFO_HEIGHT (&src->out_info));
+}
+
 static gboolean
 gst_gl_test_src_decide_allocation (GstBaseSrc * basesrc, GstQuery * query)
 {
@@ -625,7 +638,6 @@
   guint min, max, size;
   gboolean update_pool;
   GError *error = NULL;
-  guint out_width, out_height;
 
   if (!gst_gl_ensure_element_data (src, &src->display, &src->other_context))
     return FALSE;
@@ -658,11 +670,9 @@
   if ((gst_gl_context_get_gl_api (src->context) & SUPPORTED_GL_APIS) == 0)
     goto unsupported_gl_api;
 
-  out_width = GST_VIDEO_INFO_WIDTH (&src->out_info);
-  out_height = GST_VIDEO_INFO_HEIGHT (&src->out_info);
-
-  if (!gst_gl_context_gen_fbo (src->context, out_width, out_height,
-          &src->fbo, &src->depthbuffer))
+  gst_gl_context_thread_add (src->context,
+      (GstGLContextThreadFunc) _src_generate_fbo_gl, src);
+  if (!src->fbo)
     goto context_error;
 
   gst_query_parse_allocation (query, &caps, NULL);
@@ -735,8 +745,7 @@
   }
 }
 
-//opengl scene
-static void
+static gboolean
 gst_gl_test_src_callback (gpointer stuff)
 {
   GstGLTestSrc *src = GST_GL_TEST_SRC (stuff);
@@ -752,21 +761,18 @@
     if (funcs == NULL) {
       GST_ERROR_OBJECT (src, "Could not find an implementation of the "
           "requested pattern");
-      src->gl_result = FALSE;
-      return;
+      return FALSE;
     }
     src->src_impl = funcs->new (src);
     if (!(src->gl_result =
             funcs->init (src->src_impl, src->context, &src->out_info))) {
       GST_ERROR_OBJECT (src, "Failed to initialize pattern");
-      return;
+      return FALSE;
     }
     src->active_pattern = src->set_pattern;
   }
 
-  src->gl_result = funcs->fill_bound_fbo (src->src_impl);
-  if (!src->gl_result)
-    GST_ERROR_OBJECT (src, "Failed to render the pattern");
+  return funcs->fill_bound_fbo (src->src_impl);
 }
 
 static GstStateChangeReturn
diff --git a/ext/gl/gstgltestsrc.h b/ext/gl/gstgltestsrc.h
index 1b566ad..df4abb7 100644
--- a/ext/gl/gstgltestsrc.h
+++ b/ext/gl/gstgltestsrc.h
@@ -62,8 +62,8 @@
     /* video state */
     GstVideoInfo out_info;
 
-    GLuint fbo;
-    GLuint depthbuffer;
+    GstGLFramebuffer *fbo;
+    GstGLMemory *out_tex;
 
     GstGLShader *shader;
 
diff --git a/ext/gl/gstgltransformation.c b/ext/gl/gstgltransformation.c
index b303d0c..a4df304 100644
--- a/ext/gl/gstgltransformation.c
+++ b/ext/gl/gstgltransformation.c
@@ -55,6 +55,15 @@
 
 #define gst_gl_transformation_parent_class parent_class
 
+#define VEC4_FORMAT "%f,%f,%f,%f"
+#define VEC4_ARGS(v) graphene_vec4_get_x (v), graphene_vec4_get_y (v), graphene_vec4_get_z (v), graphene_vec4_get_w (v)
+#define VEC3_FORMAT "%f,%f,%f"
+#define VEC3_ARGS(v) graphene_vec3_get_x (v), graphene_vec3_get_y (v), graphene_vec3_get_z (v)
+#define VEC2_FORMAT "%f,%f"
+#define VEC2_ARGS(v) graphene_vec2_get_x (v), graphene_vec2_get_y (v)
+#define POINT3D_FORMAT "%f,%f,%f"
+#define POINT3D_ARGS(p) (p)->x, (p)->y, (p)->z
+
 enum
 {
   PROP_0,
@@ -97,7 +106,7 @@
 static void gst_gl_transformation_reset_gl (GstGLFilter * filter);
 static gboolean gst_gl_transformation_stop (GstBaseTransform * trans);
 static gboolean gst_gl_transformation_init_shader (GstGLFilter * filter);
-static void gst_gl_transformation_callback (gpointer stuff);
+static gboolean gst_gl_transformation_callback (gpointer stuff);
 static void gst_gl_transformation_build_mvp (GstGLTransformation *
     transformation);
 
@@ -107,7 +116,7 @@
 static gboolean gst_gl_transformation_filter (GstGLFilter * filter,
     GstBuffer * inbuf, GstBuffer * outbuf);
 static gboolean gst_gl_transformation_filter_texture (GstGLFilter * filter,
-    guint in_tex, guint out_tex);
+    GstGLMemory * in_tex, GstGLMemory * out_tex);
 
 static void
 gst_gl_transformation_class_init (GstGLTransformationClass * klass)
@@ -277,14 +286,13 @@
 
     graphene_point3d_t negative_pivot_vector;
 
-    graphene_vec3_t eye;
     graphene_vec3_t center;
     graphene_vec3_t up;
 
     gboolean current_passthrough;
     gboolean passthrough;
 
-    graphene_vec3_init (&eye, 0.f, 0.f, 1.f);
+    graphene_vec3_init (&transformation->camera_position, 0.f, 0.f, 1.f);
     graphene_vec3_init (&center, 0.f, 0.f, 0.f);
     graphene_vec3_init (&up, 0.f, 1.f, 0.f);
 
@@ -323,8 +331,8 @@
           transformation->aspect, transformation->znear, transformation->zfar);
     }
 
-    graphene_matrix_init_look_at (&transformation->view_matrix, &eye, &center,
-        &up);
+    graphene_matrix_init_look_at (&transformation->view_matrix,
+        &transformation->camera_position, &center, &up);
 
     current_passthrough =
         gst_base_transform_is_passthrough (GST_BASE_TRANSFORM (transformation));
@@ -345,6 +353,13 @@
       &transformation->view_matrix, &modelview_matrix);
   graphene_matrix_multiply (&modelview_matrix,
       &transformation->projection_matrix, &transformation->mvp_matrix);
+
+  graphene_matrix_inverse (&transformation->model_matrix,
+      &transformation->inv_model_matrix);
+  graphene_matrix_inverse (&transformation->view_matrix,
+      &transformation->inv_view_matrix);
+  graphene_matrix_inverse (&transformation->projection_matrix,
+      &transformation->inv_projection_matrix);
 }
 
 static void
@@ -447,6 +462,7 @@
       g_value_set_float (value, filter->zpivot);
       break;
     case PROP_MVP:
+      /* FIXME: need to decompose this to support navigation events */
       g_value_set_boxed (value, (gconstpointer) & filter->mvp_matrix);
       break;
     default:
@@ -473,142 +489,198 @@
 }
 
 static void
-_find_plane_normal (const graphene_point3d_t * A, const graphene_point3d_t * B,
-    const graphene_point3d_t * C, graphene_vec3_t * plane_normal)
+_intersect_plane_and_ray (graphene_plane_t * video_plane, graphene_ray_t * ray,
+    graphene_point3d_t * result)
 {
-  graphene_vec3_t U, V, A_v, B_v, C_v;
-
-  graphene_point3d_to_vec3 (A, &A_v);
-  graphene_point3d_to_vec3 (B, &B_v);
-  graphene_point3d_to_vec3 (C, &C_v);
-
-  graphene_vec3_subtract (&B_v, &A_v, &U);
-  graphene_vec3_subtract (&C_v, &A_v, &V);
-
-  graphene_vec3_cross (&U, &V, plane_normal);
-  graphene_vec3_normalize (plane_normal, plane_normal);
+  float t = graphene_ray_get_distance_to_plane (ray, video_plane);
+  GST_TRACE ("Calculated a distance of %f to the plane", t);
+  graphene_ray_get_position_at (ray, t, result);
 }
 
 static void
-_find_model_coords (GstGLTransformation * transformation,
-    const graphene_point3d_t * screen_coords, graphene_point3d_t * res)
+_screen_coord_to_world_ray (GstGLTransformation * transformation, float x,
+    float y, graphene_ray_t * ray)
 {
-  graphene_matrix_t modelview, inverse_proj, inverse_modelview;
-  graphene_vec4_t v1, v2;
-  graphene_point3d_t p1;
-  gfloat w;
+  GstGLFilter *filter = GST_GL_FILTER (transformation);
+  gfloat w = (gfloat) GST_VIDEO_INFO_WIDTH (&filter->in_info);
+  gfloat h = (gfloat) GST_VIDEO_INFO_HEIGHT (&filter->in_info);
+  graphene_vec3_t ray_eye_vec3, ray_world_dir, *ray_origin, *ray_direction;
+  graphene_vec3_t ray_ortho_dir;
+  graphene_point3d_t ray_clip, ray_eye;
+  graphene_vec2_t screen_coord;
 
-  graphene_vec4_init (&v1, screen_coords->x, screen_coords->y, screen_coords->z,
-      1.);
-  graphene_matrix_inverse (&transformation->projection_matrix, &inverse_proj);
-  graphene_matrix_transform_vec4 (&inverse_proj, &v1, &v2);
+  /* GL is y-flipped. i.e. 0, 0 is the bottom left corner in screen space */
+  graphene_vec2_init (&screen_coord, (2. * x / w - 1.) / transformation->aspect,
+      1. - 2. * y / h);
 
-  /* perspective division */
-  w = graphene_vec4_get_w (&v2);
-  p1.x = graphene_vec4_get_x (&v2) / w;
-  p1.y = graphene_vec4_get_y (&v2) / w;
-  p1.z = graphene_vec4_get_z (&v2) / w;
+  graphene_point3d_init (&ray_clip, graphene_vec2_get_x (&screen_coord),
+      graphene_vec2_get_y (&screen_coord), -1.);
+  graphene_matrix_transform_point3d (&transformation->inv_projection_matrix,
+      &ray_clip, &ray_eye);
 
-  graphene_matrix_multiply (&transformation->model_matrix,
-      &transformation->view_matrix, &modelview);
-  graphene_matrix_inverse (&modelview, &inverse_modelview);
-  graphene_matrix_transform_point3d (&inverse_modelview, &p1, res);
+  graphene_vec3_init (&ray_eye_vec3, ray_eye.x, ray_eye.y, -1.);
+
+  if (transformation->ortho) {
+    graphene_vec3_init (&ray_ortho_dir, 0., 0., 1.);
+
+    ray_origin = &ray_eye_vec3;
+    ray_direction = &ray_ortho_dir;
+  } else {
+    graphene_matrix_transform_vec3 (&transformation->inv_view_matrix,
+        &ray_eye_vec3, &ray_world_dir);
+    graphene_vec3_normalize (&ray_world_dir, &ray_world_dir);
+
+    ray_origin = &transformation->camera_position;
+    ray_direction = &ray_world_dir;
+  }
+
+  graphene_ray_init_from_vec3 (ray, ray_origin, ray_direction);
+
+  GST_TRACE_OBJECT (transformation, "Calculated ray origin: " VEC3_FORMAT
+      " direction: " VEC3_FORMAT " from screen coordinates: " VEC2_FORMAT
+      " with %s projection",
+      VEC3_ARGS (ray_origin), VEC3_ARGS (ray_direction),
+      VEC2_ARGS (&screen_coord),
+      transformation->ortho ? "ortho" : "perspection");
 }
 
+static void
+_init_world_video_plane (GstGLTransformation * transformation,
+    graphene_plane_t * video_plane)
+{
+  graphene_point3d_t bottom_left, bottom_right, top_left, top_right;
+  graphene_point3d_t world_bottom_left, world_bottom_right;
+  graphene_point3d_t world_top_left, world_top_right;
+
+  graphene_point3d_init (&top_left, -transformation->aspect, 1., 0.);
+  graphene_point3d_init (&top_right, transformation->aspect, 1., 0.);
+  graphene_point3d_init (&bottom_left, -transformation->aspect, -1., 0.);
+  graphene_point3d_init (&bottom_right, transformation->aspect, -1., 0.);
+
+  graphene_matrix_transform_point3d (&transformation->model_matrix,
+      &bottom_left, &world_bottom_left);
+  graphene_matrix_transform_point3d (&transformation->model_matrix,
+      &bottom_right, &world_bottom_right);
+  graphene_matrix_transform_point3d (&transformation->model_matrix,
+      &top_left, &world_top_left);
+  graphene_matrix_transform_point3d (&transformation->model_matrix,
+      &top_right, &world_top_right);
+
+  graphene_plane_init_from_points (video_plane, &world_bottom_left,
+      &world_top_right, &world_top_left);
+}
+
+static gboolean
+_screen_coord_to_model_coord (GstGLTransformation * transformation,
+    double x, double y, double *res_x, double *res_y)
+{
+  GstGLFilter *filter = GST_GL_FILTER (transformation);
+  double w = (double) GST_VIDEO_INFO_WIDTH (&filter->in_info);
+  double h = (double) GST_VIDEO_INFO_HEIGHT (&filter->in_info);
+  graphene_point3d_t world_point, model_coord;
+  graphene_plane_t video_plane;
+  graphene_ray_t ray;
+  double new_x, new_y;
+
+  _init_world_video_plane (transformation, &video_plane);
+  _screen_coord_to_world_ray (transformation, x, y, &ray);
+  _intersect_plane_and_ray (&video_plane, &ray, &world_point);
+  graphene_matrix_transform_point3d (&transformation->inv_model_matrix,
+      &world_point, &model_coord);
+
+  /* ndc to pixels.  We render the frame Y-flipped so need to unflip the
+   * y coordinate */
+  new_x = (model_coord.x + 1.) * w / 2;
+  new_y = (1. - model_coord.y) * h / 2;
+
+  if (new_x < 0. || new_x > w || new_y < 0. || new_y > h)
+    /* coords off video surface */
+    return FALSE;
+
+  GST_DEBUG_OBJECT (transformation, "converted %f,%f to %f,%f", x, y, new_x,
+      new_y);
+
+  if (res_x)
+    *res_x = new_x;
+  if (res_y)
+    *res_y = new_y;
+
+  return TRUE;
+}
+
+#if 0
+/* debugging facilities for transforming vertices from model space to screen
+ * space */
+static void
+_ndc_to_viewport (GstGLTransformation * transformation, graphene_vec3_t * ndc,
+    int x, int y, int w, int h, float near, float far, graphene_vec3_t * result)
+{
+  GstGLFilter *filter = GST_GL_FILTER (transformation);
+  /* center of the viewport */
+  int o_x = x + w / 2;
+  int o_y = y + h / 2;
+
+  graphene_vec3_init (result, graphene_vec3_get_x (ndc) * w / 2 + o_x,
+      graphene_vec3_get_y (ndc) * h / 2 + o_y,
+      (far - near) * graphene_vec3_get_z (ndc) / 2 + (far + near) / 2);
+}
+
+static void
+_perspective_division (graphene_vec4_t * clip, graphene_vec3_t * result)
+{
+  float w = graphene_vec4_get_w (clip);
+
+  graphene_vec3_init (result, graphene_vec4_get_x (clip) / w,
+      graphene_vec4_get_y (clip) / w, graphene_vec4_get_z (clip) / w);
+}
+
+static void
+_vertex_to_screen_coord (GstGLTransformation * transformation,
+    graphene_vec4_t * vertex, graphene_vec3_t * view)
+{
+  GstGLFilter *filter = GST_GL_FILTER (transformation);
+  gint w = GST_VIDEO_INFO_WIDTH (&filter->in_info);
+  gint h = GST_VIDEO_INFO_HEIGHT (&filter->in_info);
+  graphene_vec4_t clip;
+  graphene_vec3_t ndc;
+
+  graphene_matrix_transform_vec4 (&transformation->mvp_matrix, vertex, &clip);
+  _perspective_division (&clip, &ndc);
+  _ndc_to_viewport (transformation, &ndc, 0, 0, w, h, 0., 1., view);
+}
+#endif
+
 static gboolean
 gst_gl_transformation_src_event (GstBaseTransform * trans, GstEvent * event)
 {
   GstGLTransformation *transformation = GST_GL_TRANSFORMATION (trans);
-  GstGLFilter *filter = GST_GL_FILTER (trans);
-  gdouble new_x, new_y, x, y;
   GstStructure *structure;
   gboolean ret;
 
   GST_DEBUG_OBJECT (trans, "handling %s event", GST_EVENT_TYPE_NAME (event));
 
   switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_NAVIGATION:
+    case GST_EVENT_NAVIGATION:{
+      gdouble x, y;
       event =
           GST_EVENT (gst_mini_object_make_writable (GST_MINI_OBJECT (event)));
 
       structure = (GstStructure *) gst_event_get_structure (event);
       if (gst_structure_get_double (structure, "pointer_x", &x) &&
           gst_structure_get_double (structure, "pointer_y", &y)) {
-        gfloat w = (gfloat) GST_VIDEO_INFO_WIDTH (&filter->in_info);
-        gfloat h = (gfloat) GST_VIDEO_INFO_HEIGHT (&filter->in_info);
-        graphene_point3d_t screen_point_near, screen_point_far;
-        graphene_point3d_t model_coord_near, model_coord_far;
-        graphene_point3d_t bottom_left, bottom_right, top_left, top_right;
-        graphene_point3d_t result;
-        graphene_vec3_t plane_normal;
-        graphene_plane_t video_plane;
-        gfloat d;
+        gdouble new_x, new_y;
 
-        GST_DEBUG_OBJECT (trans, "converting %f,%f", x, y);
-
-        graphene_point3d_init (&top_left, -1., 1., 0.);
-        graphene_point3d_init (&top_right, 1., 1., 0.);
-        graphene_point3d_init (&bottom_left, -1., -1., 0.);
-        graphene_point3d_init (&bottom_right, 1., -1., 0.);
-        /* to NDC */
-        graphene_point3d_init (&screen_point_near, 2. * x / w - 1.,
-            2. * y / h - 1., -1.);
-        graphene_point3d_init (&screen_point_far, 2. * x / w - 1.,
-            2. * y / h - 1., 1.);
-
-        _find_plane_normal (&bottom_left, &top_left, &top_right, &plane_normal);
-        graphene_plane_init_from_point (&video_plane, &plane_normal, &top_left);
-        d = graphene_plane_get_constant (&video_plane);
-
-        /* get the closest and furthest points in the viewing area for the
-         * specified screen coordinate in order to construct a ray */
-        _find_model_coords (transformation, &screen_point_near,
-            &model_coord_near);
-        _find_model_coords (transformation, &screen_point_far,
-            &model_coord_far);
-
-        {
-          graphene_vec3_t model_coord_near_vec3, model_coord_far_vec3;
-          graphene_vec3_t tmp, intersection, coord_dir;
-          gfloat num, denom, t;
-
-          /* get the direction of the ray */
-          graphene_point3d_to_vec3 (&model_coord_near, &model_coord_near_vec3);
-          graphene_point3d_to_vec3 (&model_coord_far, &model_coord_far_vec3);
-          graphene_vec3_subtract (&model_coord_near_vec3, &model_coord_far_vec3,
-              &coord_dir);
-
-          /* Intersect the ray with the video plane to find the distance, t:
-           * Ray: P = P0 + t Pdir
-           * Plane: P dot N + d = 0
-           *
-           * Substituting for P and rearranging gives:
-           *
-           * t = (P0 dot N + d) / (Pdir dot N) */
-          denom = graphene_vec3_dot (&coord_dir, &plane_normal);
-          num = graphene_vec3_dot (&model_coord_near_vec3, &plane_normal);
-          t = -(num + d) / denom;
-
-          /* video coord = P0 + t Pdir */
-          graphene_vec3_scale (&coord_dir, t, &tmp);
-          graphene_vec3_add (&tmp, &model_coord_near_vec3, &intersection);
-          graphene_point3d_init_from_vec3 (&result, &intersection);
-        }
-
-        new_x = (result.x / transformation->aspect + 1.) * w / 2;
-        new_y = (result.y + 1.) * h / 2;
-
-        if (new_x < 0. || new_x > w || new_y < 0 || new_y > h) {
-          /* coords off video surface */
+        if (!_screen_coord_to_model_coord (transformation, x, y, &new_x,
+                &new_y)) {
           gst_event_unref (event);
           return TRUE;
         }
 
-        GST_DEBUG_OBJECT (trans, "to %fx%f", new_x, new_y);
         gst_structure_set (structure, "pointer_x", G_TYPE_DOUBLE, new_x,
             "pointer_y", G_TYPE_DOUBLE, new_y, NULL);
       }
       break;
+    }
     default:
       break;
   }
@@ -782,19 +854,15 @@
 }
 
 static gboolean
-gst_gl_transformation_filter_texture (GstGLFilter * filter, guint in_tex,
-    guint out_tex)
+gst_gl_transformation_filter_texture (GstGLFilter * filter,
+    GstGLMemory * in_tex, GstGLMemory * out_tex)
 {
   GstGLTransformation *transformation = GST_GL_TRANSFORMATION (filter);
 
   transformation->in_tex = in_tex;
 
-  /* blocking call, use a FBO */
-  gst_gl_context_use_fbo_v2 (GST_GL_BASE_FILTER (filter)->context,
-      GST_VIDEO_INFO_WIDTH (&filter->out_info),
-      GST_VIDEO_INFO_HEIGHT (&filter->out_info),
-      filter->fbo, filter->depthbuffer,
-      out_tex, gst_gl_transformation_callback, (gpointer) transformation);
+  gst_gl_framebuffer_draw_to_texture (filter->fbo, out_tex,
+      (GstGLFramebufferFunc) gst_gl_transformation_callback, transformation);
 
   return TRUE;
 }
@@ -856,7 +924,7 @@
   gl->DisableVertexAttribArray (transformation->attr_texture);
 }
 
-static void
+static gboolean
 gst_gl_transformation_callback (gpointer stuff)
 {
   GstGLFilter *filter = GST_GL_FILTER (stuff);
@@ -874,7 +942,7 @@
   gst_gl_shader_use (transformation->shader);
 
   gl->ActiveTexture (GL_TEXTURE0);
-  gl->BindTexture (GL_TEXTURE_2D, transformation->in_tex);
+  gl->BindTexture (GL_TEXTURE_2D, transformation->in_tex->tex_id);
   gst_gl_shader_set_uniform_1i (transformation->shader, "texture", 0);
 
   graphene_matrix_to_float (&transformation->mvp_matrix, temp_matrix);
@@ -924,4 +992,6 @@
 
   gst_gl_context_clear_shader (GST_GL_BASE_FILTER (filter)->context);
   transformation->caps_change = FALSE;
+
+  return TRUE;
 }
diff --git a/ext/gl/gstgltransformation.h b/ext/gl/gstgltransformation.h
index ed75ff6..a767be2 100644
--- a/ext/gl/gstgltransformation.h
+++ b/ext/gl/gstgltransformation.h
@@ -47,7 +47,8 @@
     GLint        attr_position;
     GLint        attr_texture;
 
-    guint in_tex;
+    GstGLMemory *in_tex;
+    GstGLMemory *out_tex;
 
     gfloat xrotation;
     gfloat yrotation;
@@ -74,8 +75,13 @@
     graphene_matrix_t model_matrix;
     graphene_matrix_t view_matrix;
     graphene_matrix_t projection_matrix;
+    graphene_matrix_t inv_model_matrix;
+    graphene_matrix_t inv_view_matrix;
+    graphene_matrix_t inv_projection_matrix;
     graphene_matrix_t mvp_matrix;
 
+    graphene_vec3_t camera_position;
+
     gboolean downstream_supports_affine_meta;
     gboolean caps_change;
 };
diff --git a/ext/gl/gstgluploadelement.c b/ext/gl/gstgluploadelement.c
index b65c0c4..f458a43 100644
--- a/ext/gl/gstgluploadelement.c
+++ b/ext/gl/gstgluploadelement.c
@@ -97,6 +97,8 @@
 gst_gl_upload_element_init (GstGLUploadElement * upload)
 {
   gst_base_transform_set_prefer_passthrough (GST_BASE_TRANSFORM (upload), TRUE);
+
+  upload->upload = gst_gl_upload_new (NULL);
 }
 
 static gboolean
@@ -133,9 +135,11 @@
 _gst_gl_upload_element_transform_caps (GstBaseTransform * bt,
     GstPadDirection direction, GstCaps * caps, GstCaps * filter)
 {
+  GstGLUploadElement *upload = GST_GL_UPLOAD_ELEMENT (bt);
   GstGLContext *context = GST_GL_BASE_FILTER (bt)->context;
 
-  return gst_gl_upload_transform_caps (context, direction, caps, filter);
+  return gst_gl_upload_transform_caps (upload->upload, context, direction, caps,
+      filter);
 }
 
 static gboolean
@@ -177,10 +181,10 @@
   if (!ret)
     return FALSE;
 
+  /* GstGLBaseFilter populates ->context in ::decide_allocation so now it's the
+   * time to set the ->upload context */
   context = GST_GL_BASE_FILTER (trans)->context;
-
-  if (!upload->upload)
-    upload->upload = gst_gl_upload_new (context);
+  gst_gl_upload_set_context (upload->upload, context);
 
   return gst_gl_upload_set_caps (upload->upload, upload->in_caps,
       upload->out_caps);
@@ -220,6 +224,10 @@
     return GST_FLOW_NOT_NEGOTIATED;
 
   ret = gst_gl_upload_perform_with_buffer (upload->upload, buffer, outbuf);
+  if (ret == GST_GL_UPLOAD_RECONFIGURE) {
+    gst_base_transform_reconfigure_src (bt);
+    return GST_FLOW_OK;
+  }
 
   if (ret != GST_GL_UPLOAD_DONE || *outbuf == NULL) {
     GST_ELEMENT_ERROR (bt, RESOURCE, NOT_FOUND, ("%s",
diff --git a/ext/gl/gstglvideoflip.c b/ext/gl/gstglvideoflip.c
index 690396d..5d2dac5 100644
--- a/ext/gl/gstglvideoflip.c
+++ b/ext/gl/gstglvideoflip.c
@@ -46,6 +46,7 @@
 {
   PROP_0,
   PROP_METHOD,
+  PROP_VIDEO_DIRECTION
 };
 
 static GstStaticPadTemplate _sink_template = GST_STATIC_PAD_TEMPLATE ("sink",
@@ -98,11 +99,6 @@
   return video_flip_method_type;
 }
 
-#define gst_gl_video_flip_parent_class parent_class
-G_DEFINE_TYPE_WITH_CODE (GstGLVideoFlip, gst_gl_video_flip,
-    GST_TYPE_BIN, GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT,
-        "glvideoflip", 0, "glvideoflip element"););
-
 static void gst_gl_video_flip_finalize (GObject * object);
 static void gst_gl_video_flip_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
@@ -115,6 +111,24 @@
     gpointer user_data);
 
 static void
+gst_gl_video_flip_video_direction_interface_init (GstVideoDirectionInterface
+    * iface);
+
+#define gst_gl_video_flip_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstGLVideoFlip, gst_gl_video_flip,
+    GST_TYPE_BIN, GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT,
+        "glvideoflip", 0, "glvideoflip element");
+    G_IMPLEMENT_INTERFACE (GST_TYPE_VIDEO_DIRECTION,
+        gst_gl_video_flip_video_direction_interface_init););
+
+static void
+gst_gl_video_flip_video_direction_interface_init (GstVideoDirectionInterface
+    * iface)
+{
+  /* We implement the video-direction property */
+}
+
+static void
 gst_gl_video_flip_class_init (GstGLVideoFlipClass * klass)
 {
   GObjectClass *gobject_class;
@@ -128,10 +142,13 @@
   gobject_class->get_property = gst_gl_video_flip_get_property;
 
   g_object_class_install_property (gobject_class, PROP_METHOD,
-      g_param_spec_enum ("method", "method", "method",
+      g_param_spec_enum ("method", "method",
+          "method (deprecated, use video-direction instead)",
           GST_TYPE_GL_VIDEO_FLIP_METHOD, DEFAULT_METHOD,
           GST_PARAM_CONTROLLABLE | G_PARAM_READWRITE | G_PARAM_CONSTRUCT |
           G_PARAM_STATIC_STRINGS));
+  g_object_class_override_property (gobject_class, PROP_VIDEO_DIRECTION,
+      "video-direction");
 
   gst_element_class_add_static_pad_template (element_class, &_src_template);
   gst_element_class_add_static_pad_template (element_class, &_sink_template);
@@ -233,10 +250,10 @@
         gst_structure_get_int (structure, "height", &height)) {
 
       switch (vf->active_method) {
-        case GST_GL_VIDEO_FLIP_METHOD_90R:
-        case GST_GL_VIDEO_FLIP_METHOD_90L:
-        case GST_GL_VIDEO_FLIP_METHOD_FLIP_UL_LR:
-        case GST_GL_VIDEO_FLIP_METHOD_FLIP_UR_LL:
+        case GST_VIDEO_ORIENTATION_90R:
+        case GST_VIDEO_ORIENTATION_90L:
+        case GST_VIDEO_ORIENTATION_UL_LR:
+        case GST_VIDEO_ORIENTATION_UR_LL:
           gst_structure_set (structure, "width", G_TYPE_INT, height,
               "height", G_TYPE_INT, width, NULL);
           if (gst_structure_get_fraction (structure, "pixel-aspect-ratio",
@@ -251,10 +268,10 @@
             }
           }
           break;
-        case GST_GL_VIDEO_FLIP_METHOD_IDENTITY:
-        case GST_GL_VIDEO_FLIP_METHOD_180:
-        case GST_GL_VIDEO_FLIP_METHOD_FLIP_HORIZ:
-        case GST_GL_VIDEO_FLIP_METHOD_FLIP_VERT:
+        case GST_VIDEO_ORIENTATION_IDENTITY:
+        case GST_VIDEO_ORIENTATION_180:
+        case GST_VIDEO_ORIENTATION_HORIZ:
+        case GST_VIDEO_ORIENTATION_VERT:
           break;
         default:
           g_assert_not_reached ();
@@ -268,7 +285,7 @@
 
 /* with object lock */
 static void
-_set_active_method (GstGLVideoFlip * vf, GstGLVideoFlipMethod method,
+_set_active_method (GstGLVideoFlip * vf, GstVideoOrientationMethod method,
     GstCaps * caps)
 {
   gfloat rot_z = 0., scale_x = 1.0, scale_y = 1.0;
@@ -276,34 +293,34 @@
   GstPad *srcpad;
 
   switch (method) {
-    case GST_GL_VIDEO_FLIP_METHOD_IDENTITY:
+    case GST_VIDEO_ORIENTATION_IDENTITY:
       break;
-    case GST_GL_VIDEO_FLIP_METHOD_90R:
+    case GST_VIDEO_ORIENTATION_90R:
       scale_x *= vf->aspect;
       scale_y *= 1. / vf->aspect;
       rot_z = 90.;
       break;
-    case GST_GL_VIDEO_FLIP_METHOD_180:
+    case GST_VIDEO_ORIENTATION_180:
       rot_z = 180.;
       break;
-    case GST_GL_VIDEO_FLIP_METHOD_90L:
+    case GST_VIDEO_ORIENTATION_90L:
       scale_x *= vf->aspect;
       scale_y *= 1. / vf->aspect;
       rot_z = 270.;
       break;
-    case GST_GL_VIDEO_FLIP_METHOD_FLIP_HORIZ:
+    case GST_VIDEO_ORIENTATION_HORIZ:
       scale_x *= -1.;
       break;
-    case GST_GL_VIDEO_FLIP_METHOD_FLIP_UR_LL:
+    case GST_VIDEO_ORIENTATION_UR_LL:
       scale_x *= -vf->aspect;
       scale_y *= 1. / vf->aspect;
       rot_z = 90.;
       break;
-    case GST_GL_VIDEO_FLIP_METHOD_FLIP_VERT:
+    case GST_VIDEO_ORIENTATION_VERT:
       scale_x *= -1.;
       rot_z = 180.;
       break;
-    case GST_GL_VIDEO_FLIP_METHOD_FLIP_UL_LR:
+    case GST_VIDEO_ORIENTATION_UL_LR:
       scale_x *= -vf->aspect;
       scale_y *= 1. / vf->aspect;
       rot_z = 270.;
@@ -331,10 +348,17 @@
 }
 
 static void
-gst_gl_video_flip_set_method (GstGLVideoFlip * vf, GstGLVideoFlipMethod method,
-    gboolean from_tag)
+gst_gl_video_flip_set_method (GstGLVideoFlip * vf,
+    GstVideoOrientationMethod method, gboolean from_tag)
 {
   GST_OBJECT_LOCK (vf);
+
+  if (method == GST_VIDEO_ORIENTATION_CUSTOM) {
+    GST_WARNING_OBJECT (vf, "unsupported custom orientation");
+    GST_OBJECT_UNLOCK (vf);
+    return;
+  }
+
   /* Store updated method */
   if (from_tag)
     vf->tag_method = method;
@@ -342,7 +366,7 @@
     vf->method = method;
 
   /* Get the new method */
-  if (vf->method == GST_GL_VIDEO_FLIP_METHOD_AUTO)
+  if (vf->method == GST_VIDEO_ORIENTATION_AUTO)
     method = vf->tag_method;
   else
     method = vf->method;
@@ -367,6 +391,7 @@
 
   switch (prop_id) {
     case PROP_METHOD:
+    case PROP_VIDEO_DIRECTION:
       gst_gl_video_flip_set_method (vf, g_value_get_enum (value), FALSE);
       break;
     default:
@@ -383,6 +408,7 @@
 
   switch (prop_id) {
     case PROP_METHOD:
+    case PROP_VIDEO_DIRECTION:
       g_value_set_enum (value, vf->method);
       break;
     default:
@@ -409,29 +435,25 @@
         if (gst_tag_list_get_string (taglist, "image-orientation",
                 &orientation)) {
           if (!g_strcmp0 ("rotate-0", orientation))
-            gst_gl_video_flip_set_method (vf, GST_GL_VIDEO_FLIP_METHOD_IDENTITY,
+            gst_gl_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_IDENTITY,
                 TRUE);
           else if (!g_strcmp0 ("rotate-90", orientation))
-            gst_gl_video_flip_set_method (vf, GST_GL_VIDEO_FLIP_METHOD_90R,
-                TRUE);
+            gst_gl_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_90R, TRUE);
           else if (!g_strcmp0 ("rotate-180", orientation))
-            gst_gl_video_flip_set_method (vf, GST_GL_VIDEO_FLIP_METHOD_180,
-                TRUE);
+            gst_gl_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_180, TRUE);
           else if (!g_strcmp0 ("rotate-270", orientation))
-            gst_gl_video_flip_set_method (vf, GST_GL_VIDEO_FLIP_METHOD_90L,
-                TRUE);
+            gst_gl_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_90L, TRUE);
           else if (!g_strcmp0 ("flip-rotate-0", orientation))
             gst_gl_video_flip_set_method (vf,
-                GST_GL_VIDEO_FLIP_METHOD_FLIP_HORIZ, TRUE);
+                GST_VIDEO_ORIENTATION_HORIZ, TRUE);
           else if (!g_strcmp0 ("flip-rotate-90", orientation))
             gst_gl_video_flip_set_method (vf,
-                GST_GL_VIDEO_FLIP_METHOD_FLIP_UR_LL, TRUE);
+                GST_VIDEO_ORIENTATION_UR_LL, TRUE);
           else if (!g_strcmp0 ("flip-rotate-180", orientation))
-            gst_gl_video_flip_set_method (vf,
-                GST_GL_VIDEO_FLIP_METHOD_FLIP_VERT, TRUE);
+            gst_gl_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_VERT, TRUE);
           else if (!g_strcmp0 ("flip-rotate-270", orientation))
             gst_gl_video_flip_set_method (vf,
-                GST_GL_VIDEO_FLIP_METHOD_FLIP_UL_LR, TRUE);
+                GST_VIDEO_ORIENTATION_UL_LR, TRUE);
 
           g_free (orientation);
         }
diff --git a/ext/gl/gstglvideoflip.h b/ext/gl/gstglvideoflip.h
index 3b8e81b..36f8da0 100644
--- a/ext/gl/gstglvideoflip.h
+++ b/ext/gl/gstglvideoflip.h
@@ -78,9 +78,9 @@
   GstCaps      *input_caps;
 
   /* properties */
-  GstGLVideoFlipMethod method;
-  GstGLVideoFlipMethod tag_method;
-  GstGLVideoFlipMethod active_method;
+  GstVideoOrientationMethod method;
+  GstVideoOrientationMethod tag_method;
+  GstVideoOrientationMethod active_method;
 
   gfloat aspect;
 };
diff --git a/ext/gl/gstglvideomixer.c b/ext/gl/gstglvideomixer.c
index 83905d0..04fab6f 100644
--- a/ext/gl/gstglvideomixer.c
+++ b/ext/gl/gstglvideomixer.c
@@ -29,12 +29,12 @@
  * <title>Examples</title>
  * |[
  * gst-launch-1.0  glvideomixer name=m ! glimagesink \
- *     videotestsrc ! video/x-raw, format=YUY2 ! m. \
- *     videotestsrc pattern=12 ! video/x-raw, format=I420, framerate=5/1, width=100, height=200 ! queue ! m. \
- *     videotestsrc ! video/x-raw, format=RGB, framerate=15/1, width=1500, height=1500 ! gleffects effect=3 ! queue ! m. \
- *     videotestsrc ! gleffects effect=2 ! queue ! m.  \
- *     videotestsrc ! glfiltercube ! queue ! m. \
- *     videotestsrc ! gleffects effect=6 ! queue ! m.
+ *     videotestsrc ! video/x-raw, format=YUY2 ! glupload ! glcolorconvert ! m. \
+ *     videotestsrc pattern=12 ! video/x-raw, format=I420, framerate=5/1, width=100, height=200 ! queue ! \
+ *     glupload ! glcolorconvert ! m. \
+ *     videotestsrc ! glupload ! gleffects effect=2 ! queue ! m.  \
+ *     videotestsrc ! glupload ! glfiltercube ! queue ! m. \
+ *     videotestsrc ! glupload ! gleffects effect=6 ! queue ! m.gst-launch-1.0  glvideomixer name=m ! glimagesink \
  * ]|
  * </refsect2>
  */
@@ -474,8 +474,8 @@
     GstCaps * outcaps);
 
 static gboolean gst_gl_video_mixer_process_textures (GstGLMixer * mixer,
-    guint out_tex);
-static void gst_gl_video_mixer_callback (gpointer stuff);
+    GstGLMemory * out_tex);
+static gboolean gst_gl_video_mixer_callback (gpointer stuff);
 
 /* *INDENT-OFF* */
 
@@ -1155,16 +1155,25 @@
       video_mixer_f_src, &video_mixer->shader);
 }
 
+static void
+_video_mixer_process_gl (GstGLContext * context, GstGLVideoMixer * video_mixer)
+{
+  GstGLMixer *mixer = GST_GL_MIXER (video_mixer);
+
+  gst_gl_framebuffer_draw_to_texture (mixer->fbo, video_mixer->out_tex,
+      gst_gl_video_mixer_callback, video_mixer);
+}
+
 static gboolean
-gst_gl_video_mixer_process_textures (GstGLMixer * mix, guint out_tex)
+gst_gl_video_mixer_process_textures (GstGLMixer * mix, GstGLMemory * out_tex)
 {
   GstGLVideoMixer *video_mixer = GST_GL_VIDEO_MIXER (mix);
+  GstGLContext *context = GST_GL_BASE_MIXER (mix)->context;
 
-  gst_gl_context_use_fbo_v2 (GST_GL_BASE_MIXER (mix)->context,
-      GST_VIDEO_INFO_WIDTH (&GST_VIDEO_AGGREGATOR (mix)->info),
-      GST_VIDEO_INFO_HEIGHT (&GST_VIDEO_AGGREGATOR (mix)->info),
-      mix->fbo, mix->depthbuffer,
-      out_tex, gst_gl_video_mixer_callback, (gpointer) video_mixer);
+  video_mixer->out_tex = out_tex;
+
+  gst_gl_context_thread_add (context,
+      (GstGLContextThreadFunc) _video_mixer_process_gl, video_mixer);
 
   return TRUE;
 }
@@ -1383,7 +1392,7 @@
 }
 
 /* opengl scene, params: input texture (not the output mixer->texture) */
-static void
+static gboolean
 gst_gl_video_mixer_callback (gpointer stuff)
 {
   GstGLVideoMixer *video_mixer = GST_GL_VIDEO_MIXER (stuff);
@@ -1411,7 +1420,7 @@
   }
 
   if (!_draw_background (video_mixer))
-    return;
+    return FALSE;
 
   gst_gl_shader_use (video_mixer->shader);
 
@@ -1546,4 +1555,6 @@
   gl->Disable (GL_BLEND);
 
   gst_gl_context_clear_shader (GST_GL_BASE_MIXER (mixer)->context);
+
+  return TRUE;
 }
diff --git a/ext/gl/gstglvideomixer.h b/ext/gl/gstglvideomixer.h
index a0776fd..f352646 100644
--- a/ext/gl/gstglvideomixer.h
+++ b/ext/gl/gstglvideomixer.h
@@ -125,6 +125,7 @@
     GLuint vao;
     GLuint vbo_indices;
     GLuint checker_vbo;
+    GstGLMemory *out_tex;
 };
 
 struct _GstGLVideoMixerClass
diff --git a/ext/gl/gstglviewconvert.c b/ext/gl/gstglviewconvert.c
index 5a3c9fe..ba05a11 100644
--- a/ext/gl/gstglviewconvert.c
+++ b/ext/gl/gstglviewconvert.c
@@ -31,11 +31,13 @@
  * <refsect2>
  * <title>Examples</title>
  * |[
- * gst-launch-1.0 videotestsrc ! glviewconvert ! glimagesink
- * ]|
+ * gst-launch-1.0 videotestsrc ! glupload ! glviewconvert ! glimagesink
+ * ]| Simple placebo example demonstrating identity passthrough of mono video
  * |[
- * gst-launch-1.0 videotestsrc pattern=checkers-1 ! glviewconvert input-mode-override=side-by-side ! glimagesink -v
- * ]|
+ * gst-launch-1.0 videotestsrc pattern=checkers-1 ! glupload ! \
+ *     glviewconvert input-mode-override=side-by-side ! glimagesink -v
+ * ]| Force re-interpretation of the input checkers pattern as a side-by-side stereoscopic
+ *    image and display in glimagesink.
  * FBO (Frame Buffer Object) and GLSL (OpenGL Shading Language) are required.
  * </refsect2>
  */
diff --git a/ext/gme/Makefile.in b/ext/gme/Makefile.in
index 969a974..fde997a 100644
--- a/ext/gme/Makefile.in
+++ b/ext/gme/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/gme/gstgme.c b/ext/gme/gstgme.c
index 1c5c83c..4fb4429 100644
--- a/ext/gme/gstgme.c
+++ b/ext/gme/gstgme.c
@@ -353,9 +353,7 @@
     if (flow_return == GST_FLOW_EOS) {
       gst_pad_push_event (pad, gst_event_new_eos ());
     } else if (flow_return < GST_FLOW_EOS || flow_return == GST_FLOW_NOT_LINKED) {
-      GST_ELEMENT_ERROR (gme, STREAM, FAILED, ("Internal data stream error."),
-          ("stream stopped, reason %s", gst_flow_get_name (flow_return)));
-
+      GST_ELEMENT_FLOW_ERROR (gme, flow_return);
       gst_pad_push_event (pad, gst_event_new_eos ());
     }
   }
diff --git a/ext/gsm/Makefile.in b/ext/gsm/Makefile.in
index 9f42e3e..7f8be44 100644
--- a/ext/gsm/Makefile.in
+++ b/ext/gsm/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/gtk/Makefile.in b/ext/gtk/Makefile.in
index 5bc0735..1cc91c6 100644
--- a/ext/gtk/Makefile.in
+++ b/ext/gtk/Makefile.in
@@ -339,6 +339,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -388,6 +390,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/hls/Makefile.am b/ext/hls/Makefile.am
index 189f9e6..8314ff0 100644
--- a/ext/hls/Makefile.am
+++ b/ext/hls/Makefile.am
@@ -4,6 +4,7 @@
 libgsthls_la_SOURCES =			\
 	m3u8.c					\
 	gsthlsdemux.c				\
+	gsthlsdemux-util.c  \
 	gsthlsplugin.c 			\
 	gsthlssink.c 				\
 	gstm3u8playlist.c
@@ -12,7 +13,7 @@
 libgsthls_la_LIBADD = \
 	$(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-@GST_API_VERSION@.la \
         $(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstpbutils-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) \
+	$(GST_PLUGINS_BASE_LIBS) -lgstpbutils-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) -lgsttag-$(GST_API_VERSION) \
 	$(GST_BASE_LIBS) $(GST_LIBS) $(LIBM) $(LIBGCRYPT_LIBS) $(NETTLE_LIBS) $(OPENSSL_LIBS)
 libgsthls_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -no-undefined
 libgsthls_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
diff --git a/ext/hls/Makefile.in b/ext/hls/Makefile.in
index d6d3533..b3346df 100644
--- a/ext/hls/Makefile.in
+++ b/ext/hls/Makefile.in
@@ -170,8 +170,9 @@
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1)
 am_libgsthls_la_OBJECTS = libgsthls_la-m3u8.lo \
-	libgsthls_la-gsthlsdemux.lo libgsthls_la-gsthlsplugin.lo \
-	libgsthls_la-gsthlssink.lo libgsthls_la-gstm3u8playlist.lo
+	libgsthls_la-gsthlsdemux.lo libgsthls_la-gsthlsdemux-util.lo \
+	libgsthls_la-gsthlsplugin.lo libgsthls_la-gsthlssink.lo \
+	libgsthls_la-gstm3u8playlist.lo
 libgsthls_la_OBJECTS = $(am_libgsthls_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -331,6 +332,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -380,6 +383,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -791,6 +796,7 @@
 libgsthls_la_SOURCES = \
 	m3u8.c					\
 	gsthlsdemux.c				\
+	gsthlsdemux-util.c  \
 	gsthlsplugin.c 			\
 	gsthlssink.c 				\
 	gstm3u8playlist.c
@@ -799,7 +805,7 @@
 libgsthls_la_LIBADD = \
 	$(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-@GST_API_VERSION@.la \
         $(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstpbutils-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) \
+	$(GST_PLUGINS_BASE_LIBS) -lgstpbutils-$(GST_API_VERSION) -lgstvideo-$(GST_API_VERSION) -lgsttag-$(GST_API_VERSION) \
 	$(GST_BASE_LIBS) $(GST_LIBS) $(LIBM) $(LIBGCRYPT_LIBS) $(NETTLE_LIBS) $(OPENSSL_LIBS)
 
 libgsthls_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS) -no-undefined
@@ -891,6 +897,7 @@
 distclean-compile:
 	-rm -f *.tab.c
 
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsthls_la-gsthlsdemux-util.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsthls_la-gsthlsdemux.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsthls_la-gsthlsplugin.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsthls_la-gsthlssink.Plo@am__quote@
@@ -935,6 +942,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 $(libgsthls_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsthls_la_CFLAGS) $(CFLAGS) -c -o libgsthls_la-gsthlsdemux.lo `test -f 'gsthlsdemux.c' || echo '$(srcdir)/'`gsthlsdemux.c
 
+libgsthls_la-gsthlsdemux-util.lo: gsthlsdemux-util.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsthls_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsthls_la_CFLAGS) $(CFLAGS) -MT libgsthls_la-gsthlsdemux-util.lo -MD -MP -MF $(DEPDIR)/libgsthls_la-gsthlsdemux-util.Tpo -c -o libgsthls_la-gsthlsdemux-util.lo `test -f 'gsthlsdemux-util.c' || echo '$(srcdir)/'`gsthlsdemux-util.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgsthls_la-gsthlsdemux-util.Tpo $(DEPDIR)/libgsthls_la-gsthlsdemux-util.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gsthlsdemux-util.c' object='libgsthls_la-gsthlsdemux-util.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 $(libgsthls_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsthls_la_CFLAGS) $(CFLAGS) -c -o libgsthls_la-gsthlsdemux-util.lo `test -f 'gsthlsdemux-util.c' || echo '$(srcdir)/'`gsthlsdemux-util.c
+
 libgsthls_la-gsthlsplugin.lo: gsthlsplugin.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsthls_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsthls_la_CFLAGS) $(CFLAGS) -MT libgsthls_la-gsthlsplugin.lo -MD -MP -MF $(DEPDIR)/libgsthls_la-gsthlsplugin.Tpo -c -o libgsthls_la-gsthlsplugin.lo `test -f 'gsthlsplugin.c' || echo '$(srcdir)/'`gsthlsplugin.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgsthls_la-gsthlsplugin.Tpo $(DEPDIR)/libgsthls_la-gsthlsplugin.Plo
diff --git a/ext/hls/gsthlsdemux-util.c b/ext/hls/gsthlsdemux-util.c
new file mode 100644
index 0000000..252f042
--- /dev/null
+++ b/ext/hls/gsthlsdemux-util.c
@@ -0,0 +1,348 @@
+/* GStreamer
+ * Copyright (C) 2016 Jan Schmidt <jan@centricular.com>
+ * Copyright (C) 2016 Tim-Philipp Müller <tim@centricular.com>
+ *
+ * gsthlsdemux-util.c:
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include <gst/gst.h>
+#include <gst/tag/tag.h>
+#include <string.h>
+
+#include "gsthlsdemux.h"
+
+GST_DEBUG_CATEGORY_EXTERN (gst_hls_demux_debug);
+#define GST_CAT_DEFAULT gst_hls_demux_debug
+
+/* Check for sync byte, error_indicator == 0 and packet has payload.
+ * Adaptation control field (data[3] & 0x30) may be zero for TS packets with
+ * null PIDs. Still, these streams are valid TS streams (for null packets,
+ * AFC is supposed to be 0x1, but the spec also says decoders should just
+ * discard any packets with AFC = 0x00) */
+#define IS_MPEGTS_HEADER(data) (data[0] == 0x47 && \
+                                (data[1] & 0x80) == 0x00 && \
+                                ((data[3] & 0x30) != 0x00 || \
+                                ((data[3] & 0x30) == 0x00 && (data[1] & 0x1f) == 0x1f && (data[2] & 0xff) == 0xff)))
+
+#define PCRTIME_TO_GSTTIME(t) (((t) * (guint64)1000) / 27)
+#define MPEGTIME_TO_GSTTIME(t) (((t) * (guint64)100000) / 9)
+
+static gboolean
+have_ts_sync (const guint8 * data, guint size, guint packet_size, guint num)
+{
+  while (num-- > 0) {
+    if (size < packet_size)
+      return FALSE;
+    if (!IS_MPEGTS_HEADER (data))
+      return FALSE;
+    data += packet_size;
+    size -= packet_size;
+  }
+  return TRUE;
+}
+
+static gint
+find_offset (GstHLSTSReader * r, const guint8 * data, guint size)
+{
+  guint sync_points = CLAMP (size / 188, 25, 100);
+  guint off;
+  const gint packet_size = 188;
+
+  /* FIXME: check 192 as well, and maybe also 204, 208 */
+  for (off = 0; off < MIN (size, packet_size); ++off) {
+    if (have_ts_sync (data + off, size - off, packet_size, sync_points)) {
+      r->packet_size = packet_size;
+      return off;
+    }
+  }
+  return -1;
+}
+
+static gboolean
+handle_pcr (GstHLSTSReader * r, const guint8 * data, guint size)
+{
+  const guint8 *p = data;
+  guint32 hdr = GST_READ_UINT32_BE (p);
+  guint af_len, flags;
+
+  guint64 pcr_base, pcr_ext, pcr, ts;
+
+  data = p + 4;
+  if ((hdr & 0x00000020) == 0)  /* has_adaptation_field */
+    return FALSE;
+  af_len = p[4];                /* adaptation_field_len */
+  ++data;
+  if (af_len < (1 + 6) || af_len > r->packet_size - (4 + 1))
+    return FALSE;
+  flags = data[0];
+  /* Does the packet have a PCR? */
+  if ((flags & 0x10) == 0)
+    return FALSE;
+  ++data;
+  --af_len;
+  pcr_base = (GST_READ_UINT64_BE (data) >> 16) >> (6 + 9);
+  pcr_ext = (GST_READ_UINT64_BE (data) >> 16) & 0x1ff;
+  pcr = pcr_base * 300 + pcr_ext;
+  ts = PCRTIME_TO_GSTTIME (pcr);
+  GST_LOG ("have PCR! %" G_GUINT64_FORMAT "\t%" GST_TIME_FORMAT,
+      pcr, GST_TIME_ARGS (ts));
+  if (r->first_pcr == GST_CLOCK_TIME_NONE)
+    r->first_pcr = ts;
+  r->last_pcr = ts;
+
+  return TRUE;
+}
+
+static gboolean
+handle_pmt (GstHLSTSReader * r, const guint8 * data, guint size)
+{
+  const guint8 *p = data;
+  guint32 hdr = GST_READ_UINT32_BE (p);
+  guint slen, pcr_pid;
+
+  data = p + 4;
+  if ((hdr & 0x00000020) != 0)  /* has_adaptation_field */
+    data += 1 + p[4];           /* adaptation_field_len */
+  data += 1 + data[0];          /* pointer_field */
+  if (data[0] != 0x02)          /* table_id */
+    return FALSE;
+  //gst_util_dump_mem (data, 8);
+  /* we assume the entire PMT fits into a single packet and this is it */
+  if (data[6] != 0 || data[6] != data[7])
+    return FALSE;
+  slen = GST_READ_UINT16_BE (data + 1) & 0x0FFF;
+  if (slen > (gsize) (p + r->packet_size - (data + 1 + 2)) || slen < 5 + 2 + 4)
+    return FALSE;
+  data += 3 + 5;
+  slen -= 5;                    /* bytes after section_length field itself */
+  slen -= 4;                    /* crc at end */
+  pcr_pid = GST_READ_UINT16_BE (data) & 0x1fff;
+  if (pcr_pid != 0x1fff) {
+    GST_DEBUG ("pcr_pid now: %04x", pcr_pid);
+    r->pcr_pid = pcr_pid;
+    return TRUE;
+  }
+
+  return FALSE;
+}
+
+static gboolean
+handle_pat (GstHLSTSReader * r, const guint8 * data, guint size)
+{
+  const guint8 *p = data;
+  guint32 hdr = GST_READ_UINT32_BE (p);
+  guint slen;
+
+  data = p + 4;
+  if ((hdr & 0x00000020) != 0)  /* has_adaptation_field */
+    data += 1 + p[4];           /* adaptation_field_len */
+  data += 1 + data[0];          /* pointer_field */
+  if (data[0] != 0)             /* table_id */
+    return FALSE;
+  /* we assume the entire PAT fits into a single packet and this is it */
+  if (data[6] != 0 || data[6] != data[7])
+    return FALSE;
+  slen = GST_READ_UINT16_BE (data + 1) & 0x0FFF;
+  if (slen > (gsize) (p + r->packet_size - (data + 1 + 2)) || slen < 5 + 4 + 4)
+    return FALSE;
+  data += 3 + 5;
+  slen -= 5;                    /* bytes after section_length field itself */
+  slen -= 4;                    /* crc at end */
+  while (slen >= 4) {
+    guint program_num = GST_READ_UINT16_BE (data);
+    guint val = GST_READ_UINT16_BE (data + 2) & 0x1fff;
+    if (program_num != 0) {
+      GST_DEBUG ("  program %04x: pmt_pid : %04x\n", program_num, val);
+      r->pmt_pid = val;
+      return TRUE;
+    }
+    data += 4;
+    slen -= 4;
+  }
+
+  return FALSE;
+}
+
+void
+gst_hlsdemux_tsreader_init (GstHLSTSReader * r)
+{
+  r->rtype = GST_HLS_TSREADER_NONE;
+  r->packet_size = 188;
+  r->pmt_pid = r->pcr_pid = -1;
+  r->first_pcr = GST_CLOCK_TIME_NONE;
+  r->last_pcr = GST_CLOCK_TIME_NONE;
+}
+
+void
+gst_hlsdemux_tsreader_set_type (GstHLSTSReader * r, GstHLSTSReaderType rtype)
+{
+  r->rtype = rtype;
+  r->have_id3 = FALSE;
+}
+
+static gboolean
+gst_hlsdemux_tsreader_find_pcrs_mpegts (GstHLSTSReader * r,
+    GstBuffer * buffer, GstClockTime * first_pcr, GstClockTime * last_pcr)
+{
+  GstMapInfo info;
+  gint offset;
+  const guint8 *p;
+  const guint8 *data;
+  gsize size;
+
+  if (!gst_buffer_map (buffer, &info, GST_MAP_READ))
+    return FALSE;
+
+  data = info.data;
+  size = info.size;
+
+  *first_pcr = *last_pcr = GST_CLOCK_TIME_NONE;
+
+  offset = find_offset (r, data, size);
+  if (offset < 0) {
+    gst_buffer_unmap (buffer, &info);
+    return FALSE;
+  }
+
+  GST_LOG ("TS packet start offset: %d", offset);
+
+  /* We don't store a partial packet at the end,
+   * and just assume that the final PCR is 
+   * going to be completely inside the last data
+   * segment passed to us */
+  data += offset;
+  size -= offset;
+
+  for (p = data; size >= r->packet_size;
+      p += r->packet_size, size -= r->packet_size) {
+    guint32 hdr = GST_READ_UINT32_BE (p);
+
+    /* sync byte (0x47), error indicator (TEI) not set, PID 0, has_payload */
+    if ((hdr & 0xFF9FFF10) == 0x47000010) {
+      GST_LOG ("Found packet for PID 0000 (PAT)");
+      handle_pat (r, p, size);
+    }
+    /* sync byte (0x47), error indicator (TEI) not set, has_payload, PID = PMT_pid */
+    else if ((hdr & 0xFF800010) == 0x47000010
+        && ((hdr >> 8) & 0x1fff) == r->pmt_pid) {
+      GST_LOG ("Found packet for PID %04x (PMT)", r->pmt_pid);
+      handle_pmt (r, p, size);
+    }
+    /* sync byte (0x47), error indicator (TEI) not set, has_payload */
+    else if ((hdr & 0xFF800010) == 0x47000010
+        && ((hdr >> 8) & 0x1fff) == r->pcr_pid) {
+      GST_LOG ("Found packet for PID %04x (PCR)", r->pcr_pid);
+      handle_pcr (r, p, size);
+    }
+  }
+
+  gst_buffer_unmap (buffer, &info);
+
+  *first_pcr = r->first_pcr;
+  *last_pcr = r->last_pcr;
+
+  /* Return TRUE if this piece was big enough to get a PCR from */
+  return (r->first_pcr != GST_CLOCK_TIME_NONE);
+}
+
+static gboolean
+gst_hlsdemux_tsreader_find_pcrs_id3 (GstHLSTSReader * r,
+    GstBuffer * buffer, GstClockTime * first_pcr, GstClockTime * last_pcr)
+{
+  GstMapInfo info;
+  guint32 tag_size;
+  gsize size;
+  GstTagList *taglist;
+  GstSample *priv_data = NULL;
+  GstBuffer *tag_buf;
+  guint64 pts;
+
+  *first_pcr = r->first_pcr;
+  *last_pcr = r->last_pcr;
+
+  if (r->have_id3)
+    return TRUE;
+
+  /* We need at least 10 bytes, starting with "ID3" for the header */
+  size = gst_buffer_get_size (buffer);
+  if (size < 10)
+    return FALSE;
+
+  /* Read the tag size */
+  tag_size = gst_tag_get_id3v2_tag_size (buffer);
+
+  /* Check we've collected that much */
+  if (size < tag_size)
+    return FALSE;
+
+  /* From here, whether the tag is valid or not we'll
+   * not try and read again */
+  r->have_id3 = TRUE;
+
+  /* Parse the tag */
+  taglist = gst_tag_list_from_id3v2_tag (buffer);
+  if (taglist == NULL)
+    return TRUE;                /* Invalid tag, stop trying */
+
+  /* Extract the timestamps */
+  if (!gst_tag_list_get_sample (taglist, GST_TAG_PRIVATE_DATA, &priv_data))
+    goto out;
+
+  if (!g_str_equal ("com.apple.streaming.transportStreamTimestamp",
+          gst_structure_get_string (gst_sample_get_info (priv_data), "owner")))
+    goto out;
+
+  /* OK, now as per section 3, the tag contains a 33-bit PCR inside a 64-bit
+   * BE-word */
+  tag_buf = gst_sample_get_buffer (priv_data);
+  if (tag_buf == NULL)
+    goto out;
+
+  if (!gst_buffer_map (tag_buf, &info, GST_MAP_READ))
+    goto out;
+
+  pts = GST_READ_UINT64_BE (info.data);
+  *first_pcr = r->first_pcr = MPEGTIME_TO_GSTTIME (pts);
+
+  GST_LOG ("Got AAC TS PTS %" G_GUINT64_FORMAT " (%" G_GUINT64_FORMAT ")",
+      pts, r->first_pcr);
+
+  gst_buffer_unmap (tag_buf, &info);
+
+out:
+  if (priv_data)
+    gst_sample_unref (priv_data);
+
+  gst_tag_list_unref (taglist);
+
+  return TRUE;
+}
+
+gboolean
+gst_hlsdemux_tsreader_find_pcrs (GstHLSTSReader * r,
+    GstBuffer * buffer, GstClockTime * first_pcr, GstClockTime * last_pcr)
+{
+  if (r->rtype == GST_HLS_TSREADER_MPEGTS)
+    return gst_hlsdemux_tsreader_find_pcrs_mpegts (r, buffer, first_pcr,
+        last_pcr);
+
+  return gst_hlsdemux_tsreader_find_pcrs_id3 (r, buffer, first_pcr, last_pcr);
+}
diff --git a/ext/hls/gsthlsdemux.c b/ext/hls/gsthlsdemux.c
index 14e8819..a4eaacd 100644
--- a/ext/hls/gsthlsdemux.c
+++ b/ext/hls/gsthlsdemux.c
@@ -5,6 +5,7 @@
  *  Author: Youness Alaoui <youness.alaoui@collabora.co.uk>, Collabora Ltd.
  *  Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>, Collabora Ltd.
  * Copyright (C) 2014 Sebastian Dröge <sebastian@centricular.com>
+ * Copyright (C) 2015 Tim-Philipp Müller <tim@centricular.com>
  *
  * Gsthlsdemux.c:
  *
@@ -54,9 +55,12 @@
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("application/x-hls"));
 
-GST_DEBUG_CATEGORY_STATIC (gst_hls_demux_debug);
+GST_DEBUG_CATEGORY (gst_hls_demux_debug);
 #define GST_CAT_DEFAULT gst_hls_demux_debug
 
+#define GST_M3U8_CLIENT_LOCK(l) /* FIXME */
+#define GST_M3U8_CLIENT_UNLOCK(l)       /* FIXME */
+
 /* GObject */
 static void gst_hls_demux_finalize (GObject * obj);
 
@@ -72,11 +76,11 @@
 static gboolean gst_hls_demux_change_playlist (GstHLSDemux * demux,
     guint max_bitrate, gboolean * changed);
 static GstBuffer *gst_hls_demux_decrypt_fragment (GstHLSDemux * demux,
-    GstBuffer * encrypted_buffer, GError ** err);
+    GstHLSDemuxStream * stream, GstBuffer * encrypted_buffer, GError ** err);
 static gboolean
-gst_hls_demux_decrypt_start (GstHLSDemux * demux, const guint8 * key_data,
-    const guint8 * iv_data);
-static void gst_hls_demux_decrypt_end (GstHLSDemux * demux);
+gst_hls_demux_stream_decrypt_start (GstHLSDemuxStream * stream,
+    const guint8 * key_data, const guint8 * iv_data);
+static void gst_hls_demux_stream_decrypt_end (GstHLSDemuxStream * stream);
 
 static gboolean gst_hls_demux_is_live (GstAdaptiveDemux * demux);
 static GstClockTime gst_hls_demux_get_duration (GstAdaptiveDemux * demux);
@@ -93,6 +97,7 @@
     GstAdaptiveDemuxStream * stream);
 static GstFlowReturn gst_hls_demux_data_received (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream, GstBuffer * buffer);
+static void gst_hls_demux_stream_free (GstAdaptiveDemuxStream * stream);
 static gboolean gst_hls_demux_stream_has_next_fragment (GstAdaptiveDemuxStream *
     stream);
 static GstFlowReturn gst_hls_demux_advance_fragment (GstAdaptiveDemuxStream *
@@ -104,6 +109,9 @@
 static void gst_hls_demux_reset (GstAdaptiveDemux * demux);
 static gboolean gst_hls_demux_get_live_seek_range (GstAdaptiveDemux * demux,
     gint64 * start, gint64 * stop);
+static GstM3U8 *gst_hls_demux_stream_get_m3u8 (GstHLSDemuxStream * hls_stream);
+static void gst_hls_demux_set_current_variant (GstHLSDemux * hlsdemux,
+    GstHLSVariantStream * variant);
 
 #define gst_hls_demux_parent_class parent_class
 G_DEFINE_TYPE (GstHLSDemux, gst_hls_demux, GST_TYPE_ADAPTIVE_DEMUX);
@@ -114,8 +122,7 @@
   GstHLSDemux *demux = GST_HLS_DEMUX (obj);
 
   gst_hls_demux_reset (GST_ADAPTIVE_DEMUX_CAST (demux));
-  g_object_unref (demux->pending_encrypted_data);
-  gst_m3u8_client_free (demux->client);
+  g_mutex_clear (&demux->keys_lock);
 
   G_OBJECT_CLASS (parent_class)->finalize (obj);
 }
@@ -160,6 +167,7 @@
   adaptivedemux_class->stream_update_fragment_info =
       gst_hls_demux_update_fragment_info;
   adaptivedemux_class->stream_select_bitrate = gst_hls_demux_select_bitrate;
+  adaptivedemux_class->stream_free = gst_hls_demux_stream_free;
 
   adaptivedemux_class->start_fragment = gst_hls_demux_start_fragment;
   adaptivedemux_class->finish_fragment = gst_hls_demux_finish_fragment;
@@ -172,8 +180,11 @@
 static void
 gst_hls_demux_init (GstHLSDemux * demux)
 {
-  demux->do_typefind = TRUE;
-  demux->pending_encrypted_data = gst_adapter_new ();
+  gst_adaptive_demux_set_stream_struct_size (GST_ADAPTIVE_DEMUX_CAST (demux),
+      sizeof (GstHLSDemuxStream));
+
+  demux->keys = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
+  g_mutex_init (&demux->keys_lock);
 }
 
 static GstStateChangeReturn
@@ -195,6 +206,7 @@
   switch (transition) {
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       gst_hls_demux_reset (GST_ADAPTIVE_DEMUX_CAST (demux));
+      g_hash_table_remove_all (demux->keys);
       break;
     default:
       break;
@@ -230,15 +242,54 @@
 }
 
 static void
-gst_hls_demux_clear_pending_data (GstHLSDemux * hlsdemux)
+gst_hls_demux_stream_clear_pending_data (GstHLSDemuxStream * hls_stream)
 {
-  gst_hls_demux_decrypt_end (hlsdemux);
-  gst_adapter_clear (hlsdemux->pending_encrypted_data);
-  gst_buffer_replace (&hlsdemux->pending_decrypted_buffer, NULL);
-  gst_buffer_replace (&hlsdemux->pending_typefind_buffer, NULL);
-  hlsdemux->current_offset = -1;
+  if (hls_stream->pending_encrypted_data)
+    gst_adapter_clear (hls_stream->pending_encrypted_data);
+  gst_buffer_replace (&hls_stream->pending_decrypted_buffer, NULL);
+  gst_buffer_replace (&hls_stream->pending_typefind_buffer, NULL);
+  gst_buffer_replace (&hls_stream->pending_pcr_buffer, NULL);
+  hls_stream->current_offset = -1;
+  gst_hls_demux_stream_decrypt_end (hls_stream);
 }
 
+static void
+gst_hls_demux_clear_all_pending_data (GstHLSDemux * hlsdemux)
+{
+  GstAdaptiveDemux *demux = (GstAdaptiveDemux *) hlsdemux;
+  GList *walk;
+
+  for (walk = demux->streams; walk != NULL; walk = walk->next) {
+    GstHLSDemuxStream *hls_stream = GST_HLS_DEMUX_STREAM_CAST (walk->data);
+    gst_hls_demux_stream_clear_pending_data (hls_stream);
+  }
+}
+
+#if 0
+static void
+gst_hls_demux_set_current (GstHLSDemux * self, GstM3U8 * m3u8)
+{
+  GST_M3U8_CLIENT_LOCK (self);
+  if (m3u8 != self->current) {
+    self->current = m3u8;
+    self->current->duration = GST_CLOCK_TIME_NONE;
+    self->current->current_file = NULL;
+
+#if 0
+    // FIXME: this makes no sense after we just set self->current=m3u8 above (tpm)
+    // also, these values don't necessarily align between different lists
+    m3u8->current_file_duration = self->current->current_file_duration;
+    m3u8->sequence = self->current->sequence;
+    m3u8->sequence_position = self->current->sequence_position;
+    m3u8->highest_sequence_number = self->current->highest_sequence_number;
+    m3u8->first_file_start = self->current->first_file_start;
+    m3u8->last_file_end = self->current->last_file_end;
+#endif
+  }
+  GST_M3U8_CLIENT_UNLOCK (self);
+}
+#endif
+
 static gboolean
 gst_hls_demux_seek (GstAdaptiveDemux * demux, GstEvent * seek)
 {
@@ -247,15 +298,16 @@
   GstSeekFlags flags;
   GstSeekType start_type, stop_type;
   gint64 start, stop;
-  gdouble rate;
-  GList *walk, *current_file = NULL;
+  gdouble rate, old_rate;
+  GList *walk, *stream_walk;
   GstClockTime current_pos, target_pos;
   gint64 current_sequence;
-  GstM3U8MediaFile *file;
   guint64 bitrate;
   gboolean snap_before, snap_after, snap_nearest, keyunit;
   gboolean reverse;
 
+  old_rate = demux->segment.rate;
+
   gst_event_parse_seek (seek, &rate, &format, &flags, &start_type, &start,
       &stop_type, &stop);
 
@@ -263,114 +315,110 @@
 
   /* properly cleanup pending decryption status */
   if (flags & GST_SEEK_FLAG_FLUSH) {
-    gst_hls_demux_clear_pending_data (hlsdemux);
+    gst_hls_demux_clear_all_pending_data (hlsdemux);
   }
 
   /* Use I-frame variants for trick modes */
-  if (hlsdemux->client->main->iframe_lists && rate < -1.0
-      && demux->segment.rate >= -1.0 && demux->segment.rate <= 1.0) {
+  if (hlsdemux->master->iframe_variants != NULL
+      && rate < -1.0 && old_rate >= -1.0 && old_rate <= 1.0) {
     GError *err = NULL;
 
-    GST_M3U8_CLIENT_LOCK (hlsdemux->client);
     /* Switch to I-frame variant */
-    hlsdemux->client->main->current_variant =
-        hlsdemux->client->main->iframe_lists;
-    GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
-    gst_m3u8_client_set_current (hlsdemux->client,
-        hlsdemux->client->main->iframe_lists->data);
+    gst_hls_demux_set_current_variant (hlsdemux,
+        hlsdemux->master->iframe_variants->data);
     gst_uri_downloader_reset (demux->downloader);
     if (!gst_hls_demux_update_playlist (hlsdemux, FALSE, &err)) {
       GST_ELEMENT_ERROR_FROM_ERROR (hlsdemux, "Could not switch playlist", err);
       return FALSE;
     }
     //hlsdemux->discont = TRUE;
-    hlsdemux->do_typefind = TRUE;
 
     gst_hls_demux_change_playlist (hlsdemux, bitrate / ABS (rate), NULL);
-  } else if (rate > -1.0 && rate <= 1.0 && (demux->segment.rate < -1.0
-          || demux->segment.rate > 1.0)) {
+  } else if (rate > -1.0 && rate <= 1.0 && (old_rate < -1.0 || old_rate > 1.0)) {
     GError *err = NULL;
-    GST_M3U8_CLIENT_LOCK (hlsdemux->client);
     /* Switch to normal variant */
-    hlsdemux->client->main->current_variant = hlsdemux->client->main->lists;
-    GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
-    gst_m3u8_client_set_current (hlsdemux->client,
-        hlsdemux->client->main->lists->data);
+    gst_hls_demux_set_current_variant (hlsdemux,
+        hlsdemux->master->variants->data);
     gst_uri_downloader_reset (demux->downloader);
     if (!gst_hls_demux_update_playlist (hlsdemux, FALSE, &err)) {
       GST_ELEMENT_ERROR_FROM_ERROR (hlsdemux, "Could not switch playlist", err);
       return FALSE;
     }
     //hlsdemux->discont = TRUE;
-    hlsdemux->do_typefind = TRUE;
     /* TODO why not continue using the same? that was being used up to now? */
     gst_hls_demux_change_playlist (hlsdemux, bitrate, NULL);
   }
+  for (stream_walk = demux->streams; stream_walk != NULL;
+      stream_walk = stream_walk->next) {
+    GstHLSDemuxStream *hls_stream =
+        GST_HLS_DEMUX_STREAM_CAST (stream_walk->data);
+    GstM3U8MediaFile *file = NULL;
 
-  GST_M3U8_CLIENT_LOCK (hlsdemux->client);
-  file = GST_M3U8_MEDIA_FILE (hlsdemux->client->current->files->data);
-  current_sequence = file->sequence;
-  current_pos = 0;
-  reverse = rate < 0;
-  target_pos = reverse ? stop : start;
+    current_sequence = 0;
+    current_pos = 0;
+    reverse = rate < 0;
+    target_pos = reverse ? stop : start;
 
-  /* Snap to segment boundary. Improves seek performance on slow machines. */
-  keyunit = ! !(flags & GST_SEEK_FLAG_KEY_UNIT);
-  snap_nearest =
-      (flags & GST_SEEK_FLAG_SNAP_NEAREST) == GST_SEEK_FLAG_SNAP_NEAREST;
-  snap_before = ! !(flags & GST_SEEK_FLAG_SNAP_BEFORE);
-  snap_after = ! !(flags & GST_SEEK_FLAG_SNAP_AFTER);
+    /* Snap to segment boundary. Improves seek performance on slow machines. */
+    keyunit = ! !(flags & GST_SEEK_FLAG_KEY_UNIT);
+    snap_nearest =
+        (flags & GST_SEEK_FLAG_SNAP_NEAREST) == GST_SEEK_FLAG_SNAP_NEAREST;
+    snap_before = ! !(flags & GST_SEEK_FLAG_SNAP_BEFORE);
+    snap_after = ! !(flags & GST_SEEK_FLAG_SNAP_AFTER);
 
-  /* FIXME: Here we need proper discont handling */
-  for (walk = hlsdemux->client->current->files; walk; walk = walk->next) {
-    file = walk->data;
+    GST_M3U8_CLIENT_LOCK (hlsdemux->client);
+    /* FIXME: Here we need proper discont handling */
+    for (walk = hls_stream->playlist->files; walk; walk = walk->next) {
+      file = walk->data;
 
-    current_sequence = file->sequence;
-    current_file = walk;
-    if ((!reverse && snap_after) || snap_nearest) {
-      if (current_pos >= target_pos)
-        break;
-      if (snap_nearest && target_pos - current_pos < file->duration / 2)
-        break;
-    } else if (reverse && snap_after) {
-      /* check if the next fragment is our target, in this case we want to
-       * start from the previous fragment */
-      GstClockTime next_pos = current_pos + file->duration;
+      current_sequence = file->sequence;
+      if ((!reverse && snap_after) || snap_nearest) {
+        if (current_pos >= target_pos)
+          break;
+        if (snap_nearest && target_pos - current_pos < file->duration / 2)
+          break;
+      } else if (reverse && snap_after) {
+        /* check if the next fragment is our target, in this case we want to
+         * start from the previous fragment */
+        GstClockTime next_pos = current_pos + file->duration;
 
-      if (next_pos <= target_pos && target_pos < next_pos + file->duration) {
+        if (next_pos <= target_pos && target_pos < next_pos + file->duration) {
+          break;
+        }
+      } else if (current_pos <= target_pos
+          && target_pos < current_pos + file->duration) {
         break;
       }
-    } else if (current_pos <= target_pos
-        && target_pos < current_pos + file->duration) {
-      break;
+      current_pos += file->duration;
     }
-    current_pos += file->duration;
-  }
 
-  if (walk == NULL) {
-    GST_DEBUG_OBJECT (demux, "seeking further than track duration");
-    current_sequence++;
-  }
+    if (walk == NULL) {
+      GST_DEBUG_OBJECT (demux, "seeking further than track duration");
+      current_sequence++;
+    }
 
-  GST_DEBUG_OBJECT (demux, "seeking to sequence %u", (guint) current_sequence);
-  hlsdemux->reset_pts = TRUE;
-  hlsdemux->client->sequence = current_sequence;
-  hlsdemux->client->current_file =
-      current_file ? current_file : hlsdemux->client->current->files;
-  hlsdemux->client->sequence_position = current_pos;
-  GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
+    GST_DEBUG_OBJECT (demux, "seeking to sequence %u",
+        (guint) current_sequence);
+    hls_stream->reset_pts = TRUE;
+    hls_stream->playlist->sequence = current_sequence;
+    hls_stream->playlist->current_file = walk;
+    hls_stream->playlist->sequence_position = current_pos;
+    GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
 
-  /* Play from the end of the current selected segment */
-  if (reverse && (snap_before || snap_after || snap_nearest))
-    current_pos += file->duration;
+    /* Play from the end of the current selected segment */
+    if (file) {
+      if (reverse && (snap_before || snap_after || snap_nearest))
+        current_pos += file->duration;
+    }
 
-  if (keyunit || snap_before || snap_after || snap_nearest) {
-    if (!reverse)
-      gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
-          current_pos, stop_type, stop, NULL);
-    else
-      gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
-          start, stop_type, current_pos, NULL);
+    if (keyunit || snap_before || snap_after || snap_nearest) {
+      if (!reverse)
+        gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
+            current_pos, stop_type, stop, NULL);
+      else
+        gst_segment_do_seek (&demux->segment, rate, format, flags, start_type,
+            start, stop_type, current_pos, NULL);
+    }
   }
 
   return TRUE;
@@ -386,75 +434,185 @@
   return GST_FLOW_OK;
 }
 
+static void
+create_stream_for_playlist (GstAdaptiveDemux * demux, GstM3U8 * playlist,
+    gboolean is_primary_playlist, gboolean selected)
+{
+  GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
+  GstHLSDemuxStream *hlsdemux_stream;
+  GstAdaptiveDemuxStream *stream;
+
+  if (!selected) {
+    /* FIXME: Later, create the stream but mark not-selected */
+    GST_LOG_OBJECT (demux, "Ignoring not-selected stream");
+    return;
+  }
+
+  stream = gst_adaptive_demux_stream_new (demux,
+      gst_hls_demux_create_pad (hlsdemux));
+
+  hlsdemux_stream = GST_HLS_DEMUX_STREAM_CAST (stream);
+
+  hlsdemux_stream->stream_type = GST_HLS_TSREADER_NONE;
+
+  hlsdemux_stream->playlist = gst_m3u8_ref (playlist);
+  hlsdemux_stream->is_primary_playlist = is_primary_playlist;
+
+  hlsdemux_stream->do_typefind = TRUE;
+  hlsdemux_stream->reset_pts = TRUE;
+}
+
 static gboolean
 gst_hls_demux_setup_streams (GstAdaptiveDemux * demux)
 {
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
+  GstHLSVariantStream *playlist = hlsdemux->current_variant;
+  gint i;
 
-  /* only 1 output supported */
-  gst_hls_demux_clear_pending_data (hlsdemux);
-  gst_adaptive_demux_stream_new (demux, gst_hls_demux_create_pad (hlsdemux));
+  if (playlist == NULL) {
+    GST_WARNING_OBJECT (demux, "Can't configure streams - no variant selected");
+    return FALSE;
+  }
 
-  hlsdemux->reset_pts = TRUE;
+  gst_hls_demux_clear_all_pending_data (hlsdemux);
+
+  /* 1 output for the main playlist */
+  create_stream_for_playlist (demux, playlist->m3u8, TRUE, TRUE);
+
+  for (i = 0; i < GST_HLS_N_MEDIA_TYPES; ++i) {
+    GList *mlist = playlist->media[i];
+    while (mlist != NULL) {
+      GstHLSMedia *media = mlist->data;
+
+      if (media->uri == NULL /* || media->mtype != GST_HLS_MEDIA_TYPE_AUDIO */ ) {
+        /* No uri means this is a placeholder for a stream
+         * contained in another mux */
+        GST_LOG_OBJECT (demux, "Skipping stream %s type %d with no URI",
+            media->name, media->mtype);
+        mlist = mlist->next;
+        continue;
+      }
+      GST_LOG_OBJECT (demux, "media of type %d - %s, uri: %s", i,
+          media->name, media->uri);
+      create_stream_for_playlist (demux, media->playlist, FALSE,
+          (media->mtype == GST_HLS_MEDIA_TYPE_VIDEO ||
+              media->mtype == GST_HLS_MEDIA_TYPE_AUDIO));
+
+      mlist = mlist->next;
+    }
+  }
 
   return TRUE;
 }
 
+static const gchar *
+gst_adaptive_demux_get_manifest_ref_uri (GstAdaptiveDemux * d)
+{
+  return d->manifest_base_uri ? d->manifest_base_uri : d->manifest_uri;
+}
+
+static void
+gst_hls_demux_set_current_variant (GstHLSDemux * hlsdemux,
+    GstHLSVariantStream * variant)
+{
+  if (hlsdemux->current_variant == variant || variant == NULL)
+    return;
+
+  if (hlsdemux->current_variant != NULL) {
+    gint i;
+
+    //#warning FIXME: Synching fragments across variants
+    //  should be done based on media timestamps, and
+    //  discont-sequence-numbers not sequence numbers.
+    variant->m3u8->sequence_position =
+        hlsdemux->current_variant->m3u8->sequence_position;
+    variant->m3u8->sequence = hlsdemux->current_variant->m3u8->sequence;
+
+    GST_DEBUG_OBJECT (hlsdemux,
+        "Switching Variant. Copying over sequence %" G_GINT64_FORMAT
+        " and sequence_pos %" GST_TIME_FORMAT, variant->m3u8->sequence,
+        GST_TIME_ARGS (variant->m3u8->sequence_position));
+
+    for (i = 0; i < GST_HLS_N_MEDIA_TYPES; ++i) {
+      GList *mlist = hlsdemux->current_variant->media[i];
+
+      while (mlist != NULL) {
+        GstHLSMedia *old_media = mlist->data;
+        GstHLSMedia *new_media =
+            gst_hls_variant_find_matching_media (variant, old_media);
+
+        if (new_media) {
+          new_media->playlist->sequence = old_media->playlist->sequence;
+          new_media->playlist->sequence_position =
+              old_media->playlist->sequence_position;
+        }
+        mlist = mlist->next;
+      }
+    }
+
+    gst_hls_variant_stream_unref (hlsdemux->current_variant);
+  }
+
+  hlsdemux->current_variant = gst_hls_variant_stream_ref (variant);
+
+}
 
 static gboolean
 gst_hls_demux_process_manifest (GstAdaptiveDemux * demux, GstBuffer * buf)
 {
+  GstHLSVariantStream *variant;
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
   gchar *playlist = NULL;
 
-  if (hlsdemux->client)
-    gst_m3u8_client_free (hlsdemux->client);
-
-  hlsdemux->client =
-      gst_m3u8_client_new (demux->manifest_uri, demux->manifest_base_uri);
-
-  GST_INFO_OBJECT (demux, "Changed location: %s (base uri: %s)",
-      demux->manifest_uri, GST_STR_NULL (demux->manifest_base_uri));
+  GST_INFO_OBJECT (demux, "Initial playlist location: %s (base uri: %s)",
+      demux->manifest_uri, demux->manifest_base_uri);
 
   playlist = gst_hls_src_buf_to_utf8_playlist (buf);
   if (playlist == NULL) {
-    GST_WARNING_OBJECT (demux, "Error validating first playlist.");
+    GST_WARNING_OBJECT (demux, "Error validating initial playlist");
     return FALSE;
-  } else if (!gst_m3u8_client_update (hlsdemux->client, playlist)) {
+  }
+
+  GST_M3U8_CLIENT_LOCK (self);
+  hlsdemux->master = gst_hls_master_playlist_new_from_data (playlist,
+      gst_adaptive_demux_get_manifest_ref_uri (demux));
+
+  if (hlsdemux->master == NULL || hlsdemux->master->variants == NULL) {
     /* In most cases, this will happen if we set a wrong url in the
      * source element and we have received the 404 HTML response instead of
      * the playlist */
-    GST_ELEMENT_ERROR (demux, STREAM, DECODE, ("Invalid playlist."), (NULL));
+    GST_ELEMENT_ERROR (demux, STREAM, DECODE, ("Invalid playlist."),
+        ("Could not parse playlist. Check if the URL is correct."));
+    GST_M3U8_CLIENT_UNLOCK (self);
     return FALSE;
   }
 
-  /* If this playlist is a variant playlist, select the first one
-   * and update it */
-  if (gst_m3u8_client_has_variant_playlist (hlsdemux->client)) {
-    GstM3U8 *child = NULL;
+  /* select the initial variant stream */
+  if (demux->connection_speed == 0) {
+    variant = hlsdemux->master->default_variant;
+  } else {
+    variant =
+        gst_hls_master_playlist_get_variant_for_bitrate (hlsdemux->master,
+        NULL, demux->connection_speed);
+  }
+
+  if (variant) {
+    GST_INFO_OBJECT (hlsdemux, "selected %s", variant->name);
+    gst_hls_demux_set_current_variant (hlsdemux, variant);      // FIXME: inline?
+  }
+
+  /* get the selected media playlist (unless the inital list was one already) */
+  if (!hlsdemux->master->is_simple) {
     GError *err = NULL;
 
-    if (demux->connection_speed == 0) {
-      GST_M3U8_CLIENT_LOCK (hlsdemux->client);
-      child = hlsdemux->client->main->current_variant->data;
-      GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
-    } else {
-      GList *tmp = gst_m3u8_client_get_playlist_for_bitrate (hlsdemux->client,
-          demux->connection_speed);
-      GST_M3U8_CLIENT_LOCK (hlsdemux->client);
-      hlsdemux->client->main->current_variant = tmp;
-      GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
-
-      child = GST_M3U8 (tmp->data);
-    }
-
-    gst_m3u8_client_set_current (hlsdemux->client, child);
     if (!gst_hls_demux_update_playlist (hlsdemux, FALSE, &err)) {
-      GST_ELEMENT_ERROR_FROM_ERROR (demux, "Could not fetch the child playlist",
+      GST_ELEMENT_ERROR_FROM_ERROR (demux, "Could not fetch media playlist",
           err);
+      GST_M3U8_CLIENT_UNLOCK (self);
       return FALSE;
     }
   }
+  GST_M3U8_CLIENT_UNLOCK (self);
 
   return gst_hls_demux_setup_streams (demux);
 }
@@ -463,66 +621,111 @@
 gst_hls_demux_get_duration (GstAdaptiveDemux * demux)
 {
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
+  GstClockTime duration = GST_CLOCK_TIME_NONE;
 
-  return gst_m3u8_client_get_duration (hlsdemux->client);
+  if (hlsdemux->current_variant != NULL)
+    duration = gst_m3u8_get_duration (hlsdemux->current_variant->m3u8);
+
+  return duration;
 }
 
 static gboolean
 gst_hls_demux_is_live (GstAdaptiveDemux * demux)
 {
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
+  gboolean is_live = FALSE;
 
-  return gst_m3u8_client_is_live (hlsdemux->client);
+  if (hlsdemux->current_variant)
+    is_live = gst_hls_variant_stream_is_live (hlsdemux->current_variant);
+
+  return is_live;
+}
+
+static const GstHLSKey *
+gst_hls_demux_get_key (GstHLSDemux * demux, const gchar * key_url,
+    const gchar * referer, gboolean allow_cache)
+{
+  GstFragment *key_fragment;
+  GstBuffer *key_buffer;
+  GstHLSKey *key;
+  GError *err = NULL;
+
+  GST_LOG_OBJECT (demux, "Looking up key for key url %s", key_url);
+
+  g_mutex_lock (&demux->keys_lock);
+
+  key = g_hash_table_lookup (demux->keys, key_url);
+
+  if (key != NULL) {
+    GST_LOG_OBJECT (demux, "Found key for key url %s in key cache", key_url);
+    goto out;
+  }
+
+  GST_INFO_OBJECT (demux, "Fetching key %s", key_url);
+
+  key_fragment =
+      gst_uri_downloader_fetch_uri (GST_ADAPTIVE_DEMUX (demux)->downloader,
+      key_url, referer, FALSE, FALSE, allow_cache, &err);
+
+  if (key_fragment == NULL) {
+    GST_WARNING_OBJECT (demux, "Failed to download key to decrypt data: %s",
+        err ? err->message : "error");
+    g_clear_error (&err);
+    goto out;
+  }
+
+  key_buffer = gst_fragment_get_buffer (key_fragment);
+
+  key = g_new0 (GstHLSKey, 1);
+  if (gst_buffer_extract (key_buffer, 0, key->data, 16) < 16)
+    GST_WARNING_OBJECT (demux, "Download decryption key is too short!");
+
+  g_hash_table_insert (demux->keys, g_strdup (key_url), key);
+
+  gst_buffer_unref (key_buffer);
+  g_object_unref (key_fragment);
+
+out:
+
+  g_mutex_unlock (&demux->keys_lock);
+
+  if (key != NULL)
+    GST_MEMDUMP_OBJECT (demux, "Key", key->data, 16);
+
+  return key;
 }
 
 static gboolean
 gst_hls_demux_start_fragment (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream)
 {
+  GstHLSDemuxStream *hls_stream = GST_HLS_DEMUX_STREAM_CAST (stream);
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
+  const GstHLSKey *key;
+  GstM3U8 *m3u8;
 
-  if (hlsdemux->current_key) {
-    GError *err = NULL;
-    GstFragment *key_fragment;
-    GstBuffer *key_buffer;
-    GstMapInfo key_info;
+  gst_hls_demux_stream_clear_pending_data (hls_stream);
 
-    /* new key? */
-    if (hlsdemux->key_url
-        && strcmp (hlsdemux->key_url, hlsdemux->current_key) == 0) {
-      key_fragment = g_object_ref (hlsdemux->key_fragment);
-    } else {
-      g_free (hlsdemux->key_url);
-      hlsdemux->key_url = NULL;
+  /* Init the timestamp reader for this fragment */
+  gst_hlsdemux_tsreader_init (&hls_stream->tsreader);
+  /* Reset the stream type if we already know it */
+  gst_hlsdemux_tsreader_set_type (&hls_stream->tsreader,
+      hls_stream->stream_type);
 
-      if (hlsdemux->key_fragment)
-        g_object_unref (hlsdemux->key_fragment);
-      hlsdemux->key_fragment = NULL;
+  /* If no decryption is needed, there's nothing to be done here */
+  if (hls_stream->current_key == NULL)
+    return TRUE;
 
-      GST_INFO_OBJECT (demux, "Fetching key %s", hlsdemux->current_key);
-      key_fragment =
-          gst_uri_downloader_fetch_uri (demux->downloader,
-          hlsdemux->current_key, hlsdemux->client->main ?
-          hlsdemux->client->main->uri : NULL, FALSE, FALSE,
-          hlsdemux->client->current ? hlsdemux->client->current->
-          allowcache : TRUE, &err);
-      if (key_fragment == NULL)
-        goto key_failed;
-      hlsdemux->key_url = g_strdup (hlsdemux->current_key);
-      hlsdemux->key_fragment = g_object_ref (key_fragment);
-    }
+  m3u8 = gst_hls_demux_stream_get_m3u8 (hls_stream);
 
-    key_buffer = gst_fragment_get_buffer (key_fragment);
-    gst_buffer_map (key_buffer, &key_info, GST_MAP_READ);
+  key = gst_hls_demux_get_key (hlsdemux, hls_stream->current_key,
+      m3u8->uri, m3u8->allowcache);
 
-    gst_hls_demux_decrypt_start (hlsdemux, key_info.data, hlsdemux->current_iv);
+  if (key == NULL)
+    goto key_failed;
 
-    gst_buffer_unmap (key_buffer, &key_info);
-    gst_buffer_unref (key_buffer);
-    g_object_unref (key_fragment);
-  }
-
-  gst_hls_demux_clear_pending_data (hlsdemux);
+  gst_hls_demux_stream_decrypt_start (hls_stream, key->data,
+      hls_stream->current_iv);
 
   return TRUE;
 
@@ -535,63 +738,105 @@
   }
 }
 
-/* Handles decrypted buffers only */
+static GstHLSTSReaderType
+caps_to_reader (const GstCaps * caps)
+{
+  const GstStructure *s = gst_caps_get_structure (caps, 0);
+
+  if (gst_structure_has_name (s, "video/mpegts"))
+    return GST_HLS_TSREADER_MPEGTS;
+  if (gst_structure_has_name (s, "application/x-id3"))
+    return GST_HLS_TSREADER_ID3;
+
+  return GST_HLS_TSREADER_NONE;
+}
+
 static GstFlowReturn
 gst_hls_demux_handle_buffer (GstAdaptiveDemux * demux,
-    GstAdaptiveDemuxStream * stream, GstBuffer * buffer, gboolean force)
+    GstAdaptiveDemuxStream * stream, GstBuffer * buffer, gboolean at_eos)
 {
+  GstHLSDemuxStream *hls_stream = GST_HLS_DEMUX_STREAM_CAST (stream);   // FIXME: pass HlsStream into function
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
+  GstMapInfo info;
+  GstClockTime first_pcr, last_pcr;
 
-  if (G_UNLIKELY (hlsdemux->do_typefind && buffer != NULL)) {
+  if (buffer == NULL)
+    return GST_FLOW_OK;
+
+  gst_buffer_map (buffer, &info, GST_MAP_READ);
+
+  if (G_UNLIKELY (hls_stream->do_typefind)) {
     GstCaps *caps = NULL;
-    GstMapInfo info;
     guint buffer_size;
     GstTypeFindProbability prob = GST_TYPE_FIND_NONE;
 
-    if (hlsdemux->pending_typefind_buffer)
-      buffer = gst_buffer_append (hlsdemux->pending_typefind_buffer, buffer);
-    hlsdemux->pending_typefind_buffer = NULL;
+    if (hls_stream->pending_typefind_buffer)
+      buffer = gst_buffer_append (hls_stream->pending_typefind_buffer, buffer);
+    hls_stream->pending_typefind_buffer = NULL;
 
     gst_buffer_map (buffer, &info, GST_MAP_READ);
     buffer_size = info.size;
 
     /* Typefind could miss if buffer is too small. In this case we
      * will retry later */
-    if (buffer_size >= (2 * 1024)) {
+    if (buffer_size >= (2 * 1024) || at_eos) {
       caps =
           gst_type_find_helper_for_data (GST_OBJECT_CAST (hlsdemux), info.data,
           info.size, &prob);
     }
-    gst_buffer_unmap (buffer, &info);
 
     if (G_UNLIKELY (!caps)) {
+      /* Won't need this mapping any more all paths return inside this if() */
+      gst_buffer_unmap (buffer, &info);
+
       /* Only fail typefinding if we already a good amount of data
        * and we still don't know the type */
-      if (buffer_size > (2 * 1024 * 1024) || force) {
+      if (buffer_size > (2 * 1024 * 1024) || at_eos) {
         GST_ELEMENT_ERROR (hlsdemux, STREAM, TYPE_NOT_FOUND,
             ("Could not determine type of stream"), (NULL));
         gst_buffer_unref (buffer);
         return GST_FLOW_NOT_NEGOTIATED;
-      } else {
-        hlsdemux->pending_typefind_buffer = buffer;
-        return GST_FLOW_OK;
       }
+
+      hls_stream->pending_typefind_buffer = buffer;
+
+      return GST_FLOW_OK;
     }
 
     GST_DEBUG_OBJECT (hlsdemux, "Typefind result: %" GST_PTR_FORMAT " prob:%d",
         caps, prob);
 
+    hls_stream->stream_type = caps_to_reader (caps);
+    gst_hlsdemux_tsreader_set_type (&hls_stream->tsreader,
+        hls_stream->stream_type);
+
     gst_adaptive_demux_stream_set_caps (stream, caps);
-    hlsdemux->do_typefind = FALSE;
+
+    hls_stream->do_typefind = FALSE;
+  }
+  g_assert (hls_stream->pending_typefind_buffer == NULL);
+
+  gst_buffer_unmap (buffer, &info);
+
+  // Accumulate this buffer
+  if (hls_stream->pending_pcr_buffer) {
+    buffer = gst_buffer_append (hls_stream->pending_pcr_buffer, buffer);
+    hls_stream->pending_pcr_buffer = NULL;
   }
 
-  g_assert (hlsdemux->pending_typefind_buffer == NULL);
+  if (!gst_hlsdemux_tsreader_find_pcrs (&hls_stream->tsreader, buffer,
+          &first_pcr, &last_pcr)
+      && !at_eos) {
+    // Store this buffer for later
+    hls_stream->pending_pcr_buffer = buffer;
+    return GST_FLOW_OK;
+  }
 
   if (buffer) {
     buffer = gst_buffer_make_writable (buffer);
-    GST_BUFFER_OFFSET (buffer) = hlsdemux->current_offset;
-    hlsdemux->current_offset += gst_buffer_get_size (buffer);
-    GST_BUFFER_OFFSET_END (buffer) = hlsdemux->current_offset;
+    GST_BUFFER_OFFSET (buffer) = hls_stream->current_offset;
+    hls_stream->current_offset += gst_buffer_get_size (buffer);
+    GST_BUFFER_OFFSET_END (buffer) = hls_stream->current_offset;
     return gst_adaptive_demux_stream_push_buffer (stream, buffer);
   }
   return GST_FLOW_OK;
@@ -601,35 +846,50 @@
 gst_hls_demux_finish_fragment (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream)
 {
-  GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
+  GstHLSDemuxStream *hls_stream = GST_HLS_DEMUX_STREAM_CAST (stream);   // FIXME: pass HlsStream into function
   GstFlowReturn ret = GST_FLOW_OK;
 
-  if (hlsdemux->current_key)
-    gst_hls_demux_decrypt_end (hlsdemux);
+  if (hls_stream->current_key)
+    gst_hls_demux_stream_decrypt_end (hls_stream);
 
   if (stream->last_ret == GST_FLOW_OK) {
-    if (hlsdemux->pending_decrypted_buffer) {
-      if (hlsdemux->current_key) {
+    if (hls_stream->pending_decrypted_buffer) {
+      if (hls_stream->current_key) {
         GstMapInfo info;
         gssize unpadded_size;
 
         /* Handle pkcs7 unpadding here */
-        gst_buffer_map (hlsdemux->pending_decrypted_buffer, &info,
+        gst_buffer_map (hls_stream->pending_decrypted_buffer, &info,
             GST_MAP_READ);
         unpadded_size = info.size - info.data[info.size - 1];
-        gst_buffer_unmap (hlsdemux->pending_decrypted_buffer, &info);
+        gst_buffer_unmap (hls_stream->pending_decrypted_buffer, &info);
 
-        gst_buffer_resize (hlsdemux->pending_decrypted_buffer, 0,
+        gst_buffer_resize (hls_stream->pending_decrypted_buffer, 0,
             unpadded_size);
       }
 
       ret =
           gst_hls_demux_handle_buffer (demux, stream,
-          hlsdemux->pending_decrypted_buffer, TRUE);
-      hlsdemux->pending_decrypted_buffer = NULL;
+          hls_stream->pending_decrypted_buffer, TRUE);
+      hls_stream->pending_decrypted_buffer = NULL;
+    }
+
+    if (ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED) {
+      if (hls_stream->pending_pcr_buffer) {
+        GstBuffer *buf = hls_stream->pending_pcr_buffer;
+        hls_stream->pending_pcr_buffer = NULL;
+
+        ret = gst_hls_demux_handle_buffer (demux, stream, buf, TRUE);
+      }
+
+      GST_LOG_OBJECT (stream,
+          "Fragment PCRs were %" GST_TIME_FORMAT " to %" GST_TIME_FORMAT,
+          GST_TIME_ARGS (hls_stream->tsreader.first_pcr),
+          GST_TIME_ARGS (hls_stream->tsreader.last_pcr));
     }
   }
-  gst_hls_demux_clear_pending_data (hlsdemux);
+
+  gst_hls_demux_stream_clear_pending_data (hls_stream);
 
   if (ret == GST_FLOW_OK || ret == GST_FLOW_NOT_LINKED)
     return gst_adaptive_demux_stream_advance_fragment (demux, stream,
@@ -641,30 +901,34 @@
 gst_hls_demux_data_received (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream, GstBuffer * buffer)
 {
+  GstHLSDemuxStream *hls_stream = GST_HLS_DEMUX_STREAM_CAST (stream);
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
 
-  if (hlsdemux->current_offset == -1)
-    hlsdemux->current_offset =
-        GST_BUFFER_OFFSET_IS_VALID (buffer) ? GST_BUFFER_OFFSET (buffer) : 0;
+  if (hls_stream->current_offset == -1)
+    hls_stream->current_offset = 0;
 
   /* Is it encrypted? */
-  if (hlsdemux->current_key) {
+  if (hls_stream->current_key) {
     GError *err = NULL;
     gsize size;
     GstBuffer *tmp_buffer;
 
-    gst_adapter_push (hlsdemux->pending_encrypted_data, buffer);
-    size = gst_adapter_available (hlsdemux->pending_encrypted_data);
+    if (hls_stream->pending_encrypted_data == NULL)
+      hls_stream->pending_encrypted_data = gst_adapter_new ();
+
+    gst_adapter_push (hls_stream->pending_encrypted_data, buffer);
+    size = gst_adapter_available (hls_stream->pending_encrypted_data);
 
     /* must be a multiple of 16 */
-    size = size & (~0xF);
+    size &= (~0xF);
 
     if (size == 0) {
       return GST_FLOW_OK;
     }
 
-    buffer = gst_adapter_take_buffer (hlsdemux->pending_encrypted_data, size);
-    buffer = gst_hls_demux_decrypt_fragment (hlsdemux, buffer, &err);
+    buffer = gst_adapter_take_buffer (hls_stream->pending_encrypted_data, size);
+    buffer =
+        gst_hls_demux_decrypt_fragment (hlsdemux, hls_stream, buffer, &err);
     if (buffer == NULL) {
       GST_ELEMENT_ERROR (demux, STREAM, DECODE, ("Failed to decrypt buffer"),
           ("decryption failed %s", err->message));
@@ -672,49 +936,95 @@
       return GST_FLOW_ERROR;
     }
 
-    tmp_buffer = hlsdemux->pending_decrypted_buffer;
-    hlsdemux->pending_decrypted_buffer = buffer;
+    tmp_buffer = hls_stream->pending_decrypted_buffer;
+    hls_stream->pending_decrypted_buffer = buffer;
     buffer = tmp_buffer;
   }
 
   return gst_hls_demux_handle_buffer (demux, stream, buffer, FALSE);
 }
 
+static void
+gst_hls_demux_stream_free (GstAdaptiveDemuxStream * stream)
+{
+  GstHLSDemuxStream *hls_stream = GST_HLS_DEMUX_STREAM_CAST (stream);
+
+  if (hls_stream->playlist) {
+    gst_m3u8_unref (hls_stream->playlist);
+    hls_stream->playlist = NULL;
+  }
+
+  if (hls_stream->pending_encrypted_data)
+    g_object_unref (hls_stream->pending_encrypted_data);
+
+  gst_buffer_replace (&hls_stream->pending_decrypted_buffer, NULL);
+  gst_buffer_replace (&hls_stream->pending_typefind_buffer, NULL);
+  gst_buffer_replace (&hls_stream->pending_pcr_buffer, NULL);
+
+  if (hls_stream->current_key) {
+    g_free (hls_stream->current_key);
+    hls_stream->current_key = NULL;
+  }
+  if (hls_stream->current_iv) {
+    g_free (hls_stream->current_iv);
+    hls_stream->current_iv = NULL;
+  }
+  gst_hls_demux_stream_decrypt_end (hls_stream);
+}
+
+static GstM3U8 *
+gst_hls_demux_stream_get_m3u8 (GstHLSDemuxStream * hlsdemux_stream)
+{
+  GstM3U8 *m3u8;
+
+  m3u8 = hlsdemux_stream->playlist;
+
+  return m3u8;
+}
+
 static gboolean
 gst_hls_demux_stream_has_next_fragment (GstAdaptiveDemuxStream * stream)
 {
-  GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (stream->demux);
+  gboolean has_next;
+  GstM3U8 *m3u8;
 
-  return gst_m3u8_client_has_next_fragment (hlsdemux->client,
-      stream->demux->segment.rate > 0);
+  m3u8 = gst_hls_demux_stream_get_m3u8 (GST_HLS_DEMUX_STREAM_CAST (stream));
+
+  has_next = gst_m3u8_has_next_fragment (m3u8, stream->demux->segment.rate > 0);
+
+  return has_next;
 }
 
 static GstFlowReturn
 gst_hls_demux_advance_fragment (GstAdaptiveDemuxStream * stream)
 {
-  GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (stream->demux);
+  GstHLSDemuxStream *hlsdemux_stream = GST_HLS_DEMUX_STREAM_CAST (stream);
+  GstM3U8 *m3u8;
 
-  gst_m3u8_client_advance_fragment (hlsdemux->client,
-      stream->demux->segment.rate > 0);
-  hlsdemux->reset_pts = FALSE;
+  m3u8 = gst_hls_demux_stream_get_m3u8 (hlsdemux_stream);
+
+  gst_m3u8_advance_fragment (m3u8, stream->demux->segment.rate > 0);
+  hlsdemux_stream->reset_pts = FALSE;
+
   return GST_FLOW_OK;
 }
 
 static GstFlowReturn
 gst_hls_demux_update_fragment_info (GstAdaptiveDemuxStream * stream)
 {
+  GstHLSDemuxStream *hlsdemux_stream = GST_HLS_DEMUX_STREAM_CAST (stream);
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (stream->demux);
-  gchar *next_fragment_uri;
-  GstClockTime duration;
-  GstClockTime timestamp;
-  gboolean discont;
-  gint64 range_start, range_end;
-  gchar *key = NULL;
-  guint8 *iv = NULL;
+  GstM3U8MediaFile *file;
+  GstClockTime sequence_pos;
+  gboolean discont, forward;
+  GstM3U8 *m3u8;
 
-  if (!gst_m3u8_client_get_next_fragment (hlsdemux->client, &discont,
-          &next_fragment_uri, &duration, &timestamp, &range_start, &range_end,
-          &key, &iv, stream->demux->segment.rate > 0)) {
+  m3u8 = gst_hls_demux_stream_get_m3u8 (hlsdemux_stream);
+
+  forward = (stream->demux->segment.rate > 0);
+  file = gst_m3u8_get_next_fragment (m3u8, forward, &sequence_pos, &discont);
+
+  if (file == NULL) {
     GST_INFO_OBJECT (hlsdemux, "This playlist doesn't contain more fragments");
     return GST_FLOW_EOS;
   }
@@ -723,23 +1033,33 @@
     discont = TRUE;
 
   /* set up our source for download */
-  if (hlsdemux->reset_pts || discont || stream->demux->segment.rate < 0.0) {
-    stream->fragment.timestamp = timestamp;
+  if (hlsdemux_stream->reset_pts || discont
+      || stream->demux->segment.rate < 0.0) {
+    stream->fragment.timestamp = sequence_pos;
   } else {
     stream->fragment.timestamp = GST_CLOCK_TIME_NONE;
   }
 
-  g_free (hlsdemux->current_key);
-  hlsdemux->current_key = key;
-  g_free (hlsdemux->current_iv);
-  hlsdemux->current_iv = iv;
+  g_free (hlsdemux_stream->current_key);
+  hlsdemux_stream->current_key = g_strdup (file->key);
+  g_free (hlsdemux_stream->current_iv);
+  hlsdemux_stream->current_iv = g_memdup (file->iv, sizeof (file->iv));
+
   g_free (stream->fragment.uri);
-  stream->fragment.uri = next_fragment_uri;
-  stream->fragment.range_start = range_start;
-  stream->fragment.range_end = range_end;
-  stream->fragment.duration = duration;
+  stream->fragment.uri = g_strdup (file->uri);
+
+  GST_DEBUG_OBJECT (hlsdemux, "Stream %p URI now %s", stream, file->uri);
+
+  stream->fragment.range_start = file->offset;
+  if (file->size != -1)
+    stream->fragment.range_end = file->offset + file->size - 1;
+  else
+    stream->fragment.range_end = -1;
+
+  stream->fragment.duration = file->duration;
+
   if (discont)
-    stream->discont = discont;
+    stream->discont = TRUE;
 
   return GST_FLOW_OK;
 }
@@ -749,22 +1069,25 @@
 {
   GstAdaptiveDemux *demux = GST_ADAPTIVE_DEMUX_CAST (stream->demux);
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (stream->demux);
+  GstHLSDemuxStream *hls_stream = GST_HLS_DEMUX_STREAM_CAST (stream);
+
   gboolean changed = FALSE;
 
   GST_M3U8_CLIENT_LOCK (hlsdemux->client);
-  if (!hlsdemux->client->main->lists) {
+  if (hlsdemux->master == NULL || hlsdemux->master->is_simple) {
     GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
     return FALSE;
   }
   GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
 
-  /* FIXME: Currently several issues have be found when letting bitrate adaptation
-   * happen using trick modes (such as 'All streams finished without buffers') and
-   * the adaptive algorithm does not properly behave. */
-  if (demux->segment.rate != 1.0)
+  if (hls_stream->is_primary_playlist == FALSE) {
+    GST_LOG_OBJECT (hlsdemux,
+        "Stream %p Not choosing new bitrate - not the primary stream", stream);
     return FALSE;
+  }
 
-  gst_hls_demux_change_playlist (hlsdemux, bitrate, &changed);
+  gst_hls_demux_change_playlist (hlsdemux, bitrate / MAX (1.0,
+          ABS (demux->segment.rate)), &changed);
   if (changed)
     gst_hls_demux_setup_streams (GST_ADAPTIVE_DEMUX_CAST (hlsdemux));
   return changed;
@@ -775,36 +1098,19 @@
 {
   GstHLSDemux *demux = GST_HLS_DEMUX_CAST (ademux);
 
-  demux->do_typefind = TRUE;
-  demux->reset_pts = TRUE;
-
-  g_free (demux->key_url);
-  demux->key_url = NULL;
-
-  if (demux->key_fragment)
-    g_object_unref (demux->key_fragment);
-  demux->key_fragment = NULL;
-
-  if (demux->client) {
-    gst_m3u8_client_free (demux->client);
-    demux->client = NULL;
+  GST_M3U8_CLIENT_LOCK (hlsdemux->client);
+  if (demux->master) {
+    gst_hls_master_playlist_unref (demux->master);
+    demux->master = NULL;
   }
-  /* TODO recreated on hls only if reset was not for disposing */
-  demux->client = gst_m3u8_client_new ("", NULL);
-
+  if (demux->current_variant != NULL) {
+    gst_hls_variant_stream_unref (demux->current_variant);
+    demux->current_variant = NULL;
+  }
   demux->srcpad_counter = 0;
-  gst_hls_demux_clear_pending_data (demux);
-  gst_buffer_replace (&demux->pending_typefind_buffer, NULL);
-  if (demux->current_key) {
-    g_free (demux->current_key);
-    demux->current_key = NULL;
-  }
-  if (demux->current_iv) {
-    g_free (demux->current_iv);
-    demux->current_iv = NULL;
-  }
 
-  gst_hls_demux_decrypt_end (demux);
+  gst_hls_demux_clear_all_pending_data (demux);
+  GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
 }
 
 static gchar *
@@ -832,6 +1138,163 @@
   return NULL;
 }
 
+static gint
+gst_hls_demux_find_variant_match (const GstHLSVariantStream * a,
+    const GstHLSVariantStream * b)
+{
+  if (g_strcmp0 (a->name, b->name) == 0 &&
+      a->bandwidth == b->bandwidth &&
+      a->program_id == b->program_id &&
+      g_strcmp0 (a->codecs, b->codecs) == 0 &&
+      a->width == b->width &&
+      a->height == b->height && a->iframe == b->iframe) {
+    return 0;
+  }
+
+  return 1;
+}
+
+/* Update the master playlist, which contains the list of available
+ * variants */
+static gboolean
+gst_hls_demux_update_variant_playlist (GstHLSDemux * hlsdemux, gchar * data,
+    const gchar * uri, const gchar * base_uri)
+{
+  GstHLSMasterPlaylist *new_master, *old;
+  gboolean ret = FALSE;
+  GList *l, *unmatched_lists;
+  GstHLSVariantStream *new_variant;
+
+  new_master = gst_hls_master_playlist_new_from_data (data, base_uri ? base_uri : uri); // FIXME: check which uri to use here
+
+  if (new_master == NULL)
+    return ret;
+
+  if (new_master->is_simple) {
+    // FIXME: we should be able to support this though, in the unlikely
+    // case that it changed?
+    GST_ERROR
+        ("Cannot update variant playlist: New playlist is not a variant playlist");
+    gst_hls_master_playlist_unref (new_master);
+    return FALSE;
+  }
+
+  GST_M3U8_CLIENT_LOCK (self);
+
+  if (hlsdemux->master->is_simple) {
+    GST_ERROR
+        ("Cannot update variant playlist: Current playlist is not a variant playlist");
+    goto out;
+  }
+
+  /* Now see if the variant playlist still has the same lists */
+  unmatched_lists = g_list_copy (hlsdemux->master->variants);
+  for (l = new_master->variants; l != NULL; l = l->next) {
+    GList *match = g_list_find_custom (unmatched_lists, l->data,
+        (GCompareFunc) gst_hls_demux_find_variant_match);
+
+    if (match) {
+      GstHLSVariantStream *variant = l->data;
+      GstHLSVariantStream *old = match->data;
+
+      unmatched_lists = g_list_delete_link (unmatched_lists, match);
+      /* FIXME: Deal with losing position due to missing an update */
+      variant->m3u8->sequence_position = old->m3u8->sequence_position;
+      variant->m3u8->sequence = old->m3u8->sequence;
+    }
+  }
+
+  if (unmatched_lists != NULL) {
+    GST_WARNING ("Unable to match all playlists");
+
+    for (l = unmatched_lists; l != NULL; l = l->next) {
+      if (l->data == hlsdemux->current_variant) {
+        GST_WARNING ("Unable to match current playlist");
+      }
+    }
+
+    g_list_free (unmatched_lists);
+  }
+
+  /* Switch out the variant playlist */
+  old = hlsdemux->master;
+
+  // FIXME: check all this and also switch of variants, if anything needs updating
+  hlsdemux->master = new_master;
+
+  if (hlsdemux->current_variant == NULL) {
+    new_variant = new_master->default_variant;
+  } else {
+    /* Find the same variant in the new playlist */
+    new_variant =
+        gst_hls_master_playlist_get_matching_variant (new_master,
+        hlsdemux->current_variant);
+  }
+
+  /* Use the function to set the current variant, as it copies over data */
+  if (new_variant != NULL)
+    gst_hls_demux_set_current_variant (hlsdemux, new_variant);
+
+  gst_hls_master_playlist_unref (old);
+
+  ret = (hlsdemux->current_variant != NULL);
+out:
+  GST_M3U8_CLIENT_UNLOCK (self);
+
+  return ret;
+}
+
+static gboolean
+gst_hls_demux_update_rendition_manifest (GstHLSDemux * demux,
+    GstHLSMedia * media, GError ** err)
+{
+  GstAdaptiveDemux *adaptive_demux = GST_ADAPTIVE_DEMUX (demux);
+  GstFragment *download;
+  GstBuffer *buf;
+  gchar *playlist;
+  const gchar *main_uri;
+  GstM3U8 *m3u8;
+  gchar *uri = media->uri;
+
+  main_uri = gst_adaptive_demux_get_manifest_ref_uri (adaptive_demux);
+  download =
+      gst_uri_downloader_fetch_uri (adaptive_demux->downloader, uri, main_uri,
+      TRUE, TRUE, TRUE, err);
+
+  if (download == NULL)
+    return FALSE;
+
+  m3u8 = media->playlist;
+
+  /* Set the base URI of the playlist to the redirect target if any */
+  if (download->redirect_permanent && download->redirect_uri) {
+    gst_m3u8_set_uri (m3u8, download->redirect_uri, NULL, media->name);
+  } else {
+    gst_m3u8_set_uri (m3u8, download->uri, download->redirect_uri, media->name);
+  }
+
+  buf = gst_fragment_get_buffer (download);
+  playlist = gst_hls_src_buf_to_utf8_playlist (buf);
+  gst_buffer_unref (buf);
+  g_object_unref (download);
+
+  if (playlist == NULL) {
+    GST_WARNING_OBJECT (demux, "Couldn't validate playlist encoding");
+    g_set_error (err, GST_STREAM_ERROR, GST_STREAM_ERROR_WRONG_TYPE,
+        "Couldn't validate playlist encoding");
+    return FALSE;
+  }
+
+  if (!gst_m3u8_update (m3u8, playlist)) {
+    GST_WARNING_OBJECT (demux, "Couldn't update playlist");
+    g_set_error (err, GST_STREAM_ERROR, GST_STREAM_ERROR_FAILED,
+        "Couldn't update playlist");
+    return FALSE;
+  }
+
+  return TRUE;
+}
+
 static gboolean
 gst_hls_demux_update_playlist (GstHLSDemux * demux, gboolean update,
     GError ** err)
@@ -840,34 +1303,32 @@
   GstFragment *download;
   GstBuffer *buf;
   gchar *playlist;
-  gboolean main_checked = FALSE, updated = FALSE;
-  gchar *uri, *main_uri;
+  gboolean main_checked = FALSE;
+  const gchar *main_uri;
+  GstM3U8 *m3u8;
+  gchar *uri;
+  gint i;
 
 retry:
-  uri = gst_m3u8_client_get_current_uri (demux->client);
-  main_uri = gst_m3u8_client_get_uri (demux->client);
+  uri = gst_m3u8_get_uri (demux->current_variant->m3u8);
+  main_uri = gst_adaptive_demux_get_manifest_ref_uri (adaptive_demux);
   download =
       gst_uri_downloader_fetch_uri (adaptive_demux->downloader, uri, main_uri,
       TRUE, TRUE, TRUE, err);
-  g_free (main_uri);
   if (download == NULL) {
     gchar *base_uri;
 
-    if (!update || main_checked
-        || !gst_m3u8_client_has_variant_playlist (demux->client)) {
+    if (!update || main_checked || demux->master->is_simple) {
       g_free (uri);
       return FALSE;
     }
-
     g_clear_error (err);
-    main_uri = gst_m3u8_client_get_uri (demux->client);
     GST_INFO_OBJECT (demux,
         "Updating playlist %s failed, attempt to refresh variant playlist %s",
         uri, main_uri);
     download =
         gst_uri_downloader_fetch_uri (adaptive_demux->downloader,
         main_uri, NULL, TRUE, TRUE, TRUE, err);
-    g_free (main_uri);
     if (download == NULL) {
       g_free (uri);
       return FALSE;
@@ -896,8 +1357,7 @@
       base_uri = download->redirect_uri;
     }
 
-    if (!gst_m3u8_client_update_variant_playlist (demux->client, playlist,
-            uri, base_uri)) {
+    if (!gst_hls_demux_update_variant_playlist (demux, playlist, uri, base_uri)) {
       GST_WARNING_OBJECT (demux, "Failed to update the variant playlist");
       g_object_unref (download);
       g_set_error (err, GST_STREAM_ERROR, GST_STREAM_ERROR_FAILED,
@@ -912,18 +1372,16 @@
   }
   g_free (uri);
 
+  m3u8 = demux->current_variant->m3u8;
+
   /* Set the base URI of the playlist to the redirect target if any */
-  GST_M3U8_CLIENT_LOCK (demux->client);
-  g_free (demux->client->current->uri);
-  g_free (demux->client->current->base_uri);
   if (download->redirect_permanent && download->redirect_uri) {
-    demux->client->current->uri = g_strdup (download->redirect_uri);
-    demux->client->current->base_uri = NULL;
+    gst_m3u8_set_uri (m3u8, download->redirect_uri, NULL,
+        demux->current_variant->name);
   } else {
-    demux->client->current->uri = g_strdup (download->uri);
-    demux->client->current->base_uri = g_strdup (download->redirect_uri);
+    gst_m3u8_set_uri (m3u8, download->uri, download->redirect_uri,
+        demux->current_variant->name);
   }
-  GST_M3U8_CLIENT_UNLOCK (demux->client);
 
   buf = gst_fragment_get_buffer (download);
   playlist = gst_hls_src_buf_to_utf8_playlist (buf);
@@ -937,41 +1395,61 @@
     return FALSE;
   }
 
-  updated = gst_m3u8_client_update (demux->client, playlist);
-  if (!updated) {
+  if (!gst_m3u8_update (m3u8, playlist)) {
     GST_WARNING_OBJECT (demux, "Couldn't update playlist");
     g_set_error (err, GST_STREAM_ERROR, GST_STREAM_ERROR_FAILED,
         "Couldn't update playlist");
     return FALSE;
   }
 
+  for (i = 0; i < GST_HLS_N_MEDIA_TYPES; ++i) {
+    GList *mlist = demux->current_variant->media[i];
+
+    while (mlist != NULL) {
+      GstHLSMedia *media = mlist->data;
+
+      if (media->uri == NULL) {
+        /* No uri means this is a placeholder for a stream
+         * contained in another mux */
+        mlist = mlist->next;
+        continue;
+      }
+      GST_LOG_OBJECT (demux,
+          "Updating playlist for media of type %d - %s, uri: %s", i,
+          media->name, media->uri);
+
+      if (!gst_hls_demux_update_rendition_manifest (demux, media, err))
+        return FALSE;
+
+      mlist = mlist->next;
+    }
+  }
+
   /* If it's a live source, do not let the sequence number go beyond
    * three fragments before the end of the list */
-  if (update == FALSE && demux->client->current &&
-      gst_m3u8_client_is_live (demux->client)) {
+  if (update == FALSE && gst_m3u8_is_live (m3u8)) {
     gint64 last_sequence, first_sequence;
 
     GST_M3U8_CLIENT_LOCK (demux->client);
     last_sequence =
-        GST_M3U8_MEDIA_FILE (g_list_last (demux->client->current->
-            files)->data)->sequence;
+        GST_M3U8_MEDIA_FILE (g_list_last (m3u8->files)->data)->sequence;
     first_sequence =
-        GST_M3U8_MEDIA_FILE (demux->client->current->files->data)->sequence;
+        GST_M3U8_MEDIA_FILE (g_list_first (m3u8->files)->data)->sequence;
 
     GST_DEBUG_OBJECT (demux,
         "sequence:%" G_GINT64_FORMAT " , first_sequence:%" G_GINT64_FORMAT
-        " , last_sequence:%" G_GINT64_FORMAT, demux->client->sequence,
+        " , last_sequence:%" G_GINT64_FORMAT, m3u8->sequence,
         first_sequence, last_sequence);
-    if (demux->client->sequence >= last_sequence - 3) {
+    if (m3u8->sequence >= last_sequence - 3) {
       //demux->need_segment = TRUE;
       /* Make sure we never go below the minimum sequence number */
-      demux->client->sequence = MAX (first_sequence, last_sequence - 3);
+      m3u8->sequence = MAX (first_sequence, last_sequence - 3);
       GST_DEBUG_OBJECT (demux,
           "Sequence is beyond playlist. Moving back to %" G_GINT64_FORMAT,
-          demux->client->sequence);
+          m3u8->sequence);
     }
     GST_M3U8_CLIENT_UNLOCK (demux->client);
-  } else if (demux->client->current && !gst_m3u8_client_is_live (demux->client)) {
+  } else if (!gst_m3u8_is_live (m3u8)) {
     GstClockTime current_pos, target_pos;
     guint sequence = 0;
     GList *walk;
@@ -990,15 +1468,15 @@
     } else {
       target_pos = 0;
     }
-    if (GST_CLOCK_TIME_IS_VALID (demux->client->sequence_position)) {
-      target_pos = MAX (target_pos, demux->client->sequence_position);
+    if (GST_CLOCK_TIME_IS_VALID (m3u8->sequence_position)) {
+      target_pos = MAX (target_pos, m3u8->sequence_position);
     }
 
     GST_LOG_OBJECT (demux, "Looking for sequence position %"
         GST_TIME_FORMAT " in updated playlist", GST_TIME_ARGS (target_pos));
 
     current_pos = 0;
-    for (walk = demux->client->current->files; walk; walk = walk->next) {
+    for (walk = m3u8->files; walk; walk = walk->next) {
       GstM3U8MediaFile *file = walk->data;
 
       sequence = file->sequence;
@@ -1011,19 +1489,20 @@
     /* End of playlist */
     if (!walk)
       sequence++;
-    demux->client->sequence = sequence;
-    demux->client->sequence_position = current_pos;
+    m3u8->sequence = sequence;
+    m3u8->sequence_position = current_pos;
     GST_M3U8_CLIENT_UNLOCK (demux->client);
   }
 
-  return updated;
+  return TRUE;
 }
 
 static gboolean
 gst_hls_demux_change_playlist (GstHLSDemux * demux, guint max_bitrate,
     gboolean * changed)
 {
-  GList *previous_variant, *current_variant;
+  GstHLSVariantStream *lowest_variant, *lowest_ivariant;
+  GstHLSVariantStream *previous_variant, *new_variant;
   gint old_bandwidth, new_bandwidth;
   GstAdaptiveDemux *adaptive_demux = GST_ADAPTIVE_DEMUX_CAST (demux);
   GstAdaptiveDemuxStream *stream;
@@ -1032,15 +1511,16 @@
 
   stream = adaptive_demux->streams->data;
 
-  previous_variant = demux->client->main->current_variant;
-  current_variant = gst_m3u8_client_get_playlist_for_bitrate (demux->client,
-      max_bitrate);
+  previous_variant = demux->current_variant;
+  new_variant =
+      gst_hls_master_playlist_get_variant_for_bitrate (demux->master,
+      demux->current_variant, max_bitrate);
 
   GST_M3U8_CLIENT_LOCK (demux->client);
 
 retry_failover_protection:
-  old_bandwidth = GST_M3U8 (previous_variant->data)->bandwidth;
-  new_bandwidth = GST_M3U8 (current_variant->data)->bandwidth;
+  old_bandwidth = previous_variant->bandwidth;
+  new_bandwidth = new_variant->bandwidth;
 
   /* Don't do anything else if the playlist is the same */
   if (new_bandwidth == old_bandwidth) {
@@ -1048,19 +1528,19 @@
     return TRUE;
   }
 
-  demux->client->main->current_variant = current_variant;
   GST_M3U8_CLIENT_UNLOCK (demux->client);
 
-  gst_m3u8_client_set_current (demux->client, current_variant->data);
+  gst_hls_demux_set_current_variant (demux, new_variant);
 
   GST_INFO_OBJECT (demux, "Client was on %dbps, max allowed is %dbps, switching"
       " to bitrate %dbps", old_bandwidth, max_bitrate, new_bandwidth);
 
   if (gst_hls_demux_update_playlist (demux, TRUE, NULL)) {
+    const gchar *main_uri;
     gchar *uri;
-    gchar *main_uri;
-    uri = gst_m3u8_client_get_current_uri (demux->client);
-    main_uri = gst_m3u8_client_get_uri (demux->client);
+
+    uri = gst_m3u8_get_uri (new_variant->m3u8);
+    main_uri = gst_adaptive_demux_get_manifest_ref_uri (adaptive_demux);
     gst_element_post_message (GST_ELEMENT_CAST (demux),
         gst_message_new_element (GST_OBJECT_CAST (demux),
             gst_structure_new (GST_ADAPTIVE_DEMUX_STATISTICS_MESSAGE_NAME,
@@ -1068,58 +1548,60 @@
                 main_uri, "uri", G_TYPE_STRING,
                 uri, "bitrate", G_TYPE_INT, new_bandwidth, NULL)));
     g_free (uri);
-    g_free (main_uri);
     if (changed)
       *changed = TRUE;
     stream->discont = TRUE;
   } else {
-    GList *failover = NULL;
+    GstHLSVariantStream *failover_variant = NULL;
+    GList *failover;
 
     GST_INFO_OBJECT (demux, "Unable to update playlist. Switching back");
     GST_M3U8_CLIENT_LOCK (demux->client);
 
-    failover = g_list_previous (current_variant);
-    if (failover && new_bandwidth == GST_M3U8 (failover->data)->bandwidth) {
-      current_variant = failover;
+    /* we find variants by bitrate by going from highest to lowest, so it's
+     * possible that there's another variant with the same bitrate before the
+     * one selected which we can use as failover */
+    failover = g_list_find (demux->master->variants, new_variant);
+    if (failover != NULL)
+      failover = failover->prev;
+    if (failover != NULL)
+      failover_variant = failover->data;
+    if (failover_variant && new_bandwidth == failover_variant->bandwidth) {
+      new_variant = failover_variant;
       goto retry_failover_protection;
     }
 
-    demux->client->main->current_variant = previous_variant;
     GST_M3U8_CLIENT_UNLOCK (demux->client);
-    gst_m3u8_client_set_current (demux->client, previous_variant->data);
+    gst_hls_demux_set_current_variant (demux, previous_variant);
     /*  Try a lower bitrate (or stop if we just tried the lowest) */
-    if (GST_M3U8 (previous_variant->data)->iframe && new_bandwidth ==
-        GST_M3U8 (g_list_first (demux->client->main->iframe_lists)->data)->
-        bandwidth)
+    lowest_variant = demux->master->variants->data;
+    lowest_ivariant = demux->master->iframe_variants->data;
+    if (previous_variant->iframe && new_bandwidth == lowest_ivariant->bandwidth)
       return FALSE;
-    else if (!GST_M3U8 (previous_variant->data)->iframe && new_bandwidth ==
-        GST_M3U8 (g_list_first (demux->client->main->lists)->data)->bandwidth)
+    if (!previous_variant->iframe && new_bandwidth == lowest_variant->bandwidth)
       return FALSE;
     else
       return gst_hls_demux_change_playlist (demux, new_bandwidth - 1, changed);
   }
 
-  /* Force typefinding since we might have changed media type */
-  demux->do_typefind = TRUE;
-
   return TRUE;
 }
 
 #if defined(HAVE_OPENSSL)
 static gboolean
-gst_hls_demux_decrypt_start (GstHLSDemux * demux, const guint8 * key_data,
-    const guint8 * iv_data)
+gst_hls_demux_stream_decrypt_start (GstHLSDemuxStream * stream,
+    const guint8 * key_data, const guint8 * iv_data)
 {
-  EVP_CIPHER_CTX_init (&demux->aes_ctx);
-  if (!EVP_DecryptInit_ex (&demux->aes_ctx, EVP_aes_128_cbc (), NULL, key_data,
+  EVP_CIPHER_CTX_init (&stream->aes_ctx);
+  if (!EVP_DecryptInit_ex (&stream->aes_ctx, EVP_aes_128_cbc (), NULL, key_data,
           iv_data))
     return FALSE;
-  EVP_CIPHER_CTX_set_padding (&demux->aes_ctx, 0);
+  EVP_CIPHER_CTX_set_padding (&stream->aes_ctx, 0);
   return TRUE;
 }
 
 static gboolean
-decrypt_fragment (GstHLSDemux * demux, gsize length,
+decrypt_fragment (GstHLSDemuxStream * stream, gsize length,
     const guint8 * encrypted_data, guint8 * decrypted_data)
 {
   int len, flen = 0;
@@ -1128,102 +1610,102 @@
     return FALSE;
 
   len = (int) length;
-  if (!EVP_DecryptUpdate (&demux->aes_ctx, decrypted_data, &len, encrypted_data,
-          len))
+  if (!EVP_DecryptUpdate (&stream->aes_ctx, decrypted_data, &len,
+          encrypted_data, len))
     return FALSE;
-  EVP_DecryptFinal_ex (&demux->aes_ctx, decrypted_data + len, &flen);
+  EVP_DecryptFinal_ex (&stream->aes_ctx, decrypted_data + len, &flen);
   g_return_val_if_fail (len + flen == length, FALSE);
   return TRUE;
 }
 
 static void
-gst_hls_demux_decrypt_end (GstHLSDemux * demux)
+gst_hls_demux_stream_decrypt_end (GstHLSDemuxStream * stream)
 {
-  EVP_CIPHER_CTX_cleanup (&demux->aes_ctx);
+  EVP_CIPHER_CTX_cleanup (&stream->aes_ctx);
 }
 
 #elif defined(HAVE_NETTLE)
 static gboolean
-gst_hls_demux_decrypt_start (GstHLSDemux * demux, const guint8 * key_data,
-    const guint8 * iv_data)
+gst_hls_demux_stream_decrypt_start (GstHLSDemuxStream * stream,
+    const guint8 * key_data, const guint8 * iv_data)
 {
-  aes_set_decrypt_key (&demux->aes_ctx.ctx, 16, key_data);
-  CBC_SET_IV (&demux->aes_ctx, iv_data);
+  aes_set_decrypt_key (&stream->aes_ctx.ctx, 16, key_data);
+  CBC_SET_IV (&stream->aes_ctx, iv_data);
 
   return TRUE;
 }
 
 static gboolean
-decrypt_fragment (GstHLSDemux * demux, gsize length,
+decrypt_fragment (GstHLSDemuxStream * stream, gsize length,
     const guint8 * encrypted_data, guint8 * decrypted_data)
 {
   if (length % 16 != 0)
     return FALSE;
 
-  CBC_DECRYPT (&demux->aes_ctx, aes_decrypt, length, decrypted_data,
+  CBC_DECRYPT (&stream->aes_ctx, aes_decrypt, length, decrypted_data,
       encrypted_data);
 
   return TRUE;
 }
 
 static void
-gst_hls_demux_decrypt_end (GstHLSDemux * demux)
+gst_hls_demux_stream_decrypt_end (GstHLSDemuxStream * stream)
 {
   /* NOP */
 }
 
 #else
 static gboolean
-gst_hls_demux_decrypt_start (GstHLSDemux * demux, const guint8 * key_data,
-    const guint8 * iv_data)
+gst_hls_demux_stream_decrypt_start (GstHLSDemuxStream * stream,
+    const guint8 * key_data, const guint8 * iv_data)
 {
   gcry_error_t err = 0;
   gboolean ret = FALSE;
 
   err =
-      gcry_cipher_open (&demux->aes_ctx, GCRY_CIPHER_AES128,
+      gcry_cipher_open (&stream->aes_ctx, GCRY_CIPHER_AES128,
       GCRY_CIPHER_MODE_CBC, 0);
   if (err)
     goto out;
-  err = gcry_cipher_setkey (demux->aes_ctx, key_data, 16);
+  err = gcry_cipher_setkey (stream->aes_ctx, key_data, 16);
   if (err)
     goto out;
-  err = gcry_cipher_setiv (demux->aes_ctx, iv_data, 16);
+  err = gcry_cipher_setiv (stream->aes_ctx, iv_data, 16);
   if (!err)
     ret = TRUE;
 
 out:
   if (!ret)
-    if (demux->aes_ctx)
-      gcry_cipher_close (demux->aes_ctx);
+    if (stream->aes_ctx)
+      gcry_cipher_close (stream->aes_ctx);
 
   return ret;
 }
 
 static gboolean
-decrypt_fragment (GstHLSDemux * demux, gsize length,
+decrypt_fragment (GstHLSDemuxStream * stream, gsize length,
     const guint8 * encrypted_data, guint8 * decrypted_data)
 {
   gcry_error_t err = 0;
 
-  err = gcry_cipher_decrypt (demux->aes_ctx, decrypted_data, length,
+  err = gcry_cipher_decrypt (stream->aes_ctx, decrypted_data, length,
       encrypted_data, length);
 
   return err == 0;
 }
 
 static void
-gst_hls_demux_decrypt_end (GstHLSDemux * demux)
+gst_hls_demux_stream_decrypt_end (GstHLSDemuxStream * stream)
 {
-  if (demux->aes_ctx) {
-    gcry_cipher_close (demux->aes_ctx);
-    demux->aes_ctx = NULL;
+  if (stream->aes_ctx) {
+    gcry_cipher_close (stream->aes_ctx);
+    stream->aes_ctx = NULL;
   }
 }
 #endif
 
 static GstBuffer *
-gst_hls_demux_decrypt_fragment (GstHLSDemux * demux,
+gst_hls_demux_decrypt_fragment (GstHLSDemux * demux, GstHLSDemuxStream * stream,
     GstBuffer * encrypted_buffer, GError ** err)
 {
   GstBuffer *decrypted_buffer = NULL;
@@ -1236,7 +1718,7 @@
   gst_buffer_map (encrypted_buffer, &encrypted_info, GST_MAP_READ);
   gst_buffer_map (decrypted_buffer, &decrypted_info, GST_MAP_WRITE);
 
-  if (!decrypt_fragment (demux, encrypted_info.size,
+  if (!decrypt_fragment (stream, encrypted_info.size,
           encrypted_info.data, decrypted_info.data))
     goto decrypt_error;
 
@@ -1266,9 +1748,16 @@
 gst_hls_demux_get_manifest_update_interval (GstAdaptiveDemux * demux)
 {
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
+  GstClockTime target_duration;
 
-  return gst_util_uint64_scale (gst_m3u8_client_get_target_duration
-      (hlsdemux->client), G_USEC_PER_SEC, GST_SECOND);
+  if (hlsdemux->current_variant) {
+    target_duration =
+        gst_m3u8_get_target_duration (hlsdemux->current_variant->m3u8);
+  } else {
+    target_duration = 5 * GST_SECOND;
+  }
+
+  return gst_util_uint64_scale (target_duration, G_USEC_PER_SEC, GST_SECOND);
 }
 
 static gboolean
@@ -1276,6 +1765,12 @@
     gint64 * stop)
 {
   GstHLSDemux *hlsdemux = GST_HLS_DEMUX_CAST (demux);
+  gboolean ret = FALSE;
 
-  return gst_m3u8_client_get_seek_range (hlsdemux->client, start, stop);
+  if (hlsdemux->current_variant) {
+    ret =
+        gst_m3u8_get_seek_range (hlsdemux->current_variant->m3u8, start, stop);
+  }
+
+  return ret;
 }
diff --git a/ext/hls/gsthlsdemux.h b/ext/hls/gsthlsdemux.h
index f0c530e..3b6a4c0 100644
--- a/ext/hls/gsthlsdemux.h
+++ b/ext/hls/gsthlsdemux.h
@@ -1,6 +1,7 @@
 /* GStreamer
  * Copyright (C) 2010 Marc-Andre Lureau <marcandre.lureau@gmail.com>
  * Copyright (C) 2010 Andoni Morales Alastruey <ylatuya@gmail.com>
+ * Copyright (C) 2015 Tim-Philipp Müller <tim@centricular.com>
  *
  * gsthlsdemux.h:
  *
@@ -38,6 +39,7 @@
 #endif
 
 G_BEGIN_DECLS
+
 #define GST_TYPE_HLS_DEMUX \
   (gst_hls_demux_get_type())
 #define GST_HLS_DEMUX(obj) \
@@ -52,8 +54,74 @@
   (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_HLS_DEMUX,GstHLSDemuxClass))
 #define GST_HLS_DEMUX_CAST(obj) \
   ((GstHLSDemux *)obj)
+
 typedef struct _GstHLSDemux GstHLSDemux;
 typedef struct _GstHLSDemuxClass GstHLSDemuxClass;
+typedef struct _GstHLSDemuxStream GstHLSDemuxStream;
+typedef struct _GstHLSTSReader GstHLSTSReader;
+
+#define GST_HLS_DEMUX_STREAM_CAST(stream) ((GstHLSDemuxStream *)(stream))
+
+typedef enum {
+  GST_HLS_TSREADER_NONE,
+  GST_HLS_TSREADER_MPEGTS,
+  GST_HLS_TSREADER_ID3
+} GstHLSTSReaderType;
+
+struct _GstHLSTSReader
+{
+  GstHLSTSReaderType rtype;
+  gboolean have_id3;
+
+  gint packet_size;
+  gint pmt_pid;
+  gint pcr_pid;
+
+  GstClockTime last_pcr;
+  GstClockTime first_pcr;
+};
+
+struct _GstHLSDemuxStream
+{
+  GstAdaptiveDemux adaptive_demux_stream;
+
+  GstHLSTSReaderType stream_type;
+
+  GstM3U8 *playlist;
+  gboolean is_primary_playlist;
+
+  gboolean do_typefind;         /* Whether we need to typefind the next buffer */
+  GstBuffer *pending_typefind_buffer; /* for collecting data until typefind succeeds */
+
+  GstAdapter *pending_encrypted_data;  /* for chunking data into 16 byte multiples for decryption */
+  GstBuffer *pending_decrypted_buffer; /* last decrypted buffer for pkcs7 unpadding.
+                                          We only know that it is the last at EOS */
+  guint64 current_offset;              /* offset we're currently at */
+  gboolean reset_pts;
+
+  /* decryption tooling */
+#if defined(HAVE_OPENSSL)
+  EVP_CIPHER_CTX aes_ctx;
+#elif defined(HAVE_NETTLE)
+  struct CBC_CTX (struct aes_ctx, AES_BLOCK_SIZE) aes_ctx;
+#else
+  gcry_cipher_hd_t aes_ctx;
+#endif
+
+  gchar     *current_key;
+  guint8    *current_iv;
+
+  /* Accumulator for reading PAT/PMT/PCR from
+   * the stream so we can set timestamps/segments
+   * and switch cleanly */
+  GstBuffer *pending_pcr_buffer;
+
+  GstHLSTSReader tsreader;
+};
+
+typedef struct {
+  guint8 data[16];
+} GstHLSKey;
 
 /**
  * GstHLSDemux:
@@ -66,30 +134,15 @@
 
   gint srcpad_counter;
 
-  gchar *uri;                   /* Original playlist URI */
-  GstM3U8Client *client;        /* M3U8 client */
-  gboolean do_typefind;         /* Whether we need to typefind the next buffer */
+  /* Decryption key cache: url => GstHLSKey */
+  GHashTable *keys;
+  GMutex      keys_lock;
 
-  /* Cache for the last key */
-  gchar *key_url;
-  GstFragment *key_fragment;
+  /* FIXME: check locking, protected automatically by manifest_lock already? */
+  /* The master playlist with the available variant streams */
+  GstHLSMasterPlaylist *master;
 
-  /* decryption tooling */
-#if defined(HAVE_OPENSSL)
-  EVP_CIPHER_CTX aes_ctx;
-#elif defined(HAVE_NETTLE)
-  struct CBC_CTX (struct aes_ctx, AES_BLOCK_SIZE) aes_ctx;
-#else
-  gcry_cipher_hd_t aes_ctx;
-#endif
-  gchar *current_key;
-  guint8 *current_iv;
-  GstAdapter *pending_encrypted_data;  /* for chunking data into 16 byte multiples for decryption */
-  GstBuffer *pending_decrypted_buffer; /* last decrypted buffer for pkcs7 unpadding.
-                                          We only know that it is the last at EOS */
-  GstBuffer *pending_typefind_buffer;  /* for collecting data until typefind succeeds */
-  guint64 current_offset;              /* offset we're currently at */
-  gboolean reset_pts;
+  GstHLSVariantStream  *current_variant;
 };
 
 struct _GstHLSDemuxClass
@@ -97,6 +150,13 @@
   GstAdaptiveDemuxClass parent_class;
 };
 
+
+void gst_hlsdemux_tsreader_init (GstHLSTSReader *r);
+void gst_hlsdemux_tsreader_set_type (GstHLSTSReader *r, GstHLSTSReaderType rtype);
+
+gboolean gst_hlsdemux_tsreader_find_pcrs (GstHLSTSReader *r, GstBuffer *buffer,
+    GstClockTime *first_pcr, GstClockTime *last_pcr);
+
 GType gst_hls_demux_get_type (void);
 
 G_END_DECLS
diff --git a/ext/hls/m3u8.c b/ext/hls/m3u8.c
index df267f7..bdb4acf 100644
--- a/ext/hls/m3u8.c
+++ b/ext/hls/m3u8.c
@@ -1,5 +1,6 @@
 /* GStreamer
  * Copyright (C) 2010 Marc-Andre Lureau <marcandre.lureau@gmail.com>
+ * Copyright (C) 2015 Tim-Philipp Müller <tim@centricular.com>
  *
  * m3u8.c:
  *
@@ -30,60 +31,85 @@
 
 #define GST_CAT_DEFAULT hls_debug
 
-static GstM3U8 *gst_m3u8_new (void);
-static void gst_m3u8_free (GstM3U8 * m3u8);
-static gboolean gst_m3u8_update (GstM3U8Client * client, GstM3U8 * m3u8,
-    gchar * data, gboolean * updated);
 static GstM3U8MediaFile *gst_m3u8_media_file_new (gchar * uri,
     gchar * title, GstClockTime duration, guint sequence);
-static void gst_m3u8_media_file_free (GstM3U8MediaFile * self);
 gchar *uri_join (const gchar * uri, const gchar * path);
 
-static GstM3U8 *
+GstM3U8 *
 gst_m3u8_new (void)
 {
   GstM3U8 *m3u8;
 
   m3u8 = g_new0 (GstM3U8, 1);
 
+  m3u8->current_file = NULL;
+  m3u8->current_file_duration = GST_CLOCK_TIME_NONE;
+  m3u8->sequence = -1;
+  m3u8->sequence_position = 0;
+  m3u8->highest_sequence_number = -1;
+  m3u8->duration = GST_CLOCK_TIME_NONE;
+
+  g_mutex_init (&m3u8->lock);
+  m3u8->ref_count = 1;
+
   return m3u8;
 }
 
+/* call with M3U8_LOCK held */
 static void
-gst_m3u8_set_uri (GstM3U8 * self, gchar * uri, gchar * base_uri, gchar * name)
+gst_m3u8_take_uri (GstM3U8 * self, gchar * uri, gchar * base_uri, gchar * name)
 {
   g_return_if_fail (self != NULL);
 
-  g_free (self->uri);
-  self->uri = uri;
-
-  g_free (self->base_uri);
-  self->base_uri = base_uri;
-
-  g_free (self->name);
-  self->name = name;
+  if (self->uri != uri) {
+    g_free (self->uri);
+    self->uri = uri;
+  }
+  if (self->base_uri != base_uri) {
+    g_free (self->base_uri);
+    self->base_uri = base_uri;
+  }
+  if (self->name != name) {
+    g_free (self->name);
+    self->name = name;
+  }
 }
 
-static void
-gst_m3u8_free (GstM3U8 * self)
+void
+gst_m3u8_set_uri (GstM3U8 * m3u8, const gchar * uri, const gchar * base_uri,
+    const gchar * name)
 {
-  g_return_if_fail (self != NULL);
+  GST_M3U8_LOCK (m3u8);
+  gst_m3u8_take_uri (m3u8, g_strdup (uri), g_strdup (base_uri),
+      g_strdup (name));
+  GST_M3U8_UNLOCK (m3u8);
+}
 
-  g_free (self->uri);
-  g_free (self->base_uri);
-  g_free (self->name);
-  g_free (self->codecs);
+GstM3U8 *
+gst_m3u8_ref (GstM3U8 * m3u8)
+{
+  g_assert (m3u8 != NULL && m3u8->ref_count > 0);
 
-  g_list_foreach (self->files, (GFunc) gst_m3u8_media_file_free, NULL);
-  g_list_free (self->files);
+  g_atomic_int_add (&m3u8->ref_count, 1);
+  return m3u8;
+}
 
-  g_free (self->last_data);
-  g_list_foreach (self->lists, (GFunc) gst_m3u8_free, NULL);
-  g_list_free (self->lists);
-  g_list_foreach (self->iframe_lists, (GFunc) gst_m3u8_free, NULL);
-  g_list_free (self->iframe_lists);
+void
+gst_m3u8_unref (GstM3U8 * self)
+{
+  g_return_if_fail (self != NULL && self->ref_count > 0);
 
-  g_free (self);
+  if (g_atomic_int_dec_and_test (&self->ref_count)) {
+    g_free (self->uri);
+    g_free (self->base_uri);
+    g_free (self->name);
+
+    g_list_foreach (self->files, (GFunc) gst_m3u8_media_file_unref, NULL);
+    g_list_free (self->files);
+
+    g_free (self->last_data);
+    g_free (self);
+  }
 }
 
 static GstM3U8MediaFile *
@@ -97,19 +123,31 @@
   file->title = title;
   file->duration = duration;
   file->sequence = sequence;
+  file->ref_count = 1;
 
   return file;
 }
 
-static void
-gst_m3u8_media_file_free (GstM3U8MediaFile * self)
+GstM3U8MediaFile *
+gst_m3u8_media_file_ref (GstM3U8MediaFile * mfile)
 {
-  g_return_if_fail (self != NULL);
+  g_assert (mfile != NULL && mfile->ref_count > 0);
 
-  g_free (self->title);
-  g_free (self->uri);
-  g_free (self->key);
-  g_free (self);
+  g_atomic_int_add (&mfile->ref_count, 1);
+  return mfile;
+}
+
+void
+gst_m3u8_media_file_unref (GstM3U8MediaFile * self)
+{
+  g_return_if_fail (self != NULL && self->ref_count > 0);
+
+  if (g_atomic_int_dec_and_test (&self->ref_count)) {
+    g_free (self->title);
+    g_free (self->uri);
+    g_free (self->key);
+    g_free (self);
+  }
 }
 
 static gboolean
@@ -257,32 +295,27 @@
 }
 
 static gint
-_m3u8_compare_uri (GstM3U8 * a, gchar * uri)
+gst_hls_variant_stream_compare_by_bitrate (gconstpointer a, gconstpointer b)
 {
-  g_return_val_if_fail (a != NULL, 0);
-  g_return_val_if_fail (uri != NULL, 0);
+  const GstHLSVariantStream *vs_a = (const GstHLSVariantStream *) a;
+  const GstHLSVariantStream *vs_b = (const GstHLSVariantStream *) b;
 
-  return g_strcmp0 (a->uri, uri);
-}
+  if (vs_a->bandwidth == vs_b->bandwidth)
+    return g_strcmp0 (vs_a->name, vs_b->name);
 
-static gint
-gst_m3u8_compare_playlist_by_bitrate (gconstpointer a, gconstpointer b)
-{
-  return ((GstM3U8 *) (a))->bandwidth - ((GstM3U8 *) (b))->bandwidth;
+  return vs_a->bandwidth - vs_b->bandwidth;
 }
 
 /*
  * @data: a m3u8 playlist text data, taking ownership
  */
-static gboolean
-gst_m3u8_update (GstM3U8Client * client, GstM3U8 * self, gchar * data,
-    gboolean * updated)
+gboolean
+gst_m3u8_update (GstM3U8 * self, gchar * data)
 {
   gint val;
   GstClockTime duration;
   gchar *title, *end;
   gboolean discontinuity = FALSE;
-  GstM3U8 *list;
   gchar *current_key = NULL;
   gboolean have_iv = FALSE;
   guint8 iv[16] = { 0, };
@@ -291,22 +324,27 @@
 
   g_return_val_if_fail (self != NULL, FALSE);
   g_return_val_if_fail (data != NULL, FALSE);
-  g_return_val_if_fail (updated != NULL, FALSE);
 
-  *updated = TRUE;
+  GST_M3U8_LOCK (self);
 
   /* check if the data changed since last update */
   if (self->last_data && g_str_equal (self->last_data, data)) {
     GST_DEBUG ("Playlist is the same as previous one");
-    *updated = FALSE;
     g_free (data);
+    GST_M3U8_UNLOCK (self);
     return TRUE;
   }
 
   if (!g_str_has_prefix (data, "#EXTM3U")) {
     GST_WARNING ("Data doesn't start with #EXTM3U");
-    *updated = FALSE;
     g_free (data);
+    GST_M3U8_UNLOCK (self);
+    return FALSE;
+  }
+
+  if (g_strrstr (data, "\n#EXT-X-STREAM-INF:") != NULL) {
+    GST_WARNING ("Not a media playlist, but a master playlist!");
+    GST_M3U8_UNLOCK (self);
     return FALSE;
   }
 
@@ -315,19 +353,18 @@
   g_free (self->last_data);
   self->last_data = data;
 
-  client->current_file = NULL;
+  self->current_file = NULL;
   if (self->files) {
-    g_list_foreach (self->files, (GFunc) gst_m3u8_media_file_free, NULL);
+    g_list_foreach (self->files, (GFunc) gst_m3u8_media_file_unref, NULL);
     g_list_free (self->files);
     self->files = NULL;
   }
-  client->duration = GST_CLOCK_TIME_NONE;
+  self->duration = GST_CLOCK_TIME_NONE;
   mediasequence = 0;
 
   /* By default, allow caching */
   self->allowcache = TRUE;
 
-  list = NULL;
   duration = 0;
   title = NULL;
   data += 7;
@@ -343,28 +380,13 @@
       *r = '\0';
 
     if (data[0] != '#' && data[0] != '\0') {
-      gchar *name = data;
-      if (duration <= 0 && list == NULL) {
-        GST_LOG ("%s: got line without EXTINF or EXTSTREAMINF, dropping", data);
+      if (duration <= 0) {
+        GST_LOG ("%s: got line without EXTINF, dropping", data);
         goto next_line;
       }
 
       data = uri_join (self->base_uri ? self->base_uri : self->uri, data);
-      if (data == NULL)
-        goto next_line;
-
-      if (list != NULL) {
-        if (g_list_find_custom (self->lists, data,
-                (GCompareFunc) _m3u8_compare_uri)) {
-          GST_DEBUG ("Already have a list with this URI");
-          gst_m3u8_free (list);
-          g_free (data);
-        } else {
-          gst_m3u8_set_uri (list, data, NULL, g_strdup (name));
-          self->lists = g_list_append (self->lists, list);
-        }
-        list = NULL;
-      } else {
+      if (data != NULL) {
         GstM3U8MediaFile *file;
         file = gst_m3u8_media_file_new (data, title, duration, mediasequence++);
 
@@ -435,62 +457,6 @@
       } else if (g_str_has_prefix (data_ext_x, "VERSION:")) {
         if (int_from_string (data + 15, &data, &val))
           self->version = val;
-      } else if (g_str_has_prefix (data_ext_x, "STREAM-INF:") ||
-          g_str_has_prefix (data_ext_x, "I-FRAME-STREAM-INF:")) {
-        gchar *v, *a;
-        gboolean iframe = g_str_has_prefix (data_ext_x, "I-FRAME-STREAM-INF:");
-        GstM3U8 *new_list;
-
-        new_list = gst_m3u8_new ();
-        new_list->iframe = iframe;
-        data = data + (iframe ? 26 : 18);
-        while (data && parse_attributes (&data, &a, &v)) {
-          if (g_str_equal (a, "BANDWIDTH")) {
-            if (!int_from_string (v, NULL, &new_list->bandwidth))
-              GST_WARNING ("Error while reading BANDWIDTH");
-          } else if (g_str_equal (a, "PROGRAM-ID")) {
-            if (!int_from_string (v, NULL, &new_list->program_id))
-              GST_WARNING ("Error while reading PROGRAM-ID");
-          } else if (g_str_equal (a, "CODECS")) {
-            g_free (new_list->codecs);
-            new_list->codecs = g_strdup (v);
-          } else if (g_str_equal (a, "RESOLUTION")) {
-            if (!int_from_string (v, &v, &new_list->width))
-              GST_WARNING ("Error while reading RESOLUTION width");
-            if (!v || *v != 'x') {
-              GST_WARNING ("Missing height");
-            } else {
-              v = g_utf8_next_char (v);
-              if (!int_from_string (v, NULL, &new_list->height))
-                GST_WARNING ("Error while reading RESOLUTION height");
-            }
-          } else if (iframe && g_str_equal (a, "URI")) {
-            gchar *name;
-            gchar *uri;
-
-            uri = uri_join (self->base_uri ? self->base_uri : self->uri, v);
-            if (uri) {
-              name = g_strdup (uri);
-              gst_m3u8_set_uri (new_list, uri, NULL, name);
-            }
-          }
-        }
-
-        if (iframe) {
-          if (g_list_find_custom (self->iframe_lists, new_list->uri,
-                  (GCompareFunc) _m3u8_compare_uri)) {
-            GST_DEBUG ("Already have a list with this URI");
-            gst_m3u8_free (new_list);
-          } else {
-            self->iframe_lists = g_list_append (self->iframe_lists, new_list);
-          }
-        } else {
-          if (list != NULL) {
-            GST_WARNING ("Found a list without a uri..., dropping");
-            gst_m3u8_free (list);
-          }
-          list = new_list;
-        }
       } else if (g_str_has_prefix (data_ext_x, "TARGETDURATION:")) {
         if (int_from_string (data + 22, &data, &val))
           self->targetduration = val * GST_SECOND;
@@ -579,38 +545,16 @@
   g_free (current_key);
   current_key = NULL;
 
+  if (self->files == NULL) {
+    GST_ERROR ("Invalid media playlist, it does not contain any media files");
+    GST_M3U8_UNLOCK (self);
+    return FALSE;
+  }
+
   self->files = g_list_reverse (self->files);
 
-  /* reorder playlists by bitrate */
-  if (self->lists) {
-    gchar *top_variant_uri = NULL;
-    gboolean iframe = FALSE;
-
-    if (!self->current_variant) {
-      top_variant_uri = GST_M3U8 (self->lists->data)->uri;
-    } else {
-      top_variant_uri = GST_M3U8 (self->current_variant->data)->uri;
-      iframe = GST_M3U8 (self->current_variant->data)->iframe;
-    }
-
-    self->lists =
-        g_list_sort (self->lists,
-        (GCompareFunc) gst_m3u8_compare_playlist_by_bitrate);
-
-    self->iframe_lists =
-        g_list_sort (self->iframe_lists,
-        (GCompareFunc) gst_m3u8_compare_playlist_by_bitrate);
-
-    if (iframe)
-      self->current_variant =
-          g_list_find_custom (self->iframe_lists, top_variant_uri,
-          (GCompareFunc) _m3u8_compare_uri);
-    else
-      self->current_variant = g_list_find_custom (self->lists, top_variant_uri,
-          (GCompareFunc) _m3u8_compare_uri);
-  }
   /* calculate the start and end times of this media playlist. */
-  if (self->files) {
+  {
     GList *walk;
     GstM3U8MediaFile *file;
     GstClockTime duration = 0;
@@ -618,231 +562,75 @@
     for (walk = self->files; walk; walk = walk->next) {
       file = walk->data;
       duration += file->duration;
-      if (file->sequence > client->highest_sequence_number) {
-        if (client->highest_sequence_number >= 0) {
+      if (file->sequence > self->highest_sequence_number) {
+        if (self->highest_sequence_number >= 0) {
           /* if an update of the media playlist has been missed, there
              will be a gap between self->highest_sequence_number and the
              first sequence number in this media playlist. In this situation
              assume that the missing fragments had a duration of
              targetduration each */
-          client->last_file_end +=
-              (file->sequence - client->highest_sequence_number -
+          self->last_file_end +=
+              (file->sequence - self->highest_sequence_number -
               1) * self->targetduration;
         }
-        client->last_file_end += file->duration;
-        client->highest_sequence_number = file->sequence;
+        self->last_file_end += file->duration;
+        self->highest_sequence_number = file->sequence;
       }
     }
-    if (GST_M3U8_CLIENT_IS_LIVE (client)) {
-      client->first_file_start = client->last_file_end - duration;
+    if (GST_M3U8_IS_LIVE (self)) {
+      self->first_file_start = self->last_file_end - duration;
       GST_DEBUG ("Live playlist range %" GST_TIME_FORMAT " -> %"
-          GST_TIME_FORMAT, GST_TIME_ARGS (client->first_file_start),
-          GST_TIME_ARGS (client->last_file_end));
+          GST_TIME_FORMAT, GST_TIME_ARGS (self->first_file_start),
+          GST_TIME_ARGS (self->last_file_end));
     }
-    client->duration = duration;
+    self->duration = duration;
   }
 
+  /* first-time setup */
+  if (self->files && self->sequence == -1) {
+    GList *file;
+
+    if (GST_M3U8_IS_LIVE (self)) {
+      gint i;
+
+      file = g_list_last (self->files);
+
+      /* for live streams, start GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE from
+       * the end of the playlist. See section 6.3.3 of HLS draft. Note
+       * the -1, because GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE = 1 means
+       * start 1 target-duration from the end */
+      for (i = 0; i < GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE - 1 && file->prev;
+          ++i)
+        file = file->prev;
+    } else {
+      file = g_list_first (self->files);
+    }
+    self->current_file = file;
+    self->sequence = GST_M3U8_MEDIA_FILE (file->data)->sequence;
+    self->sequence_position = 0;
+    GST_DEBUG ("first sequence: %u", (guint) self->sequence);
+  }
+
+  GST_LOG ("processed media playlist %s, %u fragments", self->name,
+      g_list_length (self->files));
+
+  GST_M3U8_UNLOCK (self);
+
   return TRUE;
 }
 
-GstM3U8Client *
-gst_m3u8_client_new (const gchar * uri, const gchar * base_uri)
-{
-  GstM3U8Client *client;
-
-  g_return_val_if_fail (uri != NULL, NULL);
-
-  client = g_new0 (GstM3U8Client, 1);
-  client->main = gst_m3u8_new ();
-  client->current = NULL;
-  client->current_file = NULL;
-  client->current_file_duration = GST_CLOCK_TIME_NONE;
-  client->sequence = -1;
-  client->sequence_position = 0;
-  client->highest_sequence_number = -1;
-  client->duration = GST_CLOCK_TIME_NONE;
-  g_mutex_init (&client->lock);
-  gst_m3u8_set_uri (client->main, g_strdup (uri), g_strdup (base_uri), NULL);
-
-  return client;
-}
-
-void
-gst_m3u8_client_free (GstM3U8Client * self)
-{
-  g_return_if_fail (self != NULL);
-
-  gst_m3u8_free (self->main);
-  g_mutex_clear (&self->lock);
-  g_free (self);
-}
-
-void
-gst_m3u8_client_set_current (GstM3U8Client * self, GstM3U8 * m3u8)
-{
-  g_return_if_fail (self != NULL);
-
-  GST_M3U8_CLIENT_LOCK (self);
-  if (m3u8 != self->current) {
-    self->current = m3u8;
-    self->duration = GST_CLOCK_TIME_NONE;
-    self->current_file = NULL;
-  }
-  GST_M3U8_CLIENT_UNLOCK (self);
-}
-
-gboolean
-gst_m3u8_client_update (GstM3U8Client * self, gchar * data)
-{
-  GstM3U8 *m3u8;
-  gboolean updated = FALSE;
-  gboolean ret = FALSE;
-
-  g_return_val_if_fail (self != NULL, FALSE);
-
-  GST_M3U8_CLIENT_LOCK (self);
-  m3u8 = self->current ? self->current : self->main;
-
-  if (!gst_m3u8_update (self, m3u8, data, &updated))
-    goto out;
-
-  if (!updated)
-    goto out;
-
-  if (self->current && !self->current->files) {
-    GST_ERROR ("Invalid media playlist, it does not contain any media files");
-    goto out;
-  }
-
-  /* select the first playlist, for now */
-  if (!self->current) {
-    if (self->main->lists) {
-      self->current = self->main->current_variant->data;
-    } else {
-      self->current = self->main;
-    }
-  }
-
-  if (m3u8->files && self->sequence == -1) {
-    if (GST_M3U8_CLIENT_IS_LIVE (self)) {
-      /* for live streams, start GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE from
-         the end of the playlist. See section 6.3.3 of HLS draft */
-      gint pos =
-          g_list_length (m3u8->files) - GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE;
-      self->current_file = g_list_nth (m3u8->files, pos >= 0 ? pos : 0);
-    } else {
-      self->current_file = g_list_first (m3u8->files);
-    }
-    self->sequence = GST_M3U8_MEDIA_FILE (self->current_file->data)->sequence;
-    self->sequence_position = 0;
-    GST_DEBUG ("Setting first sequence at %u", (guint) self->sequence);
-  }
-
-  ret = TRUE;
-out:
-  GST_M3U8_CLIENT_UNLOCK (self);
-  return ret;
-}
-
-static gint
-_find_m3u8_list_match (const GstM3U8 * a, const GstM3U8 * b)
-{
-  if (g_strcmp0 (a->name, b->name) == 0 &&
-      a->bandwidth == b->bandwidth &&
-      a->program_id == b->program_id &&
-      g_strcmp0 (a->codecs, b->codecs) == 0 &&
-      a->width == b->width &&
-      a->height == b->height && a->iframe == b->iframe) {
-    return 0;
-  }
-
-  return 1;
-}
-
-gboolean
-gst_m3u8_client_update_variant_playlist (GstM3U8Client * self, gchar * data,
-    const gchar * uri, const gchar * base_uri)
-{
-  gboolean ret = FALSE;
-  GList *list_entry, *unmatched_lists;
-  GstM3U8Client *new_client;
-  GstM3U8 *old;
-
-  g_return_val_if_fail (self != NULL, FALSE);
-
-  new_client = gst_m3u8_client_new (uri, base_uri);
-  if (gst_m3u8_client_update (new_client, data)) {
-    if (!new_client->main->lists) {
-      GST_ERROR
-          ("Cannot update variant playlist: New playlist is not a variant playlist");
-      gst_m3u8_client_free (new_client);
-      return FALSE;
-    }
-
-    GST_M3U8_CLIENT_LOCK (self);
-
-    if (!self->main->lists) {
-      GST_ERROR
-          ("Cannot update variant playlist: Current playlist is not a variant playlist");
-      goto out;
-    }
-
-    /* Now see if the variant playlist still has the same lists */
-    unmatched_lists = g_list_copy (self->main->lists);
-    for (list_entry = new_client->main->lists; list_entry;
-        list_entry = list_entry->next) {
-      GList *match = g_list_find_custom (unmatched_lists, list_entry->data,
-          (GCompareFunc) _find_m3u8_list_match);
-      if (match)
-        unmatched_lists = g_list_delete_link (unmatched_lists, match);
-    }
-
-    if (unmatched_lists != NULL) {
-      GST_WARNING ("Unable to match all playlists");
-
-      for (list_entry = unmatched_lists; list_entry;
-          list_entry = list_entry->next) {
-        if (list_entry->data == self->current) {
-          GST_WARNING ("Unable to match current playlist");
-        }
-      }
-
-      g_list_free (unmatched_lists);
-    }
-
-    /* Switch out the variant playlist, steal it from new_client */
-    old = self->main;
-
-    self->main = new_client->main;
-    new_client->main = gst_m3u8_new ();
-
-    if (self->main->lists)
-      self->current = self->main->current_variant->data;
-    else
-      self->current = self->main;
-
-    gst_m3u8_free (old);
-
-    ret = TRUE;
-
-  out:
-    GST_M3U8_CLIENT_UNLOCK (self);
-  }
-
-  gst_m3u8_client_free (new_client);
-  return ret;
-}
-
+/* call with M3U8_LOCK held */
 static GList *
-find_next_fragment (GstM3U8Client * client, GList * l, gboolean forward)
+m3u8_find_next_fragment (GstM3U8 * m3u8, gboolean forward)
 {
   GstM3U8MediaFile *file;
+  GList *l = m3u8->files;
 
   if (forward) {
     while (l) {
       file = l->data;
 
-      if (file->sequence >= client->sequence)
+      if (file->sequence >= m3u8->sequence)
         break;
 
       l = l->next;
@@ -853,7 +641,7 @@
     while (l) {
       file = l->data;
 
-      if (file->sequence <= client->sequence)
+      if (file->sequence <= m3u8->sequence)
         break;
 
       l = l->prev;
@@ -863,102 +651,78 @@
   return l;
 }
 
-static gboolean
-has_next_fragment (GstM3U8Client * client, GList * l, gboolean forward)
+GstM3U8MediaFile *
+gst_m3u8_get_next_fragment (GstM3U8 * m3u8, gboolean forward,
+    GstClockTime * sequence_position, gboolean * discont)
 {
-  l = find_next_fragment (client, l, forward);
+  GstM3U8MediaFile *file = NULL;
 
-  if (l) {
-    return (forward && l->next) || (!forward && l->prev);
-  }
+  g_return_val_if_fail (m3u8 != NULL, NULL);
 
-  return FALSE;
+  GST_M3U8_LOCK (m3u8);
+
+  GST_DEBUG ("Looking for fragment %" G_GINT64_FORMAT, m3u8->sequence);
+
+  if (m3u8->sequence < 0)       /* can't happen really */
+    goto out;
+
+  if (m3u8->current_file == NULL)
+    m3u8->current_file = m3u8_find_next_fragment (m3u8, forward);
+
+  if (m3u8->current_file == NULL)
+    goto out;
+
+  file = gst_m3u8_media_file_ref (m3u8->current_file->data);
+
+  GST_DEBUG ("Got fragment with sequence %u (current sequence %u)",
+      (guint) file->sequence, (guint) m3u8->sequence);
+
+  if (sequence_position)
+    *sequence_position = m3u8->sequence_position;
+  if (discont)
+    *discont = file->discont || (m3u8->sequence != file->sequence);
+
+  m3u8->current_file_duration = file->duration;
+  m3u8->sequence = file->sequence;
+
+out:
+
+  GST_M3U8_UNLOCK (m3u8);
+
+  return file;
 }
 
 gboolean
-gst_m3u8_client_get_next_fragment (GstM3U8Client * client,
-    gboolean * discontinuity, gchar ** uri, GstClockTime * duration,
-    GstClockTime * timestamp, gint64 * range_start, gint64 * range_end,
-    gchar ** key, guint8 ** iv, gboolean forward)
+gst_m3u8_has_next_fragment (GstM3U8 * m3u8, gboolean forward)
 {
-  GstM3U8MediaFile *file;
+  gboolean have_next;
+  GList *cur;
 
-  g_return_val_if_fail (client != NULL, FALSE);
-  g_return_val_if_fail (client->current != NULL, FALSE);
+  g_return_val_if_fail (m3u8 != NULL, FALSE);
 
-  GST_M3U8_CLIENT_LOCK (client);
-  GST_DEBUG ("Looking for fragment %" G_GINT64_FORMAT, client->sequence);
-  if (client->sequence < 0) {
-    GST_M3U8_CLIENT_UNLOCK (client);
-    return FALSE;
-  }
-  if (!client->current_file) {
-    client->current_file =
-        find_next_fragment (client, client->current->files, forward);
-  }
+  GST_M3U8_LOCK (m3u8);
 
-  if (!client->current_file) {
-    GST_M3U8_CLIENT_UNLOCK (client);
-    return FALSE;
-  }
+  GST_DEBUG ("Checking next fragment %" G_GINT64_FORMAT,
+      m3u8->sequence + (forward ? 1 : -1));
 
-  file = GST_M3U8_MEDIA_FILE (client->current_file->data);
-  GST_DEBUG ("Got fragment with sequence %u (client sequence %u)",
-      (guint) file->sequence, (guint) client->sequence);
-
-  client->current_file_duration = file->duration;
-  if (timestamp)
-    *timestamp = client->sequence_position;
-
-  if (discontinuity)
-    *discontinuity = client->sequence != file->sequence || file->discont;
-  if (uri)
-    *uri = g_strdup (file->uri);
-  if (duration)
-    *duration = file->duration;
-  if (range_start)
-    *range_start = file->offset;
-  if (range_end)
-    *range_end = file->size != -1 ? file->offset + file->size - 1 : -1;
-  if (key)
-    *key = g_strdup (file->key);
-  if (iv) {
-    *iv = g_new (guint8, sizeof (file->iv));
-    memcpy (*iv, file->iv, sizeof (file->iv));
-  }
-
-  client->sequence = file->sequence;
-
-  GST_M3U8_CLIENT_UNLOCK (client);
-  return TRUE;
-}
-
-gboolean
-gst_m3u8_client_has_next_fragment (GstM3U8Client * client, gboolean forward)
-{
-  gboolean ret;
-
-  g_return_val_if_fail (client != NULL, FALSE);
-  g_return_val_if_fail (client->current != NULL, FALSE);
-
-  GST_M3U8_CLIENT_LOCK (client);
-  GST_DEBUG ("Checking if has next fragment %" G_GINT64_FORMAT,
-      client->sequence + (forward ? 1 : -1));
-  if (client->current_file) {
-    ret =
-        (forward ? client->current_file->next : client->current_file->prev) !=
-        NULL;
+  if (m3u8->current_file) {
+    cur = m3u8->current_file;
   } else {
-    ret = has_next_fragment (client, client->current->files, forward);
+    cur = m3u8_find_next_fragment (m3u8, forward);
   }
-  GST_M3U8_CLIENT_UNLOCK (client);
-  return ret;
+
+  have_next = (forward && cur->next) || (!forward && cur->prev);
+
+  GST_M3U8_UNLOCK (m3u8);
+
+  return have_next;
 }
 
+/* call with M3U8_LOCK held */
 static void
-alternate_advance (GstM3U8Client * client, gboolean forward)
+m3u8_alternate_advance (GstM3U8 * m3u8, gboolean forward)
 {
-  gint targetnum = client->sequence;
+  gint targetnum = m3u8->sequence;
   GList *tmp;
   GstM3U8MediaFile *mf;
 
@@ -968,7 +732,7 @@
   else
     targetnum -= 1;
 
-  for (tmp = client->current->files; tmp; tmp = tmp->next) {
+  for (tmp = m3u8->files; tmp; tmp = tmp->next) {
     mf = (GstM3U8MediaFile *) tmp->data;
     if (mf->sequence == targetnum)
       break;
@@ -977,218 +741,161 @@
     GST_WARNING ("Can't find next fragment");
     return;
   }
-  client->current_file = tmp;
-  client->sequence = targetnum;
-  client->current_file_duration =
-      GST_M3U8_MEDIA_FILE (client->current_file->data)->duration;
+  m3u8->current_file = tmp;
+  m3u8->sequence = targetnum;
+  m3u8->current_file_duration = GST_M3U8_MEDIA_FILE (tmp->data)->duration;
 }
 
 void
-gst_m3u8_client_advance_fragment (GstM3U8Client * client, gboolean forward)
+gst_m3u8_advance_fragment (GstM3U8 * m3u8, gboolean forward)
 {
   GstM3U8MediaFile *file;
 
-  g_return_if_fail (client != NULL);
-  g_return_if_fail (client->current != NULL);
+  g_return_if_fail (m3u8 != NULL);
 
-  GST_M3U8_CLIENT_LOCK (client);
+  GST_M3U8_LOCK (m3u8);
+
   GST_DEBUG ("Sequence position was %" GST_TIME_FORMAT,
-      GST_TIME_ARGS (client->sequence_position));
-  if (GST_CLOCK_TIME_IS_VALID (client->current_file_duration)) {
+      GST_TIME_ARGS (m3u8->sequence_position));
+  if (GST_CLOCK_TIME_IS_VALID (m3u8->current_file_duration)) {
     /* Advance our position based on the previous fragment we played */
     if (forward)
-      client->sequence_position += client->current_file_duration;
-    else if (client->current_file_duration < client->sequence_position)
-      client->sequence_position -= client->current_file_duration;
+      m3u8->sequence_position += m3u8->current_file_duration;
+    else if (m3u8->current_file_duration < m3u8->sequence_position)
+      m3u8->sequence_position -= m3u8->current_file_duration;
     else
-      client->sequence_position = 0;
-    client->current_file_duration = GST_CLOCK_TIME_NONE;
+      m3u8->sequence_position = 0;
+    m3u8->current_file_duration = GST_CLOCK_TIME_NONE;
     GST_DEBUG ("Sequence position now %" GST_TIME_FORMAT,
-        GST_TIME_ARGS (client->sequence_position));
+        GST_TIME_ARGS (m3u8->sequence_position));
   }
-  if (!client->current_file) {
+  if (!m3u8->current_file) {
     GList *l;
 
-    GST_DEBUG ("Looking for fragment %" G_GINT64_FORMAT, client->sequence);
-    for (l = client->current->files; l != NULL; l = l->next) {
-      if (GST_M3U8_MEDIA_FILE (l->data)->sequence == client->sequence) {
-        client->current_file = l;
+    GST_DEBUG ("Looking for fragment %" G_GINT64_FORMAT, m3u8->sequence);
+    for (l = m3u8->files; l != NULL; l = l->next) {
+      if (GST_M3U8_MEDIA_FILE (l->data)->sequence == m3u8->sequence) {
+        m3u8->current_file = l;
         break;
       }
     }
-    if (client->current_file == NULL) {
+    if (m3u8->current_file == NULL) {
       GST_DEBUG
           ("Could not find current fragment, trying next fragment directly");
-      alternate_advance (client, forward);
+      m3u8_alternate_advance (m3u8, forward);
 
       /* Resync sequence number if the above has failed for live streams */
-      if (client->current_file == NULL && GST_M3U8_CLIENT_IS_LIVE (client)) {
+      if (m3u8->current_file == NULL && GST_M3U8_IS_LIVE (m3u8)) {
         /* for live streams, start GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE from
            the end of the playlist. See section 6.3.3 of HLS draft */
         gint pos =
-            g_list_length (client->current->files) -
-            GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE;
-        client->current_file =
-            g_list_nth (client->current->files, pos >= 0 ? pos : 0);
-        client->current_file_duration =
-            GST_M3U8_MEDIA_FILE (client->current_file->data)->duration;
+            g_list_length (m3u8->files) - GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE;
+        m3u8->current_file = g_list_nth (m3u8->files, pos >= 0 ? pos : 0);
+        m3u8->current_file_duration =
+            GST_M3U8_MEDIA_FILE (m3u8->current_file->data)->duration;
 
         GST_WARNING ("Resyncing live playlist");
       }
-      GST_M3U8_CLIENT_UNLOCK (client);
-      return;
+      goto out;
     }
   }
 
-  file = GST_M3U8_MEDIA_FILE (client->current_file->data);
+  file = GST_M3U8_MEDIA_FILE (m3u8->current_file->data);
   GST_DEBUG ("Advancing from sequence %u", (guint) file->sequence);
   if (forward) {
-    client->current_file = client->current_file->next;
-    if (client->current_file) {
-      client->sequence =
-          GST_M3U8_MEDIA_FILE (client->current_file->data)->sequence;
+    m3u8->current_file = m3u8->current_file->next;
+    if (m3u8->current_file) {
+      m3u8->sequence = GST_M3U8_MEDIA_FILE (m3u8->current_file->data)->sequence;
     } else {
-      client->sequence = file->sequence + 1;
+      m3u8->sequence = file->sequence + 1;
     }
   } else {
-    client->current_file = client->current_file->prev;
-    if (client->current_file) {
-      client->sequence =
-          GST_M3U8_MEDIA_FILE (client->current_file->data)->sequence;
+    m3u8->current_file = m3u8->current_file->prev;
+    if (m3u8->current_file) {
+      m3u8->sequence = GST_M3U8_MEDIA_FILE (m3u8->current_file->data)->sequence;
     } else {
-      client->sequence = file->sequence - 1;
+      m3u8->sequence = file->sequence - 1;
     }
   }
-  if (client->current_file) {
+  if (m3u8->current_file) {
     /* Store duration of the fragment we're using to update the position 
      * the next time we advance */
-    client->current_file_duration =
-        GST_M3U8_MEDIA_FILE (client->current_file->data)->duration;
+    m3u8->current_file_duration =
+        GST_M3U8_MEDIA_FILE (m3u8->current_file->data)->duration;
   }
-  GST_M3U8_CLIENT_UNLOCK (client);
-}
 
-static void
-_sum_duration (GstM3U8MediaFile * self, GstClockTime * duration)
-{
-  *duration += self->duration;
+out:
+
+  GST_M3U8_UNLOCK (m3u8);
 }
 
 GstClockTime
-gst_m3u8_client_get_duration (GstM3U8Client * client)
+gst_m3u8_get_duration (GstM3U8 * m3u8)
 {
   GstClockTime duration = GST_CLOCK_TIME_NONE;
 
-  g_return_val_if_fail (client != NULL, GST_CLOCK_TIME_NONE);
+  g_return_val_if_fail (m3u8 != NULL, GST_CLOCK_TIME_NONE);
 
-  GST_M3U8_CLIENT_LOCK (client);
+  GST_M3U8_LOCK (m3u8);
+
   /* We can only get the duration for on-demand streams */
-  if (!client->current || !client->current->endlist) {
-    GST_M3U8_CLIENT_UNLOCK (client);
-    return GST_CLOCK_TIME_NONE;
-  }
+  if (!m3u8->endlist)
+    goto out;
 
-  if (!GST_CLOCK_TIME_IS_VALID (client->duration) && client->current->files) {
-    client->duration = 0;
-    g_list_foreach (client->current->files, (GFunc) _sum_duration,
-        &client->duration);
+  if (!GST_CLOCK_TIME_IS_VALID (m3u8->duration) && m3u8->files != NULL) {
+    GList *f;
+
+    m3u8->duration = 0;
+    for (f = m3u8->files; f != NULL; f = f->next)
+      m3u8->duration += GST_M3U8_MEDIA_FILE (f)->duration;
   }
-  duration = client->duration;
-  GST_M3U8_CLIENT_UNLOCK (client);
+  duration = m3u8->duration;
+
+out:
+
+  GST_M3U8_UNLOCK (m3u8);
 
   return duration;
 }
 
 GstClockTime
-gst_m3u8_client_get_target_duration (GstM3U8Client * client)
+gst_m3u8_get_target_duration (GstM3U8 * m3u8)
 {
-  GstClockTime duration = 0;
+  GstClockTime target_duration;
 
-  g_return_val_if_fail (client != NULL, GST_CLOCK_TIME_NONE);
+  g_return_val_if_fail (m3u8 != NULL, GST_CLOCK_TIME_NONE);
 
-  GST_M3U8_CLIENT_LOCK (client);
-  duration = client->current->targetduration;
-  GST_M3U8_CLIENT_UNLOCK (client);
-  return duration;
+  GST_M3U8_LOCK (m3u8);
+  target_duration = m3u8->targetduration;
+  GST_M3U8_UNLOCK (m3u8);
+
+  return target_duration;
 }
 
 gchar *
-gst_m3u8_client_get_uri (GstM3U8Client * client)
+gst_m3u8_get_uri (GstM3U8 * m3u8)
 {
   gchar *uri;
 
-  g_return_val_if_fail (client != NULL, NULL);
+  GST_M3U8_LOCK (m3u8);
+  uri = g_strdup (m3u8->uri);
+  GST_M3U8_UNLOCK (m3u8);
 
-  GST_M3U8_CLIENT_LOCK (client);
-  uri = client->main ? g_strdup (client->main->uri) : NULL;
-  GST_M3U8_CLIENT_UNLOCK (client);
-  return uri;
-}
-
-gchar *
-gst_m3u8_client_get_current_uri (GstM3U8Client * client)
-{
-  gchar *uri;
-
-  g_return_val_if_fail (client != NULL, NULL);
-
-  GST_M3U8_CLIENT_LOCK (client);
-  uri = g_strdup (client->current->uri);
-  GST_M3U8_CLIENT_UNLOCK (client);
   return uri;
 }
 
 gboolean
-gst_m3u8_client_has_variant_playlist (GstM3U8Client * client)
+gst_m3u8_is_live (GstM3U8 * m3u8)
 {
-  gboolean ret;
+  gboolean is_live;
 
-  g_return_val_if_fail (client != NULL, FALSE);
+  g_return_val_if_fail (m3u8 != NULL, FALSE);
 
-  GST_M3U8_CLIENT_LOCK (client);
-  ret = (client->main->lists != NULL);
-  GST_M3U8_CLIENT_UNLOCK (client);
-  return ret;
-}
+  GST_M3U8_LOCK (m3u8);
+  is_live = GST_M3U8_IS_LIVE (m3u8);
+  GST_M3U8_UNLOCK (m3u8);
 
-gboolean
-gst_m3u8_client_is_live (GstM3U8Client * client)
-{
-  gboolean ret;
-
-  g_return_val_if_fail (client != NULL, FALSE);
-
-  GST_M3U8_CLIENT_LOCK (client);
-  ret = GST_M3U8_CLIENT_IS_LIVE (client);
-  GST_M3U8_CLIENT_UNLOCK (client);
-  return ret;
-}
-
-GList *
-gst_m3u8_client_get_playlist_for_bitrate (GstM3U8Client * client, guint bitrate)
-{
-  GList *list, *current_variant;
-
-  GST_M3U8_CLIENT_LOCK (client);
-  current_variant = client->main->current_variant;
-
-  /*  Go to the highest possible bandwidth allowed */
-  while (GST_M3U8 (current_variant->data)->bandwidth <= bitrate) {
-    list = g_list_next (current_variant);
-    if (!list)
-      break;
-    current_variant = list;
-  }
-
-  while (GST_M3U8 (current_variant->data)->bandwidth > bitrate) {
-    list = g_list_previous (current_variant);
-    if (!list)
-      break;
-    current_variant = list;
-  }
-  GST_M3U8_CLIENT_UNLOCK (client);
-
-  return current_variant;
+  return is_live;
 }
 
 gchar *
@@ -1248,8 +955,7 @@
 }
 
 gboolean
-gst_m3u8_client_get_seek_range (GstM3U8Client * client, gint64 * start,
-    gint64 * stop)
+gst_m3u8_get_seek_range (GstM3U8 * m3u8, gint64 * start, gint64 * stop)
 {
   GstClockTime duration = 0;
   GList *walk;
@@ -1257,36 +963,641 @@
   guint count;
   guint min_distance = 0;
 
-  g_return_val_if_fail (client != NULL, FALSE);
+  g_return_val_if_fail (m3u8 != NULL, FALSE);
 
-  GST_M3U8_CLIENT_LOCK (client);
+  GST_M3U8_LOCK (m3u8);
 
-  if (client->current == NULL || client->current->files == NULL) {
-    GST_M3U8_CLIENT_UNLOCK (client);
-    return FALSE;
-  }
+  if (m3u8->files == NULL)
+    goto out;
 
-  if (GST_M3U8_CLIENT_IS_LIVE (client)) {
+  if (GST_M3U8_IS_LIVE (m3u8)) {
     /* min_distance is used to make sure the seek range is never closer than
        GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE fragments from the end of a live
        playlist - see 6.3.3. "Playing the Playlist file" of the HLS draft */
     min_distance = GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE;
   }
-  count = g_list_length (client->current->files);
+  count = g_list_length (m3u8->files);
 
-  for (walk = client->current->files;
-      walk && count >= min_distance; walk = walk->next) {
+  for (walk = m3u8->files; walk && count >= min_distance; walk = walk->next) {
     file = walk->data;
     --count;
     duration += file->duration;
   }
 
-  if (duration <= 0) {
-    GST_M3U8_CLIENT_UNLOCK (client);
-    return FALSE;
-  }
-  *start = client->first_file_start;
+  if (duration <= 0)
+    goto out;
+
+  *start = m3u8->first_file_start;
   *stop = *start + duration;
-  GST_M3U8_CLIENT_UNLOCK (client);
-  return TRUE;
+
+out:
+
+  GST_M3U8_UNLOCK (m3u8);
+  return (duration > 0);
+}
+
+GstHLSMedia *
+gst_hls_media_ref (GstHLSMedia * media)
+{
+  g_assert (media != NULL && media->ref_count > 0);
+  g_atomic_int_add (&media->ref_count, 1);
+  return media;
+}
+
+void
+gst_hls_media_unref (GstHLSMedia * media)
+{
+  g_assert (media != NULL && media->ref_count > 0);
+  if (g_atomic_int_dec_and_test (&media->ref_count)) {
+    g_free (media->group_id);
+    g_free (media->name);
+    g_free (media->uri);
+    g_free (media);
+  }
+}
+
+static GstHLSMediaType
+gst_m3u8_get_hls_media_type_from_string (const gchar * type_name)
+{
+  if (strcmp (type_name, "AUDIO") == 0)
+    return GST_HLS_MEDIA_TYPE_AUDIO;
+  if (strcmp (type_name, "VIDEO") == 0)
+    return GST_HLS_MEDIA_TYPE_VIDEO;
+  if (strcmp (type_name, "SUBTITLES") == 0)
+    return GST_HLS_MEDIA_TYPE_SUBTITLES;
+  if (strcmp (type_name, "CLOSED_CAPTIONS") == 0)
+    return GST_HLS_MEDIA_TYPE_CLOSED_CAPTIONS;
+
+  return GST_HLS_MEDIA_TYPE_INVALID;
+}
+
+#define GST_HLS_MEDIA_TYPE_NAME(mtype) gst_m3u8_hls_media_type_get_nick(mtype)
+static inline const gchar *
+gst_m3u8_hls_media_type_get_nick (GstHLSMediaType mtype)
+{
+  static const gchar *nicks[GST_HLS_N_MEDIA_TYPES] = { "audio", "video",
+    "subtitle", "closed-captions"
+  };
+
+  if (mtype < 0 || mtype >= GST_HLS_N_MEDIA_TYPES)
+    return "invalid";
+
+  return nicks[mtype];
+}
+
+/* returns unquoted copy of string */
+static gchar *
+gst_m3u8_unquote (const gchar * str)
+{
+  const gchar *start, *end;
+
+  start = strchr (str, '"');
+  if (start == NULL)
+    return g_strdup (str);
+  end = strchr (start + 1, '"');
+  if (end == NULL) {
+    GST_WARNING ("Broken quoted string [%s] - can't find end quote", str);
+    return g_strdup (start + 1);
+  }
+  return g_strndup (start + 1, (gsize) (end - (start + 1)));
+}
+
+static GstHLSMedia *
+gst_m3u8_parse_media (gchar * desc, const gchar * base_uri)
+{
+  GstHLSMediaType mtype = GST_HLS_MEDIA_TYPE_INVALID;
+  GstHLSMedia *media;
+  gchar *a, *v;
+
+  media = g_new0 (GstHLSMedia, 1);
+  media->ref_count = 1;
+  media->playlist = gst_m3u8_new ();
+
+  GST_LOG ("parsing %s", desc);
+  while (desc != NULL && parse_attributes (&desc, &a, &v)) {
+    if (strcmp (a, "TYPE") == 0) {
+      media->mtype = gst_m3u8_get_hls_media_type_from_string (v);
+    } else if (strcmp (a, "GROUP-ID") == 0) {
+      g_free (media->group_id);
+      media->group_id = gst_m3u8_unquote (v);
+    } else if (strcmp (a, "NAME") == 0) {
+      g_free (media->name);
+      media->name = gst_m3u8_unquote (v);
+    } else if (strcmp (a, "URI") == 0) {
+      gchar *uri;
+
+      g_free (media->uri);
+      uri = gst_m3u8_unquote (v);
+      media->uri = uri_join (base_uri, uri);
+      g_free (uri);
+    } else if (strcmp (a, "LANGUAGE") == 0) {
+      g_free (media->lang);
+      media->lang = gst_m3u8_unquote (v);
+    } else if (strcmp (a, "DEFAULT") == 0) {
+      media->is_default = g_ascii_strcasecmp (v, "yes") == 0;
+    } else if (strcmp (a, "FORCED") == 0) {
+      media->forced = g_ascii_strcasecmp (v, "yes") == 0;
+    } else if (strcmp (a, "AUTOSELECT") == 0) {
+      media->autoselect = g_ascii_strcasecmp (v, "yes") == 0;
+    } else {
+      /* unhandled: ASSOC-LANGUAGE, INSTREAM-ID, CHARACTERISTICS */
+      GST_FIXME ("EXT-X-MEDIA: unhandled attribute: %s = %s", a, v);
+    }
+  }
+
+  if (media->mtype == GST_HLS_MEDIA_TYPE_INVALID)
+    goto required_attributes_missing;
+
+  if (media->uri == NULL)
+    goto existing_stream;
+
+  if (media->group_id == NULL || media->name == NULL)
+    goto required_attributes_missing;
+
+  if (mtype == GST_HLS_MEDIA_TYPE_CLOSED_CAPTIONS)
+    goto uri_with_cc;
+
+  GST_DEBUG ("media: %s, group '%s', name '%s', uri '%s', %s %s %s, lang=%s",
+      GST_HLS_MEDIA_TYPE_NAME (media->mtype), media->group_id, media->name,
+      media->uri, media->is_default ? "default" : "-",
+      media->autoselect ? "autoselect" : "-",
+      media->forced ? "forced" : "-", media->lang ? media->lang : "??");
+
+  return media;
+
+uri_with_cc:
+  {
+    GST_WARNING ("closed captions EXT-X-MEDIA should not have URI specified");
+    goto out_error;
+  }
+required_attributes_missing:
+  {
+    GST_WARNING ("EXT-X-MEDIA description is missing required attributes");
+    goto out_error;
+    /* fall through */
+  }
+existing_stream:
+  {
+    GST_DEBUG ("EXT-X-MEDIA without URI, describes embedded stream, skipping");
+    /* fall through */
+  }
+
+out_error:
+  {
+    gst_hls_media_unref (media);
+    return NULL;
+  }
+}
+
+static GstHLSVariantStream *
+gst_hls_variant_stream_new (void)
+{
+  GstHLSVariantStream *stream;
+
+  stream = g_new0 (GstHLSVariantStream, 1);
+  stream->m3u8 = gst_m3u8_new ();
+  stream->refcount = 1;
+  return stream;
+}
+
+GstHLSVariantStream *
+gst_hls_variant_stream_ref (GstHLSVariantStream * stream)
+{
+  g_atomic_int_inc (&stream->refcount);
+  return stream;
+}
+
+void
+gst_hls_variant_stream_unref (GstHLSVariantStream * stream)
+{
+  if (g_atomic_int_dec_and_test (&stream->refcount)) {
+    gint i;
+
+    g_free (stream->name);
+    g_free (stream->uri);
+    g_free (stream->codecs);
+    gst_m3u8_unref (stream->m3u8);
+    for (i = 0; i < GST_HLS_N_MEDIA_TYPES; ++i) {
+      g_free (stream->media_groups[i]);
+      g_list_free_full (stream->media[i], (GDestroyNotify) gst_hls_media_unref);
+    }
+    g_free (stream);
+  }
+}
+
+static GstHLSVariantStream *
+find_variant_stream_by_name (GList * list, const gchar * name)
+{
+  for (; list != NULL; list = list->next) {
+    GstHLSVariantStream *variant_stream = list->data;
+
+    if (variant_stream->name != NULL && !strcmp (variant_stream->name, name))
+      return variant_stream;
+  }
+  return NULL;
+}
+
+static GstHLSVariantStream *
+find_variant_stream_by_uri (GList * list, const gchar * uri)
+{
+  for (; list != NULL; list = list->next) {
+    GstHLSVariantStream *variant_stream = list->data;
+
+    if (variant_stream->uri != NULL && !strcmp (variant_stream->uri, uri))
+      return variant_stream;
+  }
+  return NULL;
+}
+
+static GstHLSMasterPlaylist *
+gst_hls_master_playlist_new (void)
+{
+  GstHLSMasterPlaylist *playlist;
+
+  playlist = g_new0 (GstHLSMasterPlaylist, 1);
+  playlist->refcount = 1;
+  playlist->is_simple = FALSE;
+
+  return playlist;
+}
+
+void
+gst_hls_master_playlist_unref (GstHLSMasterPlaylist * playlist)
+{
+  if (g_atomic_int_dec_and_test (&playlist->refcount)) {
+    g_list_free_full (playlist->variants,
+        (GDestroyNotify) gst_hls_variant_stream_unref);
+    g_list_free_full (playlist->iframe_variants,
+        (GDestroyNotify) gst_hls_variant_stream_unref);
+    g_free (playlist->last_data);
+    g_free (playlist);
+  }
+}
+
+static gint
+hls_media_name_compare_func (gconstpointer media, gconstpointer name)
+{
+  return strcmp (((GstHLSMedia *) media)->name, (const gchar *) name);
+}
+
+/* Takes ownership of @data */
+GstHLSMasterPlaylist *
+gst_hls_master_playlist_new_from_data (gchar * data, const gchar * base_uri)
+{
+  GHashTable *media_groups[GST_HLS_N_MEDIA_TYPES] = { NULL, };
+  GstHLSMasterPlaylist *playlist;
+  GstHLSVariantStream *pending_stream;
+  gchar *end, *free_data = data;
+  gint val, i;
+  GList *l;
+
+  if (!g_str_has_prefix (data, "#EXTM3U")) {
+    GST_WARNING ("Data doesn't start with #EXTM3U");
+    g_free (free_data);
+    return NULL;
+  }
+
+  playlist = gst_hls_master_playlist_new ();
+
+  /* store data before we modify it for parsing */
+  playlist->last_data = g_strdup (data);
+
+  GST_TRACE ("data:\n%s", data);
+
+  if (strstr (data, "\n#EXTINF:") != NULL) {
+    GST_INFO ("This is a simple media playlist, not a master playlist");
+
+    pending_stream = gst_hls_variant_stream_new ();
+    pending_stream->name = g_strdup (base_uri);
+    pending_stream->uri = g_strdup (base_uri);
+    gst_m3u8_set_uri (pending_stream->m3u8, base_uri, NULL, base_uri);
+    playlist->variants = g_list_append (playlist->variants, pending_stream);
+    playlist->default_variant = gst_hls_variant_stream_ref (pending_stream);
+    playlist->is_simple = TRUE;
+
+    if (!gst_m3u8_update (pending_stream->m3u8, data)) {
+      GST_WARNING ("Failed to parse media playlist");
+      gst_hls_master_playlist_unref (playlist);
+      playlist = NULL;
+    }
+    return playlist;
+  }
+
+  pending_stream = NULL;
+  data += 7;
+  while (TRUE) {
+    gchar *r;
+
+    end = g_utf8_strchr (data, -1, '\n');
+    if (end)
+      *end = '\0';
+
+    r = g_utf8_strchr (data, -1, '\r');
+    if (r)
+      *r = '\0';
+
+    if (data[0] != '#' && data[0] != '\0') {
+      gchar *name, *uri;
+
+      if (pending_stream == NULL) {
+        GST_LOG ("%s: got line without EXT-STREAM-INF, dropping", data);
+        goto next_line;
+      }
+
+      name = data;
+      uri = uri_join (base_uri, name);
+      if (uri == NULL)
+        goto next_line;
+
+      pending_stream->name = g_strdup (name);
+      pending_stream->uri = uri;
+
+      if (find_variant_stream_by_name (playlist->variants, name)
+          || find_variant_stream_by_uri (playlist->variants, uri)) {
+        GST_DEBUG ("Already have a list with this name or URI: %s", name);
+        gst_hls_variant_stream_unref (pending_stream);
+      } else {
+        GST_INFO ("stream %s @ %u: %s", name, pending_stream->bandwidth, uri);
+        gst_m3u8_set_uri (pending_stream->m3u8, uri, NULL, name);
+        playlist->variants = g_list_append (playlist->variants, pending_stream);
+        /* use first stream in the playlist as default */
+        if (playlist->default_variant == NULL) {
+          playlist->default_variant =
+              gst_hls_variant_stream_ref (pending_stream);
+        }
+      }
+      pending_stream = NULL;
+    } else if (g_str_has_prefix (data, "#EXT-X-VERSION:")) {
+      if (int_from_string (data + 15, &data, &val))
+        playlist->version = val;
+    } else if (g_str_has_prefix (data, "#EXT-X-STREAM-INF:") ||
+        g_str_has_prefix (data, "#EXT-X-I-FRAME-STREAM-INF:")) {
+      GstHLSVariantStream *stream;
+      gchar *v, *a;
+
+      stream = gst_hls_variant_stream_new ();
+      stream->iframe = g_str_has_prefix (data, "#EXT-X-I-FRAME-STREAM-INF:");
+      data += stream->iframe ? 26 : 18;
+      while (data && parse_attributes (&data, &a, &v)) {
+        if (g_str_equal (a, "BANDWIDTH")) {
+          if (!int_from_string (v, NULL, &stream->bandwidth))
+            GST_WARNING ("Error while reading BANDWIDTH");
+        } else if (g_str_equal (a, "PROGRAM-ID")) {
+          if (!int_from_string (v, NULL, &stream->program_id))
+            GST_WARNING ("Error while reading PROGRAM-ID");
+        } else if (g_str_equal (a, "CODECS")) {
+          g_free (stream->codecs);
+          stream->codecs = g_strdup (v);
+        } else if (g_str_equal (a, "RESOLUTION")) {
+          if (!int_from_string (v, &v, &stream->width))
+            GST_WARNING ("Error while reading RESOLUTION width");
+          if (!v || *v != 'x') {
+            GST_WARNING ("Missing height");
+          } else {
+            v = g_utf8_next_char (v);
+            if (!int_from_string (v, NULL, &stream->height))
+              GST_WARNING ("Error while reading RESOLUTION height");
+          }
+        } else if (stream->iframe && g_str_equal (a, "URI")) {
+          stream->uri = uri_join (base_uri, v);
+          if (stream->uri != NULL) {
+            stream->name = g_strdup (stream->uri);
+            gst_m3u8_set_uri (stream->m3u8, stream->uri, NULL, stream->name);
+          } else {
+            gst_hls_variant_stream_unref (stream);
+          }
+        } else if (g_str_equal (a, "AUDIO")) {
+          g_free (stream->media_groups[GST_HLS_MEDIA_TYPE_AUDIO]);
+          stream->media_groups[GST_HLS_MEDIA_TYPE_AUDIO] = gst_m3u8_unquote (v);
+        } else if (g_str_equal (a, "SUBTITLES")) {
+          g_free (stream->media_groups[GST_HLS_MEDIA_TYPE_SUBTITLES]);
+          stream->media_groups[GST_HLS_MEDIA_TYPE_SUBTITLES] =
+              gst_m3u8_unquote (v);
+        } else if (g_str_equal (a, "VIDEO")) {
+          g_free (stream->media_groups[GST_HLS_MEDIA_TYPE_VIDEO]);
+          stream->media_groups[GST_HLS_MEDIA_TYPE_VIDEO] = gst_m3u8_unquote (v);
+        } else if (g_str_equal (a, "CLOSED-CAPTIONS")) {
+          /* closed captions will be embedded inside the video stream, ignore */
+        }
+      }
+
+      if (stream->iframe) {
+        if (find_variant_stream_by_uri (playlist->iframe_variants, stream->uri)) {
+          GST_DEBUG ("Already have a list with this URI");
+          gst_hls_variant_stream_unref (stream);
+        } else {
+          playlist->iframe_variants =
+              g_list_append (playlist->iframe_variants, stream);
+        }
+      } else {
+        if (pending_stream != NULL) {
+          GST_WARNING ("variant stream without uri, dropping");
+          gst_hls_variant_stream_unref (pending_stream);
+        }
+        pending_stream = stream;
+      }
+    } else if (g_str_has_prefix (data, "#EXT-X-MEDIA:")) {
+      GstHLSMedia *media;
+      GList *list;
+
+      media = gst_m3u8_parse_media (data + strlen ("#EXT-X-MEDIA:"), base_uri);
+
+      if (media == NULL)
+        goto next_line;
+
+      if (media_groups[media->mtype] == NULL) {
+        media_groups[media->mtype] =
+            g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL);
+      }
+
+      list = g_hash_table_lookup (media_groups[media->mtype], media->group_id);
+
+      /* make sure there isn't already a media with the same name */
+      if (!g_list_find_custom (list, media->name, hls_media_name_compare_func)) {
+        g_hash_table_replace (media_groups[media->mtype],
+            g_strdup (media->group_id), g_list_append (list, media));
+        GST_INFO ("Added media %s to group %s", media->name, media->group_id);
+      } else {
+        GST_WARNING ("  media with name '%s' already exists in group '%s'!",
+            media->name, media->group_id);
+        gst_hls_media_unref (media);
+      }
+    } else if (*data != '\0') {
+      GST_LOG ("Ignored line: %s", data);
+    }
+
+  next_line:
+    if (!end)
+      break;
+    data = g_utf8_next_char (end);      /* skip \n */
+  }
+
+  if (pending_stream != NULL) {
+    GST_WARNING ("#EXT-X-STREAM-INF without uri, dropping");
+    gst_hls_variant_stream_unref (pending_stream);
+  }
+
+  g_free (free_data);
+
+  /* Add alternative renditions media to variant streams */
+  for (l = playlist->variants; l != NULL; l = l->next) {
+    GstHLSVariantStream *stream = l->data;
+    GList *mlist;
+
+    for (i = 0; i < GST_HLS_N_MEDIA_TYPES; ++i) {
+      if (stream->media_groups[i] != NULL && media_groups[i] != NULL) {
+        GST_INFO ("Adding %s group '%s' to stream '%s'",
+            GST_HLS_MEDIA_TYPE_NAME (i), stream->media_groups[i], stream->name);
+
+        mlist = g_hash_table_lookup (media_groups[i], stream->media_groups[i]);
+
+        if (mlist == NULL)
+          GST_WARNING ("Group '%s' does not exist!", stream->media_groups[i]);
+
+        while (mlist != NULL) {
+          GstHLSMedia *media = mlist->data;
+
+          GST_DEBUG ("  %s media %s, uri: %s", GST_HLS_MEDIA_TYPE_NAME (i),
+              media->name, media->uri);
+
+          stream->media[i] =
+              g_list_append (stream->media[i], gst_hls_media_ref (media));
+          mlist = mlist->next;
+        }
+      }
+    }
+  }
+
+  /* clean up our temporary alternative rendition groups hash tables */
+  for (i = 0; i < GST_HLS_N_MEDIA_TYPES; ++i) {
+    if (media_groups[i] != NULL) {
+      GList *groups, *mlist;
+
+      groups = g_hash_table_get_keys (media_groups[i]);
+      for (l = groups; l != NULL; l = l->next) {
+        mlist = g_hash_table_lookup (media_groups[i], l->data);
+        g_list_free_full (mlist, (GDestroyNotify) gst_hls_media_unref);
+      }
+      g_list_free (groups);
+      g_hash_table_unref (media_groups[i]);
+    }
+  }
+
+  if (playlist->variants == NULL) {
+    GST_WARNING ("Master playlist without any media playlists!");
+    gst_hls_master_playlist_unref (playlist);
+    return NULL;
+  }
+
+  /* reorder variants by bitrate */
+  playlist->variants =
+      g_list_sort (playlist->variants,
+      (GCompareFunc) gst_hls_variant_stream_compare_by_bitrate);
+
+  playlist->iframe_variants =
+      g_list_sort (playlist->iframe_variants,
+      (GCompareFunc) gst_hls_variant_stream_compare_by_bitrate);
+
+  /* FIXME: restore old current_variant after master playlist update
+   * (move into code that does that update) */
+#if 0
+  {
+    gchar *top_variant_uri = NULL;
+    gboolean iframe = FALSE;
+
+    if (!self->current_variant) {
+      top_variant_uri = GST_M3U8 (self->lists->data)->uri;
+    } else {
+      top_variant_uri = GST_M3U8 (self->current_variant->data)->uri;
+      iframe = GST_M3U8 (self->current_variant->data)->iframe;
+    }
+
+    /* here we sorted the lists */
+
+    if (iframe)
+      playlist->current_variant =
+          find_variant_stream_by_uri (playlist->iframe_variants,
+          top_variant_uri);
+    else
+      playlist->current_variant =
+          find_variant_stream_by_uri (playlist->variants, top_variant_uri);
+  }
+#endif
+
+  GST_DEBUG ("parsed master playlist with %d streams and %d I-frame streams",
+      g_list_length (playlist->variants),
+      g_list_length (playlist->iframe_variants));
+
+
+  return playlist;
+}
+
+gboolean
+gst_hls_variant_stream_is_live (GstHLSVariantStream * variant)
+{
+  gboolean is_live;
+
+  g_return_val_if_fail (variant != NULL, FALSE);
+
+  is_live = gst_m3u8_is_live (variant->m3u8);
+
+  return is_live;
+}
+
+static gint
+compare_media (const GstHLSMedia * a, const GstHLSMedia * b)
+{
+  return strcmp (a->name, b->name);
+}
+
+GstHLSMedia *
+gst_hls_variant_find_matching_media (GstHLSVariantStream * stream,
+    GstHLSMedia * media)
+{
+  GList *mlist = stream->media[media->mtype];
+  GList *match;
+
+  if (mlist == NULL)
+    return NULL;
+
+  match = g_list_find_custom (mlist, media, (GCompareFunc) compare_media);
+  if (match == NULL)
+    return NULL;
+
+  return match->data;
+}
+
+GstHLSVariantStream *
+gst_hls_master_playlist_get_variant_for_bitrate (GstHLSMasterPlaylist *
+    playlist, GstHLSVariantStream * current_variant, guint bitrate)
+{
+  GstHLSVariantStream *variant = current_variant;
+  GList *l;
+
+  /* variant lists are sorted low to high, so iterate from highest to lowest */
+  if (current_variant == NULL || !current_variant->iframe)
+    l = g_list_last (playlist->variants);
+  else
+    l = g_list_last (playlist->iframe_variants);
+
+  while (l != NULL) {
+    variant = l->data;
+    if (variant->bandwidth <= bitrate)
+      break;
+    l = l->prev;
+  }
+
+  return variant;
+}
+
+GstHLSVariantStream *
+gst_hls_master_playlist_get_matching_variant (GstHLSMasterPlaylist * playlist,
+    GstHLSVariantStream * current_variant)
+{
+  if (current_variant->iframe) {
+    return find_variant_stream_by_uri (playlist->iframe_variants,
+        current_variant->uri);
+  }
+
+  return find_variant_stream_by_uri (playlist->variants, current_variant->uri);
 }
diff --git a/ext/hls/m3u8.h b/ext/hls/m3u8.h
index 24eaaa1..3a5023b 100644
--- a/ext/hls/m3u8.h
+++ b/ext/hls/m3u8.h
@@ -1,6 +1,7 @@
 /* GStreamer
  * Copyright (C) 2010 Marc-Andre Lureau <marcandre.lureau@gmail.com>
  * Copyright (C) 2010 Andoni Morales Alastruey <ylatuya@gmail.com>
+ * Copyright (C) 2015 Tim-Philipp Müller <tim@centricular.com>
  *
  * m3u8.h:
  *
@@ -29,15 +30,18 @@
 
 typedef struct _GstM3U8 GstM3U8;
 typedef struct _GstM3U8MediaFile GstM3U8MediaFile;
+typedef struct _GstHLSMedia GstHLSMedia;
 typedef struct _GstM3U8Client GstM3U8Client;
+typedef struct _GstHLSVariantStream GstHLSVariantStream;
+typedef struct _GstHLSMasterPlaylist GstHLSMasterPlaylist;
 
 #define GST_M3U8(m) ((GstM3U8*)m)
 #define GST_M3U8_MEDIA_FILE(f) ((GstM3U8MediaFile*)f)
 
-#define GST_M3U8_CLIENT_LOCK(c) g_mutex_lock (&c->lock);
-#define GST_M3U8_CLIENT_UNLOCK(c) g_mutex_unlock (&c->lock);
+#define GST_M3U8_LOCK(m) g_mutex_lock (&m->lock);
+#define GST_M3U8_UNLOCK(m) g_mutex_unlock (&m->lock);
 
-#define GST_M3U8_CLIENT_IS_LIVE(c) ((!(c)->current || (c)->current->endlist) ? FALSE : TRUE)
+#define GST_M3U8_IS_LIVE(m) ((m)->endlist == FALSE)
 
 /* hlsdemux must not get closer to the end of a live stream than
    GST_M3U8_LIVE_MIN_FRAGMENT_DISTANCE fragments. Section 6.3.3
@@ -53,26 +57,36 @@
   gchar *name;                  /* This will be the "name" of the playlist, the original
                                  * relative/absolute uri in a variant playlist */
 
+  /* parsed info */
   gboolean endlist;             /* if ENDLIST has been reached */
   gint version;                 /* last EXT-X-VERSION */
   GstClockTime targetduration;  /* last EXT-X-TARGETDURATION */
   gboolean allowcache;          /* last EXT-X-ALLOWCACHE */
 
-  gint bandwidth;
-  gint program_id;
-  gchar *codecs;
-  gint width;
-  gint height;
-  gboolean iframe;
   GList *files;
 
+  /* state */
+  GList *current_file;
+  GstClockTime current_file_duration; /* Duration of current fragment */
+  gint64 sequence;                    /* the next sequence for this client */
+  GstClockTime sequence_position;     /* position of this sequence */
+  gint64 highest_sequence_number;     /* largest seen sequence number */
+  GstClockTime first_file_start;      /* timecode of the start of the first fragment in the current media playlist */
+  GstClockTime last_file_end;         /* timecode of the end of the last fragment in the current media playlist */
+  GstClockTime duration;              /* cached total duration */
+
   /*< private > */
   gchar *last_data;
-  GList *lists;                 /* list of GstM3U8 from the main playlist */
-  GList *iframe_lists;          /* I-frame lists from the main playlist */
-  GList *current_variant;       /* Current variant playlist used */
+  GMutex lock;
+
+  gint ref_count;               /* ATOMIC */
 };
 
+GstM3U8 *          gst_m3u8_ref   (GstM3U8 * m3u8);
+
+void               gst_m3u8_unref (GstM3U8 * m3u8);
+
+
 struct _GstM3U8MediaFile
 {
   gchar *title;
@@ -83,73 +97,136 @@
   gchar *key;
   guint8 iv[16];
   gint64 offset, size;
+  gint ref_count;               /* ATOMIC */
 };
 
-struct _GstM3U8Client
+GstM3U8MediaFile * gst_m3u8_media_file_ref   (GstM3U8MediaFile * mfile);
+
+void               gst_m3u8_media_file_unref (GstM3U8MediaFile * mfile);
+
+GstM3U8 *          gst_m3u8_new (void);
+
+gboolean           gst_m3u8_update               (GstM3U8  * m3u8,
+                                                  gchar    * data);
+
+void               gst_m3u8_set_uri              (GstM3U8      * m3u8,
+                                                  const gchar  * uri,
+                                                  const gchar  * base_uri,
+                                                  const gchar  * name);
+
+GstM3U8MediaFile * gst_m3u8_get_next_fragment    (GstM3U8      * m3u8,
+                                                  gboolean       forward,
+                                                  GstClockTime * sequence_position,
+                                                  gboolean     * discont);
+
+gboolean           gst_m3u8_has_next_fragment    (GstM3U8 * m3u8,
+                                                  gboolean  forward);
+
+void               gst_m3u8_advance_fragment     (GstM3U8 * m3u8,
+                                                  gboolean  forward);
+
+GstClockTime       gst_m3u8_get_duration         (GstM3U8 * m3u8);
+
+GstClockTime       gst_m3u8_get_target_duration  (GstM3U8 * m3u8);
+
+gchar *            gst_m3u8_get_uri              (GstM3U8 * m3u8);
+
+gboolean           gst_m3u8_is_live              (GstM3U8 * m3u8);
+
+gboolean           gst_m3u8_get_seek_range       (GstM3U8 * m3u8,
+                                                  gint64  * start,
+                                                  gint64  * stop);
+
+typedef enum
 {
-  GstM3U8 *main;                /* main playlist */
-  GstM3U8 *current;
-  GList *current_file;
-  GstClockTime current_file_duration; /* Duration of current fragment */
-  gint64 sequence;              /* the next sequence for this client */
-  GstClockTime sequence_position; /* position of this sequence */
-  gint64 highest_sequence_number; /* largest seen sequence number */
-  GstClockTime first_file_start; /* timecode of the start of the first fragment in the current media playlist */
-  GstClockTime last_file_end; /* timecode of the end of the last fragment in the current media playlist */
-  GstClockTime duration; /* cached total duration */
-  GMutex lock;
+  GST_HLS_MEDIA_TYPE_INVALID = -1,
+  GST_HLS_MEDIA_TYPE_AUDIO,
+  GST_HLS_MEDIA_TYPE_VIDEO,
+  GST_HLS_MEDIA_TYPE_SUBTITLES,
+  GST_HLS_MEDIA_TYPE_CLOSED_CAPTIONS,
+  GST_HLS_N_MEDIA_TYPES
+} GstHLSMediaType;
+
+struct _GstHLSMedia {
+  GstHLSMediaType mtype;
+  gchar *group_id;
+  gchar *name;
+  gchar *lang;
+  gchar *uri;
+  gboolean is_default;
+  gboolean autoselect;
+  gboolean forced;
+
+  GstM3U8 *playlist;            /* media playlist */
+
+  gint ref_count;               /* ATOMIC */
 };
 
+GstHLSMedia * gst_hls_media_ref   (GstHLSMedia * media);
 
-GstM3U8Client * gst_m3u8_client_new (const gchar * uri, const gchar * base_uri);
+void          gst_hls_media_unref (GstHLSMedia * media);
 
-void            gst_m3u8_client_free (GstM3U8Client * client);
 
-gboolean        gst_m3u8_client_update (GstM3U8Client * client, gchar * data);
+struct _GstHLSVariantStream {
+  gchar *name;         /* This will be the "name" of the playlist, the original
+                        * relative/absolute uri in a variant playlist */
+  gchar *uri;
+  gchar *codecs;
+  gint bandwidth;
+  gint program_id;
+  gint width;
+  gint height;
+  gboolean iframe;
 
-gboolean        gst_m3u8_client_update_variant_playlist (GstM3U8Client * client,
-                                                         gchar         * data,
-                                                         const gchar   * uri,
-                                                         const gchar   * base_uri);
+  gint refcount;       /* ATOMIC */
 
-void            gst_m3u8_client_set_current         (GstM3U8Client * client,
-                                                     GstM3U8       * m3u8);
+  GstM3U8 *m3u8;       /* media playlist */
 
-gboolean        gst_m3u8_client_get_next_fragment   (GstM3U8Client * client,
-                                                     gboolean      * discontinuity,
-                                                     gchar        ** uri,
-                                                     GstClockTime  * duration,
-                                                     GstClockTime  * timestamp,
-                                                     gint64        * range_start,
-                                                     gint64        * range_end,
-                                                     gchar        ** key,
-                                                     guint8       ** iv,
-                                                     gboolean        forward);
+  /* alternative renditions */
+  gchar *media_groups[GST_HLS_N_MEDIA_TYPES];
+  GList *media[GST_HLS_N_MEDIA_TYPES];
+};
 
-gboolean        gst_m3u8_client_has_next_fragment   (GstM3U8Client * client,
-                                                     gboolean        forward);
+GstHLSVariantStream * gst_hls_variant_stream_ref (GstHLSVariantStream * stream);
 
-void            gst_m3u8_client_advance_fragment    (GstM3U8Client * client,
-                                                     gboolean        forward);
+void                  gst_hls_variant_stream_unref (GstHLSVariantStream * stream);
 
-GstClockTime    gst_m3u8_client_get_duration        (GstM3U8Client * client);
+gboolean              gst_hls_variant_stream_is_live (GstHLSVariantStream * stream);
 
-GstClockTime    gst_m3u8_client_get_target_duration (GstM3U8Client * client);
+GstHLSMedia *         gst_hls_variant_find_matching_media (GstHLSVariantStream  * stream,
+                          GstHLSMedia *media);
 
-gchar *         gst_m3u8_client_get_uri             (GstM3U8Client * client);
 
-gchar *         gst_m3u8_client_get_current_uri     (GstM3U8Client * client);
+struct _GstHLSMasterPlaylist
+{
+  /* Available variant streams, sorted by bitrate (low -> high) */
+  GList    *variants;
+  GList    *iframe_variants;
 
-gboolean        gst_m3u8_client_has_variant_playlist (GstM3U8Client * client);
+  GstHLSVariantStream *default_variant;  /* first in the list */
 
-gboolean        gst_m3u8_client_is_live             (GstM3U8Client * client);
+  gint      version;                     /* EXT-X-VERSION */
 
-GList *         gst_m3u8_client_get_playlist_for_bitrate (GstM3U8Client * client,
-                                                          guint           bitrate);
+  gint      refcount;                    /* ATOMIC */
 
-gboolean        gst_m3u8_client_get_seek_range      (GstM3U8Client * client,
-                                                     gint64        * start,
-                                                     gint64        * stop);
+  gboolean  is_simple;                   /* TRUE if simple main media playlist,
+                                          * FALSE if variant playlist (either
+                                          * way the variants list will be set) */
+
+  /*< private > */
+  gchar   *last_data;
+};
+
+GstHLSMasterPlaylist * gst_hls_master_playlist_new_from_data (gchar       * data,
+                                                              const gchar * base_uri);
+
+GstHLSVariantStream *  gst_hls_master_playlist_get_variant_for_bitrate (GstHLSMasterPlaylist * playlist,
+                                                                        GstHLSVariantStream  * current_variant,
+                                                                        guint                  bitrate);
+GstHLSVariantStream *  gst_hls_master_playlist_get_matching_variant (GstHLSMasterPlaylist * playlist,
+                                                                     GstHLSVariantStream  * current_variant);
+
+void                   gst_hls_master_playlist_unref (GstHLSMasterPlaylist * playlist);
 
 G_END_DECLS
 
diff --git a/ext/kate/Makefile.in b/ext/kate/Makefile.in
index e4350bd..23c336a 100644
--- a/ext/kate/Makefile.in
+++ b/ext/kate/Makefile.in
@@ -331,6 +331,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -380,6 +382,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/ladspa/Makefile.in b/ext/ladspa/Makefile.in
index 9c53aae..4501dd5 100644
--- a/ext/ladspa/Makefile.in
+++ b/ext/ladspa/Makefile.in
@@ -330,6 +330,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -379,6 +381,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/libde265/Makefile.in b/ext/libde265/Makefile.in
index 0b6f596..0be80e0 100644
--- a/ext/libde265/Makefile.in
+++ b/ext/libde265/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/libmms/Makefile.in b/ext/libmms/Makefile.in
index 5b0fa4c..46c3c26 100644
--- a/ext/libmms/Makefile.in
+++ b/ext/libmms/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/libvisual/Makefile.in b/ext/libvisual/Makefile.in
index 15e9ec3..af32101 100644
--- a/ext/libvisual/Makefile.in
+++ b/ext/libvisual/Makefile.in
@@ -323,6 +323,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -372,6 +374,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/lv2/Makefile.in b/ext/lv2/Makefile.in
index 644bc83..66791d3 100644
--- a/ext/lv2/Makefile.in
+++ b/ext/lv2/Makefile.in
@@ -165,7 +165,7 @@
 am__DEPENDENCIES_1 =
 libgstlv2_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 am_libgstlv2_la_OBJECTS = libgstlv2_la-gstlv2.lo \
 	libgstlv2_la-gstlv2utils.lo libgstlv2_la-gstlv2filter.lo \
 	libgstlv2_la-gstlv2source.lo
@@ -328,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/lv2/README b/ext/lv2/README
index 289086d..10c6a8e 100644
--- a/ext/lv2/README
+++ b/ext/lv2/README
@@ -35,9 +35,36 @@
 
 TODO
 * make filters gap-aware
+* report latency
+  lilv_plugin_has_latency(), lilv_plugin_get_latency_port_index()
 * support more host features
   GST_DEBUG="lv2:4" GST_DEBUG_FILE=/tmp/gst.log gst-inspect lv2
   grep -o "needs host feature: .*$" /tmp/gst.log  | sort | uniq -c | sort -n
+* make source elements useful
+  Most source elements use Atom port where they accept midi events. Since it is
+  full fledged midi, we should only ever use channel-0 and instead use multiple
+  instances
+  1) We could expose those as "audio/x-midi-event" sink pads, but then those are
+     not sources anymore.
+  2) We could expose those as properties using a new type like GST_FOURCC. If we
+     ignore "System Exclusive" messages, all other midi messages are 1-3 bytes.
+     We stuff the bytes right to left. E.g: the lowest byte is the status byte
+  3) We could use the GstBtNote enum + the toneconversion classes
+  https://www.midi.org/specifications/item/table-1-summary-of-midi-message
+  Open questions:
+  - with one property, we can't handle polyphony
+  - we can't query lv2 plugins for their polyphony :/
+
+  If lv2 gets a polyphony extension it would be a single non-negative integer:
+    0: unbound,  1 monophonic,  > 1  N-polyphonic
+  I've checked a few synths and they all have an upper limit. Still the way
+  voices work in trackers is not the same as they work in synths - e.g. in a
+  tracker one can play a note twice
+
+  Or we just play them monophonic and try to implement a polychildbin. The bin
+  takes a GstElement to be used as a voice. For each new voice it would create a
+  new instance and it uses a built-in mixer. Downside is that all properties
+  would be per voice.
 
 * example sources:
   http://svn.drobilla.net/lad/trunk/lilv/utils/lv2info.c
diff --git a/ext/lv2/gstlv2utils.c b/ext/lv2/gstlv2utils.c
index 017d449..fc30595 100644
--- a/ext/lv2/gstlv2utils.c
+++ b/ext/lv2/gstlv2utils.c
@@ -146,6 +146,26 @@
 
 /* preset interface */
 
+static char *
+make_bundle_name (GstObject * obj, const gchar * name)
+{
+  GstElementFactory *factory;
+  gchar *basename, *s, *bundle;
+
+  factory = gst_element_get_factory ((GstElement *) obj);
+  basename = g_strdup (gst_element_factory_get_metadata (factory,
+          GST_ELEMENT_METADATA_LONGNAME));
+  s = basename;
+  while ((s = strchr (s, ' '))) {
+    *s = '_';
+  }
+  bundle = g_strjoin (NULL, basename, "_", name, ".preset.lv2", NULL);
+
+  g_free (basename);
+
+  return bundle;
+}
+
 gchar **
 gst_lv2_get_preset_names (GstLV2 * lv2, GstObject * obj)
 {
@@ -267,24 +287,19 @@
 gboolean
 gst_lv2_save_preset (GstLV2 * lv2, GstObject * obj, const gchar * name)
 {
-  gchar *filename, *basename, *bundle, *dir, *tmp_dir, *s;
+  gchar *filename, *bundle, *dir, *tmp_dir;
   gpointer user_data[] = { lv2->klass, obj };
-  GstElementFactory *factory;
   LilvState *state;
   LilvNode *bundle_dir;
+  const LilvNode *state_uri;
   LilvInstance *instance = lv2->instance;
   gboolean res;
-
-  factory = gst_element_get_factory ((GstElement *) obj);
-  basename = g_strdup (gst_element_factory_get_metadata (factory,
-          GST_ELEMENT_METADATA_LONGNAME));
-  s = basename;
-  while ((s = strchr (s, ' '))) {
-    *s = '_';
-  }
+#ifndef HAVE_LILV_0_22
+  gchar *filepath;
+#endif
 
   filename = g_strjoin (NULL, name, ".ttl", NULL);
-  bundle = g_strjoin (NULL, basename, "_", name, ".preset.lv2", NULL);
+  bundle = make_bundle_name (obj, name);
   /* dir needs to end on a dir separator for the lilv_new_file_uri() to work */
   dir =
       g_build_filename (g_get_home_dir (), ".lv2", bundle, G_DIR_SEPARATOR_S,
@@ -313,9 +328,19 @@
   lilv_world_load_bundle (world, bundle_dir);
   lilv_node_free (bundle_dir);
 
-  lilv_world_load_resource (world, lilv_state_get_uri (state));
+#ifdef HAVE_LILV_0_22
+  state_uri = lilv_state_get_uri (state);
+#else
+  filepath = g_build_filename (dir, filename, NULL);
+  state_uri = lilv_new_uri (world, filepath);
+  g_free (filepath);
+#endif
+  lilv_world_load_resource (world, state_uri);
   g_hash_table_insert (lv2->presets, g_strdup (name),
-      lilv_node_duplicate (lilv_state_get_uri (state)));
+      lilv_node_duplicate (state_uri));
+#ifndef HAVE_LILV_0_22
+  lilv_node_free ((LilvNode *) state_uri);
+#endif
 
   lilv_state_free (state);
   if (!lv2->instance) {
@@ -326,7 +351,6 @@
   g_free (dir);
   g_free (bundle);
   g_free (filename);
-  g_free (basename);
 
   return res;
 }
@@ -344,19 +368,19 @@
 gboolean
 gst_lv2_delete_preset (GstLV2 * lv2, GstObject * obj, const gchar * name)
 {
+#ifdef HAVE_LILV_0_22
   LilvNode *preset = g_hash_table_lookup (lv2->presets, name);
   LilvState *state = lilv_state_new_from_world (world, &lv2_map, preset);
 
   lilv_world_unload_resource (world, lilv_state_get_uri (state));
   lilv_state_delete (world, state);
   lilv_state_free (state);
-
+#endif
   g_hash_table_remove (lv2->presets, name);
 
   return FALSE;
 }
 
-
 /* api helpers */
 
 void
@@ -757,12 +781,16 @@
   }
   val = lilv_plugin_get_author_name (lv2plugin);
   if (val) {
+    // TODO: check lilv_plugin_get_author_email(lv2plugin);
     author = g_strdup (lilv_node_as_string (val));
     lilv_node_free (val);
   } else {
     author = g_strdup ("no author available");
   }
 
+  // TODO: better description from:
+  // lilv_plugin_get_author_homepage() and lilv_plugin_get_project()
+
   lv2plugin_class = lilv_plugin_get_class (lv2plugin);
   cval = lilv_plugin_class_get_label (lv2plugin_class);
   if (cval) {
diff --git a/ext/mimic/Makefile.in b/ext/mimic/Makefile.in
index be4d23a..76ceca7 100644
--- a/ext/mimic/Makefile.in
+++ b/ext/mimic/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/modplug/Makefile.in b/ext/modplug/Makefile.in
index a48b694..af558c3 100644
--- a/ext/modplug/Makefile.in
+++ b/ext/modplug/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/mpeg2enc/Makefile.in b/ext/mpeg2enc/Makefile.in
index ce444cc..15f0c3a 100644
--- a/ext/mpeg2enc/Makefile.in
+++ b/ext/mpeg2enc/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/mplex/Makefile.in b/ext/mplex/Makefile.in
index 2cd7f3c..e9314b6 100644
--- a/ext/mplex/Makefile.in
+++ b/ext/mplex/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/mplex/gstmplex.cc b/ext/mplex/gstmplex.cc
index 4089485..7f7b4ec 100644
--- a/ext/mplex/gstmplex.cc
+++ b/ext/mplex/gstmplex.cc
@@ -676,7 +676,8 @@
     g_free (padname);
 
     /* may now be up to us to get things going */
-    gst_mplex_start_task (mplex);
+    if (GST_STATE (element) > GST_STATE_READY)
+      gst_mplex_start_task (mplex);
     GST_MPLEX_MUTEX_UNLOCK (mplex);
   }
 }
diff --git a/ext/musepack/Makefile.in b/ext/musepack/Makefile.in
index 4ff8cf6..3ae8534 100644
--- a/ext/musepack/Makefile.in
+++ b/ext/musepack/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/musepack/gstmusepackdec.c b/ext/musepack/gstmusepackdec.c
index f8670ec..5b68200 100644
--- a/ext/musepack/gstmusepackdec.c
+++ b/ext/musepack/gstmusepackdec.c
@@ -222,7 +222,7 @@
   GST_DEBUG_OBJECT (dec, "performing seek to sample %" G_GINT64_FORMAT,
       segment.start);
 
-  if (segment.start < 0 || segment.start >= segment.duration) {
+  if (segment.start >= segment.duration) {
     GST_WARNING_OBJECT (dec, "seek out of bounds");
     goto failed;
   }
diff --git a/ext/nas/Makefile.in b/ext/nas/Makefile.in
index 1ac8f13..3e8f341 100644
--- a/ext/nas/Makefile.in
+++ b/ext/nas/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/neon/Makefile.in b/ext/neon/Makefile.in
index 9de8640..4f6db41 100644
--- a/ext/neon/Makefile.in
+++ b/ext/neon/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/ofa/Makefile.in b/ext/ofa/Makefile.in
index af6bdc9..76fccab 100644
--- a/ext/ofa/Makefile.in
+++ b/ext/ofa/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/openal/Makefile.in b/ext/openal/Makefile.in
index b676c8a..a32853d 100644
--- a/ext/openal/Makefile.in
+++ b/ext/openal/Makefile.in
@@ -330,6 +330,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -379,6 +381,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/opencv/Makefile.in b/ext/opencv/Makefile.in
index 3c56b33..a5a6462 100644
--- a/ext/opencv/Makefile.in
+++ b/ext/opencv/Makefile.in
@@ -347,6 +347,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -396,6 +398,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/openexr/Makefile.in b/ext/openexr/Makefile.in
index 5ff93fc..6413382 100644
--- a/ext/openexr/Makefile.in
+++ b/ext/openexr/Makefile.in
@@ -345,6 +345,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -394,6 +396,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/openh264/Makefile.in b/ext/openh264/Makefile.in
index bc3844c..33cf4a7 100644
--- a/ext/openh264/Makefile.in
+++ b/ext/openh264/Makefile.in
@@ -345,6 +345,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -394,6 +396,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/openh264/gstopenh264dec.cpp b/ext/openh264/gstopenh264dec.cpp
index 57d2fb5..8fad292 100644
--- a/ext/openh264/gstopenh264dec.cpp
+++ b/ext/openh264/gstopenh264dec.cpp
@@ -125,7 +125,9 @@
 
   dec_param.uiTargetDqLayer = 255;
   dec_param.eEcActiveIdc = ERROR_CON_FRAME_COPY;
+#if OPENH264_MAJOR == 1 && OPENH264_MINOR < 6
   dec_param.eOutputColorFormat = videoFormatI420;
+#endif
   dec_param.sVideoProperty.eVideoBsType = VIDEO_BITSTREAM_AVC;
 
   ret = openh264dec->decoder->Initialize (&dec_param);
diff --git a/ext/openh264/gstopenh264enc.cpp b/ext/openh264/gstopenh264enc.cpp
index de4a70d..a5e488f 100644
--- a/ext/openh264/gstopenh264enc.cpp
+++ b/ext/openh264/gstopenh264enc.cpp
@@ -38,6 +38,8 @@
 GST_DEBUG_CATEGORY_STATIC (gst_openh264enc_debug_category);
 #define GST_CAT_DEFAULT gst_openh264enc_debug_category
 
+/* FIXME: we should not really directly use the enums from the openh264 API
+ * here, since it might change or be removed */
 #define GST_TYPE_USAGE_TYPE (gst_openh264enc_usage_type_get_type ())
 static GType
 gst_openh264enc_usage_type_get_type (void)
@@ -105,14 +107,14 @@
 gst_openh264enc_slice_mode_get_type (void)
 {
   static const GEnumValue types[] = {
-    {SM_FIXEDSLCNUM_SLICE, "Fixed number of slices", "n-slices"},
-    {SM_AUTO_SLICE, "Number of slices equal to number of threads", "auto"},
+    {GST_OPENH264_SLICE_MODE_N_SLICES, "Fixed number of slices", "n-slices"},
+    {GST_OPENH264_SLICE_MODE_AUTO, "Number of slices equal to number of threads", "auto"},
     {0, NULL, NULL},
   };
   static gsize id = 0;
 
   if (g_once_init_enter (&id)) {
-    GType _id = g_enum_register_static ("GstOpenh264encSliceModes", types);
+    GType _id = g_enum_register_static ("GstOpenh264EncSliceModes", types);
     g_once_init_leave (&id, _id);
   }
 
@@ -175,7 +177,7 @@
 #define DEFAULT_BACKGROUND_DETECTION TRUE
 #define DEFAULT_ADAPTIVE_QUANTIZATION TRUE
 #define DEFAULT_SCENE_CHANGE_DETECTION TRUE
-#define DEFAULT_SLICE_MODE      SM_FIXEDSLCNUM_SLICE
+#define DEFAULT_SLICE_MODE      GST_OPENH264_SLICE_MODE_N_SLICES
 #define DEFAULT_NUM_SLICES      1
 #define DEFAULT_COMPLEXITY      MEDIUM_COMPLEXITY
 
@@ -476,7 +478,7 @@
       break;
 
     case PROP_SLICE_MODE:
-      openh264enc->slice_mode = (SliceModeEnum) g_value_get_enum (value);
+      openh264enc->slice_mode = (GstOpenh264EncSliceMode) g_value_get_enum (value);
       break;
 
     case PROP_NUM_SLICES:
@@ -631,6 +633,8 @@
   gchar *debug_caps;
   guint width, height, fps_n, fps_d;
   SEncParamExt enc_params;
+  SliceModeEnum slice_mode = SM_SINGLE_SLICE;
+  guint n_slices = 1;
   gint ret;
   GstCaps *outcaps;
   GstVideoCodecState *output_state;
@@ -698,16 +702,33 @@
   enc_params.sSpatialLayers[0].iSpatialBitrate = enc_params.iTargetBitrate;
   enc_params.sSpatialLayers[0].iMaxSpatialBitrate = enc_params.iMaxBitrate;
 
-  if (openh264enc->slice_mode == SM_FIXEDSLCNUM_SLICE) {
+  if (openh264enc->slice_mode == GST_OPENH264_SLICE_MODE_N_SLICES) {
     if (openh264enc->num_slices == 1)
-      enc_params.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_SINGLE_SLICE;
+      slice_mode = SM_SINGLE_SLICE;
     else
-      enc_params.sSpatialLayers[0].sSliceCfg.uiSliceMode = SM_FIXEDSLCNUM_SLICE;
-    enc_params.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = openh264enc->num_slices;
+      slice_mode = SM_FIXEDSLCNUM_SLICE;
+     n_slices = openh264enc->num_slices;
+  } else if (openh264enc->slice_mode == GST_OPENH264_SLICE_MODE_AUTO) {
+#if OPENH264_MAJOR == 1 && OPENH264_MINOR < 6
+    slice_mode = SM_AUTO_SLICE;
+#else
+    slice_mode = SM_FIXEDSLCNUM_SLICE;
+    n_slices = 0;
+#endif
   } else {
-    enc_params.sSpatialLayers[0].sSliceCfg.uiSliceMode = openh264enc->slice_mode;
+    GST_ERROR_OBJECT (openh264enc, "unexpected slice mode %d",
+        openh264enc->slice_mode);
+    slice_mode = SM_SINGLE_SLICE;
   }
 
+#if OPENH264_MAJOR == 1 && OPENH264_MINOR < 6
+  enc_params.sSpatialLayers[0].sSliceCfg.uiSliceMode = slice_mode;
+  enc_params.sSpatialLayers[0].sSliceCfg.sSliceArgument.uiSliceNum = n_slices;
+#else
+  enc_params.sSpatialLayers[0].sSliceArgument.uiSliceMode = slice_mode;
+  enc_params.sSpatialLayers[0].sSliceArgument.uiSliceNum = n_slices;
+#endif
+
   openh264enc->framerate = (1 + fps_n / fps_d);
 
   ret = openh264enc->encoder->InitializeExt (&enc_params);
diff --git a/ext/openh264/gstopenh264enc.h b/ext/openh264/gstopenh264enc.h
index 4bd0eb7..f684191 100644
--- a/ext/openh264/gstopenh264enc.h
+++ b/ext/openh264/gstopenh264enc.h
@@ -47,6 +47,12 @@
   GST_OPENH264_DEBLOCKING_NOT_SLICE_BOUNDARIES = 2
 } GstOpenh264encDeblockingMode;
 
+typedef enum
+{
+  GST_OPENH264_SLICE_MODE_N_SLICES = 1,  /* SM_FIXEDSLCNUM_SLICE */
+  GST_OPENH264_SLICE_MODE_AUTO = 5       /* former SM_AUTO_SLICE */
+} GstOpenh264EncSliceMode;
+
 #define GST_TYPE_OPENH264ENC          (gst_openh264enc_get_type())
 #define GST_OPENH264ENC(obj)          (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_OPENH264ENC,GstOpenh264Enc))
 #define GST_OPENH264ENC_CLASS(klass)  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_OPENH264ENC,GstOpenh264EncClass))
@@ -80,7 +86,7 @@
   gboolean background_detection;
   gboolean adaptive_quantization;
   gboolean scene_change_detection;
-  SliceModeEnum slice_mode;
+  GstOpenh264EncSliceMode slice_mode;
   guint num_slices;
   ECOMPLEXITY_MODE complexity;
 };
diff --git a/ext/openjpeg/Makefile.in b/ext/openjpeg/Makefile.in
index 7afdf60..37a5238 100644
--- a/ext/openjpeg/Makefile.in
+++ b/ext/openjpeg/Makefile.in
@@ -328,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/openjpeg/gstopenjpegenc.c b/ext/openjpeg/gstopenjpegenc.c
index 2d47779..7514a35 100644
--- a/ext/openjpeg/gstopenjpegenc.c
+++ b/ext/openjpeg/gstopenjpegenc.c
@@ -647,7 +647,7 @@
       sampling = GST_JPEG2000_SAMPLING_YBRA4444_EXT;
       break;
     case GST_VIDEO_FORMAT_xRGB:
-      sampling = GST_JPEG2000_COLORSPACE_RGB;
+      sampling = GST_JPEG2000_SAMPLING_RGB;
       break;
     case GST_VIDEO_FORMAT_Y444_10LE:
     case GST_VIDEO_FORMAT_Y444_10BE:
diff --git a/ext/openni2/Makefile.in b/ext/openni2/Makefile.in
index db433b5..617c725 100644
--- a/ext/openni2/Makefile.in
+++ b/ext/openni2/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/opus/Makefile.in b/ext/opus/Makefile.in
index 56aefd9..e8ec31c 100644
--- a/ext/opus/Makefile.in
+++ b/ext/opus/Makefile.in
@@ -328,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/qt/Makefile.am b/ext/qt/Makefile.am
index 5fdd90a..b8bd5d4 100644
--- a/ext/qt/Makefile.am
+++ b/ext/qt/Makefile.am
@@ -1,29 +1,37 @@
-plugin_LTLIBRARIES = libgstqtsink.la
+plugin_LTLIBRARIES = libgstqmlgl.la
 
 noinst_HEADERS = \
 	gstqsgtexture.h \
+	gstqtglutility.h \
 	gstqtsink.h \
-	qtitem.h
+	gstqtsrc.h \
+	qtitem.h \
+	qtwindow.h
 
 moc_generated = \
 	moc_qtitem.cc \
+	moc_qtwindow.cc \
 	moc_gstqsgtexture.cc
 
 #anything generated by the Qt tools...
 BUILT_SOURCES = $(moc_generated)
 CLEANFILES = $(moc_generated)
 
-nodist_libgstqtsink_la_SOURCES = $(BUILT_SOURCES)
+nodist_libgstqmlgl_la_SOURCES = $(BUILT_SOURCES)
 
-libgstqtsink_la_SOURCES = \
+libgstqmlgl_la_SOURCES = \
 	gstqsgtexture.cc \
+	gstqtglutility.cc \
 	qtitem.cc \
+	qtwindow.cc \
 	gstqtsink.cc \
 	gstqtsink.h \
+	gstqtsrc.cc \
+	gstqtsrc.h \
 	gstqtgl.h \
 	gstplugin.cc
 
-libgstqtsink_la_CXXFLAGS = \
+libgstqmlgl_la_CXXFLAGS = \
 	-I$(top_srcdir)/gst-libs \
 	-I$(top_builddir)/gst-libs \
 	$(GST_CXXFLAGS) \
@@ -32,15 +40,15 @@
 	$(QT_CFLAGS) \
 	$(GL_CFLAGS)
 
-libgstqtsink_la_LIBADD = \
+libgstqmlgl_la_LIBADD = \
 	$(GST_BASE_LIBS) \
 	$(GST_PLUGINS_BASE_LIBS) \
 	$(QT_LIBS) \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la \
 	-lgstvideo-$(GST_API_VERSION)
 
-libgstqtsink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstqtsink_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+libgstqmlgl_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgstqmlgl_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 
 
 $(moc_generated): moc_%.cc: %.h
diff --git a/ext/qt/Makefile.in b/ext/qt/Makefile.in
index 51dacc6..f72a489 100644
--- a/ext/qt/Makefile.in
+++ b/ext/qt/Makefile.in
@@ -163,26 +163,28 @@
 am__installdirs = "$(DESTDIR)$(plugindir)"
 LTLIBRARIES = $(plugin_LTLIBRARIES)
 am__DEPENDENCIES_1 =
-libgstqtsink_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+libgstqmlgl_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la
-am_libgstqtsink_la_OBJECTS = libgstqtsink_la-gstqsgtexture.lo \
-	libgstqtsink_la-qtitem.lo libgstqtsink_la-gstqtsink.lo \
-	libgstqtsink_la-gstplugin.lo
-am__objects_1 = libgstqtsink_la-moc_qtitem.lo \
-	libgstqtsink_la-moc_gstqsgtexture.lo
+am_libgstqmlgl_la_OBJECTS = libgstqmlgl_la-gstqsgtexture.lo \
+	libgstqmlgl_la-gstqtglutility.lo libgstqmlgl_la-qtitem.lo \
+	libgstqmlgl_la-qtwindow.lo libgstqmlgl_la-gstqtsink.lo \
+	libgstqmlgl_la-gstqtsrc.lo libgstqmlgl_la-gstplugin.lo
+am__objects_1 = libgstqmlgl_la-moc_qtitem.lo \
+	libgstqmlgl_la-moc_qtwindow.lo \
+	libgstqmlgl_la-moc_gstqsgtexture.lo
 am__objects_2 = $(am__objects_1)
-nodist_libgstqtsink_la_OBJECTS = $(am__objects_2)
-libgstqtsink_la_OBJECTS = $(am_libgstqtsink_la_OBJECTS) \
-	$(nodist_libgstqtsink_la_OBJECTS)
+nodist_libgstqmlgl_la_OBJECTS = $(am__objects_2)
+libgstqmlgl_la_OBJECTS = $(am_libgstqmlgl_la_OBJECTS) \
+	$(nodist_libgstqmlgl_la_OBJECTS)
 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 = 
-libgstqtsink_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
-	$(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
-	$(CXXLD) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) \
-	$(libgstqtsink_la_LDFLAGS) $(LDFLAGS) -o $@
+libgstqmlgl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX \
+	$(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+	$(CXXLD) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) \
+	$(libgstqmlgl_la_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -235,8 +237,8 @@
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-SOURCES = $(libgstqtsink_la_SOURCES) $(nodist_libgstqtsink_la_SOURCES)
-DIST_SOURCES = $(libgstqtsink_la_SOURCES)
+SOURCES = $(libgstqmlgl_la_SOURCES) $(nodist_libgstqmlgl_la_SOURCES)
+DIST_SOURCES = $(libgstqmlgl_la_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -351,6 +353,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -400,6 +404,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -807,30 +813,38 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
-plugin_LTLIBRARIES = libgstqtsink.la
+plugin_LTLIBRARIES = libgstqmlgl.la
 noinst_HEADERS = \
 	gstqsgtexture.h \
+	gstqtglutility.h \
 	gstqtsink.h \
-	qtitem.h
+	gstqtsrc.h \
+	qtitem.h \
+	qtwindow.h
 
 moc_generated = \
 	moc_qtitem.cc \
+	moc_qtwindow.cc \
 	moc_gstqsgtexture.cc
 
 
 #anything generated by the Qt tools...
 BUILT_SOURCES = $(moc_generated)
 CLEANFILES = $(moc_generated)
-nodist_libgstqtsink_la_SOURCES = $(BUILT_SOURCES)
-libgstqtsink_la_SOURCES = \
+nodist_libgstqmlgl_la_SOURCES = $(BUILT_SOURCES)
+libgstqmlgl_la_SOURCES = \
 	gstqsgtexture.cc \
+	gstqtglutility.cc \
 	qtitem.cc \
+	qtwindow.cc \
 	gstqtsink.cc \
 	gstqtsink.h \
+	gstqtsrc.cc \
+	gstqtsrc.h \
 	gstqtgl.h \
 	gstplugin.cc
 
-libgstqtsink_la_CXXFLAGS = \
+libgstqmlgl_la_CXXFLAGS = \
 	-I$(top_srcdir)/gst-libs \
 	-I$(top_builddir)/gst-libs \
 	$(GST_CXXFLAGS) \
@@ -839,15 +853,15 @@
 	$(QT_CFLAGS) \
 	$(GL_CFLAGS)
 
-libgstqtsink_la_LIBADD = \
+libgstqmlgl_la_LIBADD = \
 	$(GST_BASE_LIBS) \
 	$(GST_PLUGINS_BASE_LIBS) \
 	$(QT_LIBS) \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-$(GST_API_VERSION).la \
 	-lgstvideo-$(GST_API_VERSION)
 
-libgstqtsink_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
-libgstqtsink_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+libgstqmlgl_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgstqmlgl_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 all: $(BUILT_SOURCES)
 	$(MAKE) $(AM_MAKEFLAGS) all-am
 
@@ -918,8 +932,8 @@
 	  rm -f $${locs}; \
 	}
 
-libgstqtsink.la: $(libgstqtsink_la_OBJECTS) $(libgstqtsink_la_DEPENDENCIES) $(EXTRA_libgstqtsink_la_DEPENDENCIES) 
-	$(AM_V_CXXLD)$(libgstqtsink_la_LINK) -rpath $(plugindir) $(libgstqtsink_la_OBJECTS) $(libgstqtsink_la_LIBADD) $(LIBS)
+libgstqmlgl.la: $(libgstqmlgl_la_OBJECTS) $(libgstqmlgl_la_DEPENDENCIES) $(EXTRA_libgstqmlgl_la_DEPENDENCIES) 
+	$(AM_V_CXXLD)$(libgstqmlgl_la_LINK) -rpath $(plugindir) $(libgstqmlgl_la_OBJECTS) $(libgstqmlgl_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -927,12 +941,16 @@
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqtsink_la-gstplugin.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqtsink_la-gstqsgtexture.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqtsink_la-gstqtsink.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqtsink_la-moc_gstqsgtexture.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqtsink_la-moc_qtitem.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqtsink_la-qtitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqmlgl_la-gstplugin.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqmlgl_la-gstqsgtexture.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqmlgl_la-gstqtglutility.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqmlgl_la-gstqtsink.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqmlgl_la-gstqtsrc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqmlgl_la-moc_gstqsgtexture.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqmlgl_la-moc_qtitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqmlgl_la-moc_qtwindow.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqmlgl_la-qtitem.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstqmlgl_la-qtwindow.Plo@am__quote@
 
 .cc.o:
 @am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -958,47 +976,75 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<
 
-libgstqtsink_la-gstqsgtexture.lo: gstqsgtexture.cc
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqtsink_la-gstqsgtexture.lo -MD -MP -MF $(DEPDIR)/libgstqtsink_la-gstqsgtexture.Tpo -c -o libgstqtsink_la-gstqsgtexture.lo `test -f 'gstqsgtexture.cc' || echo '$(srcdir)/'`gstqsgtexture.cc
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqtsink_la-gstqsgtexture.Tpo $(DEPDIR)/libgstqtsink_la-gstqsgtexture.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstqsgtexture.cc' object='libgstqtsink_la-gstqsgtexture.lo' libtool=yes @AMDEPBACKSLASH@
+libgstqmlgl_la-gstqsgtexture.lo: gstqsgtexture.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqmlgl_la-gstqsgtexture.lo -MD -MP -MF $(DEPDIR)/libgstqmlgl_la-gstqsgtexture.Tpo -c -o libgstqmlgl_la-gstqsgtexture.lo `test -f 'gstqsgtexture.cc' || echo '$(srcdir)/'`gstqsgtexture.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqmlgl_la-gstqsgtexture.Tpo $(DEPDIR)/libgstqmlgl_la-gstqsgtexture.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstqsgtexture.cc' object='libgstqmlgl_la-gstqsgtexture.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqtsink_la-gstqsgtexture.lo `test -f 'gstqsgtexture.cc' || echo '$(srcdir)/'`gstqsgtexture.cc
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqmlgl_la-gstqsgtexture.lo `test -f 'gstqsgtexture.cc' || echo '$(srcdir)/'`gstqsgtexture.cc
 
-libgstqtsink_la-qtitem.lo: qtitem.cc
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqtsink_la-qtitem.lo -MD -MP -MF $(DEPDIR)/libgstqtsink_la-qtitem.Tpo -c -o libgstqtsink_la-qtitem.lo `test -f 'qtitem.cc' || echo '$(srcdir)/'`qtitem.cc
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqtsink_la-qtitem.Tpo $(DEPDIR)/libgstqtsink_la-qtitem.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='qtitem.cc' object='libgstqtsink_la-qtitem.lo' libtool=yes @AMDEPBACKSLASH@
+libgstqmlgl_la-gstqtglutility.lo: gstqtglutility.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqmlgl_la-gstqtglutility.lo -MD -MP -MF $(DEPDIR)/libgstqmlgl_la-gstqtglutility.Tpo -c -o libgstqmlgl_la-gstqtglutility.lo `test -f 'gstqtglutility.cc' || echo '$(srcdir)/'`gstqtglutility.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqmlgl_la-gstqtglutility.Tpo $(DEPDIR)/libgstqmlgl_la-gstqtglutility.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstqtglutility.cc' object='libgstqmlgl_la-gstqtglutility.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqtsink_la-qtitem.lo `test -f 'qtitem.cc' || echo '$(srcdir)/'`qtitem.cc
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqmlgl_la-gstqtglutility.lo `test -f 'gstqtglutility.cc' || echo '$(srcdir)/'`gstqtglutility.cc
 
-libgstqtsink_la-gstqtsink.lo: gstqtsink.cc
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqtsink_la-gstqtsink.lo -MD -MP -MF $(DEPDIR)/libgstqtsink_la-gstqtsink.Tpo -c -o libgstqtsink_la-gstqtsink.lo `test -f 'gstqtsink.cc' || echo '$(srcdir)/'`gstqtsink.cc
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqtsink_la-gstqtsink.Tpo $(DEPDIR)/libgstqtsink_la-gstqtsink.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstqtsink.cc' object='libgstqtsink_la-gstqtsink.lo' libtool=yes @AMDEPBACKSLASH@
+libgstqmlgl_la-qtitem.lo: qtitem.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqmlgl_la-qtitem.lo -MD -MP -MF $(DEPDIR)/libgstqmlgl_la-qtitem.Tpo -c -o libgstqmlgl_la-qtitem.lo `test -f 'qtitem.cc' || echo '$(srcdir)/'`qtitem.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqmlgl_la-qtitem.Tpo $(DEPDIR)/libgstqmlgl_la-qtitem.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='qtitem.cc' object='libgstqmlgl_la-qtitem.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqtsink_la-gstqtsink.lo `test -f 'gstqtsink.cc' || echo '$(srcdir)/'`gstqtsink.cc
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqmlgl_la-qtitem.lo `test -f 'qtitem.cc' || echo '$(srcdir)/'`qtitem.cc
 
-libgstqtsink_la-gstplugin.lo: gstplugin.cc
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqtsink_la-gstplugin.lo -MD -MP -MF $(DEPDIR)/libgstqtsink_la-gstplugin.Tpo -c -o libgstqtsink_la-gstplugin.lo `test -f 'gstplugin.cc' || echo '$(srcdir)/'`gstplugin.cc
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqtsink_la-gstplugin.Tpo $(DEPDIR)/libgstqtsink_la-gstplugin.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstplugin.cc' object='libgstqtsink_la-gstplugin.lo' libtool=yes @AMDEPBACKSLASH@
+libgstqmlgl_la-qtwindow.lo: qtwindow.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqmlgl_la-qtwindow.lo -MD -MP -MF $(DEPDIR)/libgstqmlgl_la-qtwindow.Tpo -c -o libgstqmlgl_la-qtwindow.lo `test -f 'qtwindow.cc' || echo '$(srcdir)/'`qtwindow.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqmlgl_la-qtwindow.Tpo $(DEPDIR)/libgstqmlgl_la-qtwindow.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='qtwindow.cc' object='libgstqmlgl_la-qtwindow.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqtsink_la-gstplugin.lo `test -f 'gstplugin.cc' || echo '$(srcdir)/'`gstplugin.cc
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqmlgl_la-qtwindow.lo `test -f 'qtwindow.cc' || echo '$(srcdir)/'`qtwindow.cc
 
-libgstqtsink_la-moc_qtitem.lo: moc_qtitem.cc
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqtsink_la-moc_qtitem.lo -MD -MP -MF $(DEPDIR)/libgstqtsink_la-moc_qtitem.Tpo -c -o libgstqtsink_la-moc_qtitem.lo `test -f 'moc_qtitem.cc' || echo '$(srcdir)/'`moc_qtitem.cc
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqtsink_la-moc_qtitem.Tpo $(DEPDIR)/libgstqtsink_la-moc_qtitem.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='moc_qtitem.cc' object='libgstqtsink_la-moc_qtitem.lo' libtool=yes @AMDEPBACKSLASH@
+libgstqmlgl_la-gstqtsink.lo: gstqtsink.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqmlgl_la-gstqtsink.lo -MD -MP -MF $(DEPDIR)/libgstqmlgl_la-gstqtsink.Tpo -c -o libgstqmlgl_la-gstqtsink.lo `test -f 'gstqtsink.cc' || echo '$(srcdir)/'`gstqtsink.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqmlgl_la-gstqtsink.Tpo $(DEPDIR)/libgstqmlgl_la-gstqtsink.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstqtsink.cc' object='libgstqmlgl_la-gstqtsink.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqtsink_la-moc_qtitem.lo `test -f 'moc_qtitem.cc' || echo '$(srcdir)/'`moc_qtitem.cc
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqmlgl_la-gstqtsink.lo `test -f 'gstqtsink.cc' || echo '$(srcdir)/'`gstqtsink.cc
 
-libgstqtsink_la-moc_gstqsgtexture.lo: moc_gstqsgtexture.cc
-@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqtsink_la-moc_gstqsgtexture.lo -MD -MP -MF $(DEPDIR)/libgstqtsink_la-moc_gstqsgtexture.Tpo -c -o libgstqtsink_la-moc_gstqsgtexture.lo `test -f 'moc_gstqsgtexture.cc' || echo '$(srcdir)/'`moc_gstqsgtexture.cc
-@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqtsink_la-moc_gstqsgtexture.Tpo $(DEPDIR)/libgstqtsink_la-moc_gstqsgtexture.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='moc_gstqsgtexture.cc' object='libgstqtsink_la-moc_gstqsgtexture.lo' libtool=yes @AMDEPBACKSLASH@
+libgstqmlgl_la-gstqtsrc.lo: gstqtsrc.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqmlgl_la-gstqtsrc.lo -MD -MP -MF $(DEPDIR)/libgstqmlgl_la-gstqtsrc.Tpo -c -o libgstqmlgl_la-gstqtsrc.lo `test -f 'gstqtsrc.cc' || echo '$(srcdir)/'`gstqtsrc.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqmlgl_la-gstqtsrc.Tpo $(DEPDIR)/libgstqmlgl_la-gstqtsrc.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstqtsrc.cc' object='libgstqmlgl_la-gstqtsrc.lo' libtool=yes @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqtsink_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqtsink_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqtsink_la-moc_gstqsgtexture.lo `test -f 'moc_gstqsgtexture.cc' || echo '$(srcdir)/'`moc_gstqsgtexture.cc
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqmlgl_la-gstqtsrc.lo `test -f 'gstqtsrc.cc' || echo '$(srcdir)/'`gstqtsrc.cc
+
+libgstqmlgl_la-gstplugin.lo: gstplugin.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqmlgl_la-gstplugin.lo -MD -MP -MF $(DEPDIR)/libgstqmlgl_la-gstplugin.Tpo -c -o libgstqmlgl_la-gstplugin.lo `test -f 'gstplugin.cc' || echo '$(srcdir)/'`gstplugin.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqmlgl_la-gstplugin.Tpo $(DEPDIR)/libgstqmlgl_la-gstplugin.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='gstplugin.cc' object='libgstqmlgl_la-gstplugin.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqmlgl_la-gstplugin.lo `test -f 'gstplugin.cc' || echo '$(srcdir)/'`gstplugin.cc
+
+libgstqmlgl_la-moc_qtitem.lo: moc_qtitem.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqmlgl_la-moc_qtitem.lo -MD -MP -MF $(DEPDIR)/libgstqmlgl_la-moc_qtitem.Tpo -c -o libgstqmlgl_la-moc_qtitem.lo `test -f 'moc_qtitem.cc' || echo '$(srcdir)/'`moc_qtitem.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqmlgl_la-moc_qtitem.Tpo $(DEPDIR)/libgstqmlgl_la-moc_qtitem.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='moc_qtitem.cc' object='libgstqmlgl_la-moc_qtitem.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqmlgl_la-moc_qtitem.lo `test -f 'moc_qtitem.cc' || echo '$(srcdir)/'`moc_qtitem.cc
+
+libgstqmlgl_la-moc_qtwindow.lo: moc_qtwindow.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqmlgl_la-moc_qtwindow.lo -MD -MP -MF $(DEPDIR)/libgstqmlgl_la-moc_qtwindow.Tpo -c -o libgstqmlgl_la-moc_qtwindow.lo `test -f 'moc_qtwindow.cc' || echo '$(srcdir)/'`moc_qtwindow.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqmlgl_la-moc_qtwindow.Tpo $(DEPDIR)/libgstqmlgl_la-moc_qtwindow.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='moc_qtwindow.cc' object='libgstqmlgl_la-moc_qtwindow.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqmlgl_la-moc_qtwindow.lo `test -f 'moc_qtwindow.cc' || echo '$(srcdir)/'`moc_qtwindow.cc
+
+libgstqmlgl_la-moc_gstqsgtexture.lo: moc_gstqsgtexture.cc
+@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -MT libgstqmlgl_la-moc_gstqsgtexture.lo -MD -MP -MF $(DEPDIR)/libgstqmlgl_la-moc_gstqsgtexture.Tpo -c -o libgstqmlgl_la-moc_gstqsgtexture.lo `test -f 'moc_gstqsgtexture.cc' || echo '$(srcdir)/'`moc_gstqsgtexture.cc
+@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstqmlgl_la-moc_gstqsgtexture.Tpo $(DEPDIR)/libgstqmlgl_la-moc_gstqsgtexture.Plo
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='moc_gstqsgtexture.cc' object='libgstqmlgl_la-moc_gstqsgtexture.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(libgstqmlgl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstqmlgl_la_CXXFLAGS) $(CXXFLAGS) -c -o libgstqmlgl_la-moc_gstqsgtexture.lo `test -f 'moc_gstqsgtexture.cc' || echo '$(srcdir)/'`moc_gstqsgtexture.cc
 
 mostlyclean-libtool:
 	-rm -f *.lo
diff --git a/ext/qt/gstplugin.cc b/ext/qt/gstplugin.cc
index 2fa10f5..01ca275 100644
--- a/ext/qt/gstplugin.cc
+++ b/ext/qt/gstplugin.cc
@@ -23,6 +23,7 @@
 #endif
 
 #include "gstqtsink.h"
+#include "gstqtsrc.h"
 #include <QtQml/QQmlApplicationEngine>
 
 static gboolean
@@ -32,6 +33,11 @@
           GST_RANK_NONE, GST_TYPE_QT_SINK)) {
     return FALSE;
   }
+  
+  if (!gst_element_register (plugin, "qmlglsrc",
+          GST_RANK_NONE, GST_TYPE_QT_SRC)) {
+    return FALSE;
+  }
   /* this means the plugin must be loaded before the qml engine is loaded */
   qmlRegisterType<QtGLVideoItem> ("org.freedesktop.gstreamer.GLVideoItem", 1, 0, "GstGLVideoItem");
 
@@ -41,6 +47,6 @@
 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
     GST_VERSION_MINOR,
     qt,
-    "Qt sink",
+    "Qt gl plugin",
     plugin_init, PACKAGE_VERSION, GST_LICENSE, GST_PACKAGE_NAME,
     GST_PACKAGE_ORIGIN)
diff --git a/ext/qt/gstqtglutility.cc b/ext/qt/gstqtglutility.cc
new file mode 100644
index 0000000..4d6d318
--- /dev/null
+++ b/ext/qt/gstqtglutility.cc
@@ -0,0 +1,214 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Freescale Semiconductor, Inc. All rights reserved.
+ *
+ * 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 "gstqtglutility.h"
+#include <QtGui/QGuiApplication>
+
+#if GST_GL_HAVE_WINDOW_X11 && GST_GL_HAVE_PLATFORM_GLX && defined (HAVE_QT_X11)
+#include <QX11Info>
+#include <gst/gl/x11/gstgldisplay_x11.h>
+#include <gst/gl/x11/gstglcontext_glx.h>
+#endif
+
+#if GST_GL_HAVE_WINDOW_WAYLAND && GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_WAYLAND)
+#include <qpa/qplatformnativeinterface.h>
+#include <gst/gl/wayland/gstgldisplay_wayland.h>
+#endif
+
+#if GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_EGLFS)
+#include <gst/gl/egl/gstgldisplay_egl.h>
+#include <gst/gl/egl/gstglcontext_egl.h>
+#endif
+
+#if GST_GL_HAVE_WINDOW_COCOA && GST_GL_HAVE_PLATFORM_COCOA && defined (HAVE_QT_MAC)
+#include <gst/gl/coaoa/gstgldisplay_cocoa.h>
+#endif
+
+#define GST_CAT_DEFAULT qt_gl_utils_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+GstGLDisplay *
+gst_qt_get_gl_display ()
+{
+  GstGLDisplay *display = NULL;
+  QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
+  static volatile gsize _debug;
+
+  g_assert (app != NULL);
+
+  if (g_once_init_enter (&_debug)) {
+    GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglutility", 0,
+        "Qt gl utility functions");
+    g_once_init_leave (&_debug, 1);
+  }
+  GST_INFO ("QGuiApplication::instance()->platformName() %s", app->platformName().toUtf8().data());
+
+#if GST_GL_HAVE_WINDOW_X11 && defined (HAVE_QT_X11)
+  if (QString::fromUtf8 ("xcb") == app->platformName())
+    display = (GstGLDisplay *)
+        gst_gl_display_x11_new_with_display (QX11Info::display ());
+#endif
+#if GST_GL_HAVE_WINDOW_WAYLAND && GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_WAYLAND)
+  if (QString::fromUtf8 ("wayland") == app->platformName()
+        || QString::fromUtf8 ("wayland-egl") == app->platformName()){
+    struct wl_display * wayland_display;
+    QPlatformNativeInterface *native =
+        QGuiApplication::platformNativeInterface();
+    wayland_display = (struct wl_display *)
+        native->nativeResourceForWindow("display", NULL);
+    display = (GstGLDisplay *)
+        gst_gl_display_wayland_new_with_display (wayland_display);
+  }
+#endif
+#if GST_GL_HAVE_PLATFORM_EGL && GST_GL_HAVE_WINDOW_ANDROID
+  if (QString::fromUtf8 ("android") == app->platformName())
+    display = (GstGLDisplay *) gst_gl_display_egl_new ();
+#elif GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_EGLFS)
+  if (QString::fromUtf8("eglfs") == app->platformName())
+    display = (GstGLDisplay *) gst_gl_display_egl_new ();
+#endif
+
+#if GST_GL_HAVE_WINDOW_COCOA && GST_GL_HAVE_PLATFORM_COCOA && defined (HAVE_QT_MAC)
+  if (QString::fromUtf8 ("cocoa") == app->platformName())
+    display = (GstGLDisplay *) gst_gl_display_cocoa_new ();
+#endif
+#if GST_GL_HAVE_WINDOW_EAGL && GST_GL_HAVE_PLATFORM_EAGL && defined (HAVE_QT_IOS)
+  if (QString::fromUtf8 ("ios") == app->platformName())
+    display = gst_gl_display_new ();
+#endif
+#if GST_GL_HAVE_WINDOW_WIN32 && GST_GL_HAVE_PLATFORM_WGL && defined (HAVE_QT_WIN32)
+  if (QString::fromUtf8 ("windows") == app->platformName())
+    display = gst_gl_display_new ();
+#endif
+
+  if (!display)
+    display = gst_gl_display_new ();
+
+  return display;
+}
+
+gboolean
+gst_qt_get_gl_wrapcontext (GstGLDisplay * display,
+    GstGLContext **wrap_glcontext, GstGLContext **context)
+{
+  GstGLPlatform platform = (GstGLPlatform) 0;
+  GstGLAPI gl_api;
+  guintptr gl_handle;
+  GError *error = NULL;
+
+  g_return_val_if_fail (display != NULL && wrap_glcontext != NULL, FALSE);
+
+#if GST_GL_HAVE_WINDOW_X11 && defined (HAVE_QT_X11)
+  if (GST_IS_GL_DISPLAY_X11 (display)) {
+    platform = GST_GL_PLATFORM_GLX;
+  }
+#endif
+#if GST_GL_HAVE_WINDOW_WAYLAND && defined (HAVE_QT_WAYLAND)
+  if (GST_IS_GL_DISPLAY_WAYLAND (display)) {
+    platform = GST_GL_PLATFORM_EGL;
+  }
+#endif
+#if GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_EGLFS)
+  if (GST_IS_GL_DISPLAY_EGL (display)) {
+    platform = GST_GL_PLATFORM_EGL;
+  }
+#endif
+  if (platform == 0) {
+#if GST_GL_HAVE_WINDOW_COCOA && GST_GL_HAVE_PLATFORM_COCOA && defined (HAVE_QT_MAC)
+    platform = GST_GL_PLATFORM_CGL;
+#elif GST_GL_HAVE_WINDOW_EAGL && GST_GL_HAVE_PLATFORM_EAGL && defined (HAVE_QT_IOS)
+    platform = GST_GL_PLATFORM_EAGL;
+#elif GST_GL_HAVE_WINDOW_WIN32 && GST_GL_HAVE_PLATFORM_WGL && defined (HAVE_QT_WIN32)
+    platform = GST_GL_PLATFORM_WGL;
+#else
+    GST_ERROR ("Unknown platform");
+    return FALSE;
+#endif
+  }
+
+  gl_api = gst_gl_context_get_current_gl_api (platform, NULL, NULL);
+  gl_handle = gst_gl_context_get_current_gl_context (platform);
+  if (gl_handle)
+    *wrap_glcontext =
+        gst_gl_context_new_wrapped (display, gl_handle,
+        platform, gl_api);
+
+  if (!*wrap_glcontext) {
+    GST_ERROR ("cannot wrap qt OpenGL context");
+    return FALSE;
+  }
+ 
+  (void) platform;
+  (void) gl_api;
+  (void) gl_handle;
+
+  gst_gl_context_activate (*wrap_glcontext, TRUE);
+  if (!gst_gl_context_fill_info (*wrap_glcontext, &error)) {
+    GST_ERROR ("failed to retrieve qt context info: %s", error->message);
+    g_object_unref (*wrap_glcontext);
+    *wrap_glcontext = NULL;
+    return FALSE;
+  } else {
+    gst_gl_display_filter_gl_api (display, gst_gl_context_get_gl_api (*wrap_glcontext));
+#if GST_GL_HAVE_WINDOW_WIN32 && GST_GL_HAVE_PLATFORM_WGL && defined (HAVE_QT_WIN32)  
+    g_return_val_if_fail (context != NULL, FALSE);
+
+    G_STMT_START {
+      GstGLWindow *window;
+      HDC device;
+
+      /* If there's no wglCreateContextAttribsARB() support, then we would fallback to
+       * wglShareLists() which will fail with ERROR_BUSY (0xaa) if either of the GL
+       * contexts are current in any other thread.
+       *
+       * The workaround here is to temporarily disable Qt's GL context while we
+       * set up our own.
+       *
+       * Sometimes wglCreateContextAttribsARB()
+       * exists, but isn't functional (some Intel drivers), so it's easiest to do this
+       * unconditionally.
+       */
+      *context = gst_gl_context_new (display);
+      window = gst_gl_context_get_window (*context);
+      device = (HDC) gst_gl_window_get_display (window);
+
+      wglMakeCurrent (device, 0);
+      gst_object_unref (window);
+      if (!gst_gl_context_create (*context, *wrap_glcontext, &error)) {
+        GST_ERROR ("%p failed to create shared GL context: %s", this, error->message);
+        g_object_unref (*context);
+        *context = NULL;
+        g_object_unref (*wrap_glcontext);
+        *wrap_glcontext = NULL;
+        wglMakeCurrent (device, (HGLRC) gl_handle);
+        return FALSE;
+      }
+      wglMakeCurrent (device, (HGLRC) gl_handle);
+    }
+#endif
+    gst_gl_context_activate (*wrap_glcontext, FALSE);
+  } G_STMT_END;
+
+  return TRUE;
+}
diff --git a/sys/applemedia-nonpublic/bufferfactory.h b/ext/qt/gstqtglutility.h
similarity index 66%
copy from sys/applemedia-nonpublic/bufferfactory.h
copy to ext/qt/gstqtglutility.h
index 132b953..ca90237 100644
--- a/sys/applemedia-nonpublic/bufferfactory.h
+++ b/ext/qt/gstqtglutility.h
@@ -1,5 +1,6 @@
 /*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.com>
+ * GStreamer
+ * Copyright (C) 2016 Freescale Semiconductor, Inc. All rights reserved.
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -17,18 +18,17 @@
  * Boston, MA 02110-1301, USA.
  */
 
-#import <Foundation/Foundation.h>
+#ifndef __QT_GL_UTILS_H__
+#define __QT_GL_UTILS_H__
 
 #include <gst/gst.h>
+#include <gst/gl/gl.h>
 
-@interface GstAMBufferFactory : NSObject {
-  gpointer coreMediaCtx;
-}
+G_BEGIN_DECLS
 
-- (id)initWithError:(GError **)error;
-- (void)finalize;
+GstGLDisplay * gst_qt_get_gl_display ();
+gboolean       gst_qt_get_gl_wrapcontext (GstGLDisplay * display,
+    GstGLContext **wrap_glcontext, GstGLContext **context);
 
-- (GstBuffer *)createGstBufferForCoreVideoBuffer:(CFTypeRef)cvbuf;
-- (GstBuffer *)createGstBufferForSampleBuffer:(CFTypeRef)sbuf;
-
-@end
+G_END_DECLS
+#endif /* __QT_GL_UTILS_H__ */
diff --git a/ext/qt/gstqtsrc.cc b/ext/qt/gstqtsrc.cc
new file mode 100644
index 0000000..3cfc709
--- /dev/null
+++ b/ext/qt/gstqtsrc.cc
@@ -0,0 +1,606 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Freescale Semiconductor, Inc. All rights reserved.
+ *
+ * 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:qmlglsrc
+ *
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gstqtsrc.h"
+#include <QtGui/QGuiApplication>
+
+#define GST_CAT_DEFAULT gst_debug_qt_gl_src
+GST_DEBUG_CATEGORY (GST_CAT_DEFAULT);
+
+#define DEFAULT_IS_LIVE TRUE
+
+static void gst_qt_src_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_qt_src_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+
+static void gst_qt_src_finalize (GObject * object);
+
+static gboolean gst_qt_src_setcaps (GstBaseSrc * bsrc, GstCaps * caps);
+static GstCaps *gst_qt_src_get_caps (GstBaseSrc * bsrc, GstCaps * filter);
+static gboolean gst_qt_src_query (GstBaseSrc * bsrc, GstQuery * query);
+
+static gboolean gst_qt_src_decide_allocation (GstBaseSrc * bsrc,
+    GstQuery * query);
+static GstFlowReturn gst_qt_src_fill (GstPushSrc * psrc, GstBuffer * buffer);
+static GstStateChangeReturn gst_qt_src_change_state (GstElement * element,
+    GstStateChange transition);
+static gboolean gst_qt_src_start (GstBaseSrc * basesrc);
+static gboolean gst_qt_src_stop (GstBaseSrc * basesrc);
+
+static GstStaticPadTemplate gst_qt_src_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-raw(" GST_CAPS_FEATURE_MEMORY_GL_MEMORY "), "
+        "format = (string) RGBA, "
+        "width = " GST_VIDEO_SIZE_RANGE ", "
+        "height = " GST_VIDEO_SIZE_RANGE ", "
+        "framerate = " GST_VIDEO_FPS_RANGE ", "
+        "texture-target = (string) 2D"));
+
+enum
+{
+  ARG_0,
+  PROP_WINDOW,
+  PROP_DEFAULT_FBO
+};
+
+#define gst_qt_src_parent_class parent_class
+G_DEFINE_TYPE_WITH_CODE (GstQtSrc, gst_qt_src,
+    GST_TYPE_PUSH_SRC, GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT,
+        "qtsrc", 0, "Qt Video Src"));
+
+static const gfloat vertical_flip_matrix[] = {
+  1.0f, 0.0f, 0.0f, 0.0f,
+  0.0f, -1.0f, 0.0f, 1.0f,
+  0.0f, 0.0f, 1.0f, 0.0f,
+  0.0f, 0.0f, 0.0f, 1.0f,
+};
+
+static void
+gst_qt_src_class_init (GstQtSrcClass * klass)
+{
+  GObjectClass *gobject_class = (GObjectClass *) klass;
+  GstElementClass *gstelement_class = (GstElementClass *) klass;
+  GstBaseSrcClass *gstbasesrc_class = (GstBaseSrcClass *) klass;
+  GstPushSrcClass *gstpushsrc_class = (GstPushSrcClass *) klass;
+
+  gobject_class->set_property = gst_qt_src_set_property;
+  gobject_class->get_property = gst_qt_src_get_property;
+  gobject_class->finalize = gst_qt_src_finalize;
+
+  gst_element_class_set_metadata (gstelement_class, "Qt Video Source",
+      "Source/Video", "A video src the grab window from a qml view",
+      "Multimedia Team <shmmmw@freescale.com>");
+
+  g_object_class_install_property (gobject_class, PROP_WINDOW,
+      g_param_spec_pointer ("window", "QQuickWindow",
+          "The QQuickWindow to place in the object heirachy",
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
+
+  g_object_class_install_property (gobject_class, PROP_DEFAULT_FBO,
+      g_param_spec_boolean ("use-default-fbo",
+          "If use default fbo",
+          "When set TRUE, it will not create new fbo for qml render thread",
+          FALSE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));
+
+  gst_element_class_add_pad_template (gstelement_class,
+      gst_static_pad_template_get (&gst_qt_src_template));
+
+  gstelement_class->change_state = gst_qt_src_change_state;
+  gstbasesrc_class->set_caps = gst_qt_src_setcaps;
+  gstbasesrc_class->get_caps = gst_qt_src_get_caps;
+  gstbasesrc_class->query = gst_qt_src_query;
+  gstbasesrc_class->start = gst_qt_src_start;
+  gstbasesrc_class->stop = gst_qt_src_stop;
+  gstbasesrc_class->decide_allocation = gst_qt_src_decide_allocation;
+
+  gstpushsrc_class->fill = gst_qt_src_fill;
+}
+
+static void
+gst_qt_src_init (GstQtSrc * src)
+{
+  gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
+  gst_base_src_set_live (GST_BASE_SRC (src), DEFAULT_IS_LIVE);
+  src->default_fbo = FALSE;
+  src->pending_image_orientation = TRUE;
+}
+
+static void
+gst_qt_src_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstQtSrc *qt_src = GST_QT_SRC (object);
+
+  switch (prop_id) {
+    case PROP_WINDOW:{
+      qt_src->qwindow =
+          static_cast < QQuickWindow * >(g_value_get_pointer (value));
+
+      if (qt_src->window)
+        delete qt_src->window;
+      if (qt_src->qwindow)
+        qt_src->window = new QtGLWindow (NULL, qt_src->qwindow);
+
+      break;
+    }
+    case PROP_DEFAULT_FBO:
+      qt_src->default_fbo = g_value_get_boolean (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_qt_src_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstQtSrc *qt_src = GST_QT_SRC (object);
+
+  switch (prop_id) {
+    case PROP_WINDOW:
+      g_value_set_pointer (value, qt_src->qwindow);
+      break;
+    case PROP_DEFAULT_FBO:
+      g_value_set_boolean (value, qt_src->default_fbo);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_qt_src_finalize (GObject * object)
+{
+  GstQtSrc *qt_src = GST_QT_SRC (object);
+
+  GST_DEBUG ("qmlglsrc finalize");
+  if (qt_src->context)
+    gst_object_unref (qt_src->context);
+  qt_src->context = NULL;
+
+  if (qt_src->qt_context)
+    gst_object_unref (qt_src->qt_context);
+  qt_src->qt_context = NULL;
+
+  if (qt_src->display)
+    gst_object_unref (qt_src->display);
+  qt_src->display = NULL;
+
+  if (qt_src->window)
+    delete qt_src->window;
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static gboolean
+gst_qt_src_setcaps (GstBaseSrc * bsrc, GstCaps * caps)
+{
+  GstQtSrc *qt_src = GST_QT_SRC (bsrc);
+
+  GST_DEBUG ("set caps with %" GST_PTR_FORMAT, caps);
+
+  if (!gst_video_info_from_caps (&qt_src->v_info, caps))
+    return FALSE;
+
+  if (!qt_window_set_caps (qt_src->window, caps))
+    return FALSE;
+
+  return TRUE;
+}
+
+static GstCaps *
+gst_qt_src_get_caps (GstBaseSrc * bsrc, GstCaps * filter)
+{
+  GstCaps *caps = NULL, *temp = NULL;
+  GstPadTemplate *pad_template;
+  GstBaseSrcClass *bclass = GST_BASE_SRC_GET_CLASS (bsrc);
+  GstQtSrc *qt_src = GST_QT_SRC (bsrc);
+  guint i;
+  gint width, height;
+
+  if (qt_src->window) {
+    qt_src->window->getGeometry (&width, &height);
+  }
+
+  pad_template =
+      gst_element_class_get_pad_template (GST_ELEMENT_CLASS (bclass), "src");
+  if (pad_template != NULL)
+    caps = gst_pad_template_get_caps (pad_template);
+
+  if (qt_src->window) {
+    temp = gst_caps_copy (caps);
+    guint n_caps = gst_caps_get_size (caps);
+
+    for (i = 0; i < n_caps; i++) {
+      GstStructure *s = gst_caps_get_structure (temp, i);
+      gst_structure_set (s, "width", G_TYPE_INT, width, NULL);
+      gst_structure_set (s, "height", G_TYPE_INT, height, NULL);
+      /* because the framerate is unknown */
+      gst_structure_set (s, "framerate", GST_TYPE_FRACTION, 0, 1, NULL);
+      gst_structure_set (s, "pixel-aspect-ratio",
+          GST_TYPE_FRACTION, 1, 1, NULL);
+    }
+
+    gst_caps_unref (caps);
+    caps = temp;
+  }
+
+  if (filter) {
+    GstCaps *intersection;
+
+    intersection =
+        gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (caps);
+    caps = intersection;
+  }
+
+  return caps;
+}
+
+static gboolean
+gst_qt_src_query (GstBaseSrc * bsrc, GstQuery * query)
+{
+  GstQtSrc *qt_src = GST_QT_SRC (bsrc);
+  gboolean res = FALSE;
+
+  switch (GST_QUERY_TYPE (query)) {
+    case GST_QUERY_CONTEXT:
+    {
+      const gchar *context_type;
+      GstContext *context, *old_context;
+      gboolean ret;
+
+      if (!qt_window_is_scenegraph_initialized (qt_src->window))
+        return FALSE;
+
+      if (!qt_src->display && !qt_src->qt_context) {
+        qt_src->display = qt_window_get_display (qt_src->window);
+        qt_src->qt_context = qt_window_get_qt_context (qt_src->window);
+      }
+
+      ret = gst_gl_handle_context_query ((GstElement *) qt_src, query,
+          &qt_src->display, &qt_src->qt_context);
+
+      if (qt_src->display)
+        gst_gl_display_filter_gl_api (qt_src->display,
+            gst_gl_context_get_gl_api (qt_src->qt_context));
+
+      gst_query_parse_context_type (query, &context_type);
+
+      if (g_strcmp0 (context_type, "gst.gl.app_context") == 0) {
+        GstStructure *s;
+
+        gst_query_parse_context (query, &old_context);
+
+        if (old_context)
+          context = gst_context_copy (old_context);
+        else
+          context = gst_context_new ("gst.gl.app_context", FALSE);
+
+        s = gst_context_writable_structure (context);
+        gst_structure_set (s, "context", GST_GL_TYPE_CONTEXT,
+            qt_src->qt_context, NULL);
+        gst_query_set_context (query, context);
+        gst_context_unref (context);
+
+        ret = qt_src->qt_context != NULL;
+      }
+      GST_LOG_OBJECT (qt_src, "context query of type %s %i", context_type, ret);
+
+      if (ret)
+        return ret;
+
+      /* fallthrough */
+    }
+    default:
+      res = GST_BASE_SRC_CLASS (parent_class)->query (bsrc, query);
+      break;
+  }
+
+  return res;
+}
+
+static gboolean
+_find_local_gl_context (GstQtSrc * qt_src)
+{
+  GstQuery *query;
+  GstContext *context;
+  const GstStructure *s;
+
+  if (qt_src->context)
+    return TRUE;
+
+  query = gst_query_new_context ("gst.gl.local_context");
+  if (!qt_src->context
+      && gst_gl_run_query (GST_ELEMENT (qt_src), query, GST_PAD_SRC)) {
+    gst_query_parse_context (query, &context);
+    if (context) {
+      s = gst_context_get_structure (context);
+      gst_structure_get (s, "context", GST_GL_TYPE_CONTEXT, &qt_src->context,
+          NULL);
+    }
+  }
+
+  GST_DEBUG_OBJECT (qt_src, "found local context %p", qt_src->context);
+
+  gst_query_unref (query);
+
+  if (qt_src->context)
+    return TRUE;
+
+  return FALSE;
+}
+
+static gboolean
+gst_qt_src_decide_allocation (GstBaseSrc * bsrc, GstQuery * query)
+{
+  GstBufferPool *pool = NULL;
+  GstStructure *config;
+  GstCaps *caps;
+  guint min, max, size, n, i;
+  gboolean update_pool, update_allocator;
+  GstAllocator *allocator;
+  GstAllocationParams params;
+  GstGLVideoAllocationParams *glparams;
+  GstVideoInfo vinfo;
+  GstQtSrc *qt_src = GST_QT_SRC (bsrc);
+
+  if (gst_query_find_allocation_meta (query,
+          GST_VIDEO_AFFINE_TRANSFORMATION_META_API_TYPE, NULL)) {
+    qt_src->downstream_supports_affine_meta = TRUE;
+  } else {
+    qt_src->downstream_supports_affine_meta = FALSE;
+  }
+
+  gst_query_parse_allocation (query, &caps, NULL);
+  if (!caps)
+    return FALSE;
+
+  gst_video_info_from_caps (&vinfo, caps);
+
+  n = gst_query_get_n_allocation_pools (query);
+  if (n > 0) {
+    update_pool = TRUE;
+    for (i = 0; i < n; i++) {
+      gst_query_parse_nth_allocation_pool (query, i, &pool, &size, &min, &max);
+
+      if (!pool || !GST_IS_GL_BUFFER_POOL (pool)) {
+        if (pool)
+          gst_object_unref (pool);
+        pool = NULL;
+      }
+    }
+  }
+
+  if (!pool) {
+    size = vinfo.size;
+    min = max = 0;
+    update_pool = FALSE;
+  }
+
+  if (!qt_src->context && !_find_local_gl_context (qt_src))
+    return FALSE;
+
+  if (!pool) {
+    if (!qt_src->context || !GST_IS_GL_CONTEXT (qt_src->context))
+      return FALSE;
+
+    pool = gst_gl_buffer_pool_new (qt_src->context);
+    GST_INFO_OBJECT (qt_src, "No pool, create one ourself %p", pool);
+  }
+
+  config = gst_buffer_pool_get_config (pool);
+
+  gst_buffer_pool_config_set_params (config, caps, size, min, max);
+  gst_buffer_pool_config_add_option (config, GST_BUFFER_POOL_OPTION_VIDEO_META);
+  if (gst_query_find_allocation_meta (query, GST_GL_SYNC_META_API_TYPE, NULL))
+    gst_buffer_pool_config_add_option (config,
+        GST_BUFFER_POOL_OPTION_GL_SYNC_META);
+
+  if (gst_query_get_n_allocation_params (query) > 0) {
+    gst_query_parse_nth_allocation_param (query, 0, &allocator, &params);
+    gst_buffer_pool_config_set_allocator (config, allocator, &params);
+    GST_INFO_OBJECT (qt_src, "got allocator %p", allocator);
+    update_allocator = TRUE;
+  } else {
+    allocator = NULL;
+    gst_allocation_params_init (&params);
+    update_allocator = FALSE;
+  }
+
+  glparams =
+      gst_gl_video_allocation_params_new (qt_src->context, &params, &vinfo, 0,
+      NULL, GST_GL_TEXTURE_TARGET_2D, GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
+  gst_buffer_pool_config_set_gl_allocation_params (config,
+      (GstGLAllocationParams *) glparams);
+  gst_gl_allocation_params_free ((GstGLAllocationParams *) glparams);
+
+  if (!gst_buffer_pool_set_config (pool, config))
+    GST_WARNING_OBJECT (qt_src, "Failed to set buffer pool config");
+
+  if (update_allocator)
+    gst_query_set_nth_allocation_param (query, 0, allocator, &params);
+  else
+    gst_query_add_allocation_param (query, allocator, &params);
+  if (allocator)
+    gst_object_unref (allocator);
+
+  if (update_pool)
+    gst_query_set_nth_allocation_pool (query, 0, pool, size, min, max);
+  else
+    gst_query_add_allocation_pool (query, pool, size, min, max);
+  gst_object_unref (pool);
+
+  GST_INFO_OBJECT (qt_src, "successfully decide_allocation");
+  return TRUE;
+}
+
+static GstFlowReturn
+gst_qt_src_fill (GstPushSrc * psrc, GstBuffer * buffer)
+{
+  GstQtSrc *qt_src = GST_QT_SRC (psrc);
+
+  GST_DEBUG_OBJECT (qt_src, "setting buffer %p", buffer);
+
+  if (!qt_window_set_buffer (qt_src->window, buffer)) {
+    GST_ERROR_OBJECT (qt_src, "failed to fill buffer %p", buffer);
+    return GST_FLOW_ERROR;
+  }
+
+  if (!qt_src->downstream_supports_affine_meta) {
+    if (qt_src->pending_image_orientation) {
+      /* let downstream know the image orientation is vertical filp */
+      GstTagList *image_orientation_tag =
+          gst_tag_list_new (GST_TAG_IMAGE_ORIENTATION, "flip-rotate-180", NULL);
+
+      gst_pad_push_event (GST_BASE_SRC_PAD (psrc),
+          gst_event_new_tag (image_orientation_tag));
+
+      qt_src->pending_image_orientation = FALSE;
+    }
+  } else {
+    GstVideoAffineTransformationMeta *trans_meta;
+    trans_meta = gst_buffer_add_video_affine_transformation_meta (buffer);
+    gst_video_affine_transformation_meta_apply_matrix (trans_meta,
+        vertical_flip_matrix);
+  }
+
+  GST_DEBUG_OBJECT (qt_src, "buffer fill done %p", buffer);
+
+  return GST_FLOW_OK;
+}
+
+static GstStateChangeReturn
+gst_qt_src_change_state (GstElement * element, GstStateChange transition)
+{
+  GstQtSrc *qt_src = GST_QT_SRC (element);
+  GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
+  QGuiApplication *app;
+  guint64 frames_rendered = 0;
+
+  GST_DEBUG ("changing state: %s => %s",
+      gst_element_state_get_name (GST_STATE_TRANSITION_CURRENT (transition)),
+      gst_element_state_get_name (GST_STATE_TRANSITION_NEXT (transition)));
+
+  switch (transition) {
+    case GST_STATE_CHANGE_NULL_TO_READY:
+      app = static_cast < QGuiApplication * >(QCoreApplication::instance ());
+      if (!app) {
+        GST_ELEMENT_ERROR (element, RESOURCE, NOT_FOUND,
+            ("%s", "Failed to connect to Qt"),
+            ("%s", "Could not retrieve QGuiApplication instance"));
+        return GST_STATE_CHANGE_FAILURE;
+      }
+
+      if (!qt_src->window) {
+        GST_ELEMENT_ERROR (element, RESOURCE, NOT_FOUND,
+            ("%s", "Required property \'window\' not set"), (NULL));
+        return GST_STATE_CHANGE_FAILURE;
+      }
+
+      if (!qt_window_is_scenegraph_initialized (qt_src->window)) {
+        GST_ELEMENT_ERROR (element, RESOURCE, NOT_FOUND,
+            ("%s", "Could not initialize window system"), (NULL));
+        return GST_STATE_CHANGE_FAILURE;
+      }
+
+      qt_window_use_default_fbo (qt_src->window, qt_src->default_fbo);
+
+      break;
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      break;
+    case GST_STATE_CHANGE_PAUSED_TO_PLAYING:
+      break;
+    default:
+      break;
+  }
+
+  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+  if (ret == GST_STATE_CHANGE_FAILURE)
+    return ret;
+
+  switch (transition) {
+    case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
+      qt_src->run_time = gst_element_get_start_time (GST_ELEMENT (qt_src));
+      break;
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+      break;
+    case GST_STATE_CHANGE_READY_TO_NULL:
+      qt_window_get_total_frames (qt_src->window, &frames_rendered);
+      if (qt_src->run_time > 0) {
+        GST_DEBUG ("qmlglsrc Total refresh frames (%ld), playing for (%"
+            GST_TIME_FORMAT "), fps (%.3f).\n", frames_rendered,
+            GST_TIME_ARGS (qt_src->run_time),
+            (gfloat) GST_SECOND * frames_rendered / qt_src->run_time);
+      }
+      break;
+    default:
+      break;
+  }
+
+  return ret;
+}
+
+static gboolean
+gst_qt_src_start (GstBaseSrc * basesrc)
+{
+  GstQtSrc *qt_src = GST_QT_SRC (basesrc);
+
+  /* already has get OpenGL configuration from qt */
+  if (qt_src->display && qt_src->qt_context)
+    return TRUE;
+
+  if (!qt_window_is_scenegraph_initialized (qt_src->window))
+    return FALSE;
+
+  qt_src->display = qt_window_get_display (qt_src->window);
+  qt_src->qt_context = qt_window_get_qt_context (qt_src->window);
+
+  if (!qt_src->display || !qt_src->qt_context) {
+    GST_ERROR_OBJECT (qt_src,
+        "Could not retrieve window system OpenGL configuration");
+    return FALSE;
+  }
+
+  GST_DEBUG_OBJECT (qt_src, "Got qt display %p and qt gl context %p",
+      qt_src->display, qt_src->qt_context);
+  return TRUE;
+}
+
+static gboolean
+gst_qt_src_stop (GstBaseSrc * basesrc)
+{
+  return TRUE;
+}
diff --git a/ext/qt/gstqtsrc.h b/ext/qt/gstqtsrc.h
new file mode 100644
index 0000000..8bbf4e2
--- /dev/null
+++ b/ext/qt/gstqtsrc.h
@@ -0,0 +1,82 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Freescale Semiconductor, Inc. All rights reserved.
+ *
+ * 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_QT_SRC_H__
+#define __GST_QT_SRC_H__
+
+#include <gst/gst.h>
+#include <gst/base/gstpushsrc.h>
+#include <gst/video/video.h>
+#include <gst/gl/gl.h>
+#include "qtwindow.h"
+
+typedef struct _GstQtSrc GstQtSrc;
+typedef struct _GstQtSrcClass GstQtSrcClass;
+
+G_BEGIN_DECLS
+
+GType gst_qt_src_get_type (void);
+#define GST_TYPE_QT_SRC            (gst_qt_src_get_type())
+#define GST_QT_SRC(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_QT_SRC,GstQtSrc))
+#define GST_QT_SRC_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_QT_SRC,GstQtSrcClass))
+#define GST_IS_QT_SRC(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_QT_SRC))
+#define GST_IS_QT_SRC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_QT_SRC))
+#define GST_QT_SRC_CAST(obj)       ((GstQtSrc*)(obj))
+
+/**
+ * GstQtSrc:
+ *
+ * Opaque #GstQtSrc object
+ */
+struct _GstQtSrc
+{
+  /* <private> */
+  GstPushSrc            parent;
+
+  QQuickWindow          *qwindow;
+  QtGLWindow            *window;
+
+  GstVideoInfo          v_info;
+
+  GstGLDisplay         *display;
+  GstGLContext         *context;
+  GstGLContext         *qt_context;
+
+  gboolean              default_fbo;
+  gboolean              downstream_supports_affine_meta;
+  gboolean              pending_image_orientation;
+  /* fps print support */
+  GstClockTime          run_time;
+};
+
+/**
+ * GstQtSrcClass:
+ *
+ * The #GstQtSrcClass struct only contains private data
+ */
+struct _GstQtSrcClass
+{
+  /* <private> */
+  GstPushSrcClass object_class;
+};
+
+G_END_DECLS
+
+#endif /* __GST_QT_SRC_H__ */
diff --git a/ext/qt/qtitem.cc b/ext/qt/qtitem.cc
index c306c6d..f088c76 100644
--- a/ext/qt/qtitem.cc
+++ b/ext/qt/qtitem.cc
@@ -27,32 +27,13 @@
 #include <gst/video/video.h>
 #include "qtitem.h"
 #include "gstqsgtexture.h"
+#include "gstqtglutility.h"
 
 #include <QtCore/QRunnable>
 #include <QtGui/QGuiApplication>
 #include <QtQuick/QQuickWindow>
 #include <QtQuick/QSGSimpleTextureNode>
 
-#if GST_GL_HAVE_WINDOW_X11 && GST_GL_HAVE_PLATFORM_GLX && defined (HAVE_QT_X11)
-#include <QX11Info>
-#include <gst/gl/x11/gstgldisplay_x11.h>
-#include <gst/gl/x11/gstglcontext_glx.h>
-#endif
-
-#if GST_GL_HAVE_WINDOW_WAYLAND && GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_WAYLAND)
-#include <qpa/qplatformnativeinterface.h>
-#include <gst/gl/wayland/gstgldisplay_wayland.h>
-#endif
-
-#if GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_EGLFS)
-#include <gst/gl/egl/gstgldisplay_egl.h>
-#include <gst/gl/egl/gstglcontext_egl.h>
-#endif
-
-#if GST_GL_HAVE_WINDOW_COCOA && GST_GL_HAVE_PLATFORM_COCOA && defined (HAVE_QT_MAC)
-#include <gst/gl/coaoa/gstgldisplay_cocoa.h>
-#endif
-
 /**
  * SECTION:gtkgstglwidget
  * @short_description: a #GtkGLArea that renders GStreamer video #GstBuffers
@@ -123,11 +104,8 @@
 
 QtGLVideoItem::QtGLVideoItem()
 {
-  QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
   static volatile gsize _debug;
 
-  g_assert (app != NULL);
-
   if (g_once_init_enter (&_debug)) {
     GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglwidget", 0, "Qt GL Widget");
     g_once_init_leave (&_debug, 1);
@@ -143,48 +121,7 @@
 
   g_mutex_init (&this->priv->lock);
 
-  GST_INFO ("QGuiApplication::instance()->platformName() %s", app->platformName().toUtf8().data());
-
-#if GST_GL_HAVE_WINDOW_X11 && defined (HAVE_QT_X11)
-  if (QString::fromUtf8 ("xcb") == app->platformName())
-    this->priv->display = (GstGLDisplay *)
-        gst_gl_display_x11_new_with_display (QX11Info::display ());
-#endif
-#if GST_GL_HAVE_WINDOW_WAYLAND && GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_WAYLAND)
-  if (QString::fromUtf8 ("wayland") == app->platformName()
-        || QString::fromUtf8 ("wayland-egl") == app->platformName()){
-    struct wl_display * wayland_display;
-    QPlatformNativeInterface *native =
-        QGuiApplication::platformNativeInterface();
-    wayland_display = (struct wl_display *)
-        native->nativeResourceForWindow("display", NULL);
-    this->priv->display = (GstGLDisplay *)
-        gst_gl_display_wayland_new_with_display (wayland_display);
-  }
-#endif
-#if GST_GL_HAVE_PLATFORM_EGL && GST_GL_HAVE_WINDOW_ANDROID
-  if (QString::fromUtf8 ("android") == app->platformName())
-    this->priv->display = (GstGLDisplay *) gst_gl_display_egl_new ();
-#elif GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_EGLFS)
-  if (QString::fromUtf8("eglfs") == app->platformName())
-    this->priv->display = (GstGLDisplay *) gst_gl_display_egl_new ();
-#endif
-
-#if GST_GL_HAVE_WINDOW_COCOA && GST_GL_HAVE_PLATFORM_COCOA && defined (HAVE_QT_MAC)
-  if (QString::fromUtf8 ("cocoa") == app->platformName())
-    this->priv->display = (GstGLDisplay *) gst_gl_display_cocoa_new ();
-#endif
-#if GST_GL_HAVE_WINDOW_EAGL && GST_GL_HAVE_PLATFORM_EAGL && defined (HAVE_QT_IOS)
-  if (QString::fromUtf8 ("ios") == app->platformName())
-    this->priv->display = gst_gl_display_new ();
-#endif
-#if GST_GL_HAVE_WINDOW_WIN32 && GST_GL_HAVE_PLATFORM_WGL && defined (HAVE_QT_WIN32)
-  if (QString::fromUtf8 ("windows") == app->platformName())
-    this->priv->display = gst_gl_display_new ();
-#endif
-
-  if (!this->priv->display)
-    this->priv->display = gst_gl_display_new ();
+  this->priv->display = gst_qt_get_gl_display();
 
   connect(this, SIGNAL(windowChanged(QQuickWindow*)), this,
           SLOT(handleWindowChanged(QQuickWindow*)));
@@ -318,10 +255,6 @@
 void
 QtGLVideoItem::onSceneGraphInitialized ()
 {
-  GstGLPlatform platform = (GstGLPlatform) 0;
-  GstGLAPI gl_api;
-  guintptr gl_handle;
-
   GST_DEBUG ("scene graph initialization with Qt GL context %p",
       this->window()->openglContext ());
 
@@ -334,89 +267,8 @@
     return;
   }
 
-#if GST_GL_HAVE_WINDOW_X11 && defined (HAVE_QT_X11)
-  if (GST_IS_GL_DISPLAY_X11 (this->priv->display)) {
-    platform = GST_GL_PLATFORM_GLX;
-  }
-#endif
-#if GST_GL_HAVE_WINDOW_WAYLAND && defined (HAVE_QT_WAYLAND)
-  if (GST_IS_GL_DISPLAY_WAYLAND (this->priv->display)) {
-    platform = GST_GL_PLATFORM_EGL;
-  }
-#endif
-#if GST_GL_HAVE_PLATFORM_EGL && defined (HAVE_QT_EGLFS)
-  if (GST_IS_GL_DISPLAY_EGL (this->priv->display)) {
-    platform = GST_GL_PLATFORM_EGL;
-  }
-#endif
-  if (platform == 0 && this->priv->display) {
-#if GST_GL_HAVE_WINDOW_COCOA && GST_GL_HAVE_PLATFORM_COCOA && defined (HAVE_QT_MAC)
-    platform = GST_GL_PLATFORM_CGL;
-#elif GST_GL_HAVE_WINDOW_EAGL && GST_GL_HAVE_PLATFORM_EAGL && defined (HAVE_QT_IOS)
-    platform = GST_GL_PLATFORM_EAGL;
-#elif GST_GL_HAVE_WINDOW_WIN32 && GST_GL_HAVE_PLATFORM_WGL && defined (HAVE_QT_WIN32)
-    platform = GST_GL_PLATFORM_WGL;
-#else
-    GST_ERROR ("Unknown platform");
-    return;
-#endif
-  }
-
-  gl_api = gst_gl_context_get_current_gl_api (platform, NULL, NULL);
-  gl_handle = gst_gl_context_get_current_gl_context (platform);
-  if (gl_handle)
-    this->priv->other_context =
-        gst_gl_context_new_wrapped (this->priv->display, gl_handle,
-        platform, gl_api);
-
-  (void) platform;
-  (void) gl_api;
-  (void) gl_handle;
-
-  if (this->priv->other_context) {
-    GError *error = NULL;
-
-    gst_gl_context_activate (this->priv->other_context, TRUE);
-    if (!gst_gl_context_fill_info (this->priv->other_context, &error)) {
-      GST_ERROR ("%p failed to retrieve qt context info: %s", this, error->message);
-      g_object_unref (this->priv->other_context);
-      this->priv->other_context = NULL;
-    } else {
-      gst_gl_display_filter_gl_api (this->priv->display, gst_gl_context_get_gl_api (this->priv->other_context));
-#if GST_GL_HAVE_WINDOW_WIN32 && GST_GL_HAVE_PLATFORM_WGL && defined (HAVE_QT_WIN32)
-      if (!wglGetProcAddress ("wglCreateContextAttribsARB")) {
-        GstGLWindow *window;
-        HDC device;
-
-        /* If there's no wglCreateContextAttribsARB() support, then we would fallback to
-         * wglShareLists() which will fail with ERROR_BUSY (0xaa) if either of the GL
-         * contexts are current in any other thread.
-         *
-         * The workaround here is to temporarily disable Qt's GL context while we
-         * set up our own.
-         */
-        this->priv->context = gst_gl_context_new (this->priv->display);
-        window = gst_gl_context_get_window (this->priv->context);
-        device = (HDC) gst_gl_window_get_display (window);
-
-        wglMakeCurrent (device, 0);
-        gst_object_unref (window);
-        if (!gst_gl_context_create (this->priv->context, this->priv->other_context, &error)) {
-          GST_ERROR ("%p failed to create shared GL context: %s", this, error->message);
-          g_object_unref (this->priv->context);
-          this->priv->context = NULL;
-          g_object_unref (this->priv->other_context);
-          this->priv->other_context = NULL;
-          wglMakeCurrent (device, (HGLRC) gl_handle);
-          return;
-        }
-        wglMakeCurrent (device, (HGLRC) gl_handle);
-      }
-#endif
-      gst_gl_context_activate (this->priv->other_context, FALSE);
-      m_openGlContextInitialized = true;
-    }
-  }
+  m_openGlContextInitialized = gst_qt_get_gl_wrapcontext (this->priv->display,
+      &this->priv->other_context, &this->priv->context);
 
   GST_DEBUG ("%p created wrapped GL context %" GST_PTR_FORMAT, this,
       this->priv->other_context);
diff --git a/ext/qt/qtwindow.cc b/ext/qt/qtwindow.cc
new file mode 100644
index 0000000..4702891
--- /dev/null
+++ b/ext/qt/qtwindow.cc
@@ -0,0 +1,371 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Freescale Semiconductor, Inc. All rights reserved.
+ *
+ * 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 <stdio.h>
+
+#include <gst/video/video.h>
+#include "qtwindow.h"
+#include "gstqsgtexture.h"
+#include "gstqtglutility.h"
+
+#include <QtCore/QRunnable>
+#include <QtGui/QGuiApplication>
+#include <QtQuick/QQuickWindow>
+#include <QOpenGLFramebufferObject>
+
+/**
+ * SECTION:
+ *
+ * #QtGLWindow is an #QQuickWindow that grab QtQuick view to GStreamer OpenGL video buffers.
+ */
+
+GST_DEBUG_CATEGORY_STATIC (qt_window_debug);
+#define GST_CAT_DEFAULT qt_window_debug
+
+struct _QtGLWindowPrivate
+{
+  GMutex lock;
+  GCond update_cond;
+
+  GstBuffer *buffer;
+  GstCaps *caps;
+  GstVideoInfo v_info;
+
+  gboolean initted;
+  gboolean updated;
+  gboolean quit;
+  gboolean result;
+  gboolean useDefaultFbo;
+
+  GstGLDisplay *display;
+  GstGLContext *other_context;
+
+  /* frames that qmlview rendered in its gl thread */
+  guint64 frames_rendered;
+};
+
+class InitQtGLContext : public QRunnable
+{
+public:
+  InitQtGLContext(QtGLWindow *window);
+  void run();
+
+private:
+  QtGLWindow *window_;
+};
+
+InitQtGLContext::InitQtGLContext(QtGLWindow *window) :
+  window_(window)
+{
+}
+
+void InitQtGLContext::run()
+{
+  window_->onSceneGraphInitialized();
+}
+
+QtGLWindow::QtGLWindow ( QWindow * parent, QQuickWindow *src ) :
+  QQuickWindow( parent ), source (src)
+{
+  QGuiApplication *app = static_cast<QGuiApplication *> (QCoreApplication::instance ());
+  static volatile gsize _debug;
+
+  g_assert (app != NULL);
+
+  if (g_once_init_enter (&_debug)) {
+    GST_DEBUG_CATEGORY_INIT (GST_CAT_DEFAULT, "qtglwindow", 0, "Qt GL QuickWindow");
+    g_once_init_leave (&_debug, 1);
+  }
+
+  this->priv = g_new0 (QtGLWindowPrivate, 1);
+
+  g_mutex_init (&this->priv->lock);
+  g_cond_init (&this->priv->update_cond);
+
+  this->priv->display = gst_qt_get_gl_display();
+
+  connect (source, SIGNAL(beforeRendering()), this, SLOT(beforeRendering()), Qt::DirectConnection);
+  connect (source, SIGNAL(afterRendering()), this, SLOT(afterRendering()), Qt::DirectConnection);
+  connect (app, SIGNAL(aboutToQuit()), this, SLOT(aboutToQuit()), Qt::DirectConnection);
+  if (source->isSceneGraphInitialized())
+    source->scheduleRenderJob(new InitQtGLContext(this), QQuickWindow::BeforeSynchronizingStage);
+  else
+    connect (source, SIGNAL(sceneGraphInitialized()), this, SLOT(onSceneGraphInitialized()), Qt::DirectConnection);
+
+  GST_DEBUG ("%p init Qt Window", this->priv->display);
+}
+
+QtGLWindow::~QtGLWindow()
+{
+  GST_DEBUG ("deinit Qt Window");
+  g_mutex_clear (&this->priv->lock);
+  g_cond_clear (&this->priv->update_cond);
+  if (this->priv->other_context)
+    gst_object_unref(this->priv->other_context);
+  if (this->priv->display)
+    gst_object_unref(this->priv->display);
+  g_free (this->priv);
+  this->priv = NULL;
+}
+
+void
+QtGLWindow::beforeRendering()
+{
+  unsigned int width, height;
+
+  g_mutex_lock (&this->priv->lock);
+
+  if (!fbo && !this->priv->useDefaultFbo) {
+
+    width = source->width();
+    height = source->height();
+
+    GST_DEBUG ("create new framebuffer object %dX%d", width, height);
+
+    fbo.reset(new QOpenGLFramebufferObject (width, height,
+          QOpenGLFramebufferObject::NoAttachment, GL_TEXTURE_2D, GL_RGBA));
+
+    source->setRenderTarget(fbo.data());
+  }
+
+  g_mutex_unlock (&this->priv->lock);
+}
+
+
+void
+QtGLWindow::afterRendering()
+{
+  GstVideoFrame gl_frame;
+  GstVideoInfo *info;
+  GstGLContext *context;
+  gboolean ret;
+  guint width, height;
+  const GstGLFuncs *gl;
+  GLuint dst_tex;
+
+  g_mutex_lock (&this->priv->lock);
+
+  this->priv->frames_rendered++;
+
+  if(!this->priv->buffer || this->priv->updated == TRUE) {
+    GST_DEBUG ("skip this frame");
+    g_mutex_unlock (&this->priv->lock);
+    return;
+  }
+
+  GST_DEBUG ("copy buffer %p",this->priv->buffer);
+
+  width = GST_VIDEO_INFO_WIDTH (&this->priv->v_info);
+  height = GST_VIDEO_INFO_HEIGHT (&this->priv->v_info);
+  info = &this->priv->v_info;
+  context = this->priv->other_context;
+
+  gst_gl_context_activate (context, TRUE);
+  gl = context->gl_vtable;
+
+  ret = gst_video_frame_map (&gl_frame, info, this->priv->buffer,
+      (GstMapFlags) (GST_MAP_WRITE | GST_MAP_GL));
+
+  if (!ret) {
+    this->priv->buffer = NULL;
+    GST_ERROR ("Failed to map video frame");
+    goto errors;
+  }
+
+  gl->BindFramebuffer (GL_READ_FRAMEBUFFER, this->source->renderTargetId());
+
+  ret = gst_gl_context_check_framebuffer_status (context);
+  if (!ret) {
+    GST_ERROR ("FBO errors");
+    goto errors;
+  }
+
+  dst_tex = *(guint *) gl_frame.data[0];
+  GST_DEBUG ("qml render target id %d, render to tex %d %dX%d", 
+      this->source->renderTargetId(), dst_tex, width,height);
+
+  gl->BindTexture (GL_TEXTURE_2D, dst_tex);
+  gl->CopyTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, 0, 0, width, height, 0);
+  
+  GST_DEBUG ("rendering finished");
+
+errors:
+  gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
+  gst_video_frame_unmap (&gl_frame);
+
+  gst_gl_context_activate (context, FALSE);
+
+  this->priv->result = ret;
+  this->priv->updated = TRUE;
+  g_cond_signal (&this->priv->update_cond);
+  g_mutex_unlock (&this->priv->lock);
+}
+
+void
+QtGLWindow::aboutToQuit()
+{
+  g_mutex_lock (&this->priv->lock);
+
+  this->priv->updated = TRUE;
+  this->priv->quit = TRUE;
+  g_cond_signal (&this->priv->update_cond);
+
+  g_mutex_unlock (&this->priv->lock);
+
+  GST_DEBUG("about to quit");
+}
+
+void
+QtGLWindow::onSceneGraphInitialized()
+{
+  GST_DEBUG ("scene graph initialization with Qt GL context %p",
+      this->source->openglContext ());
+
+  this->priv->initted = gst_qt_get_gl_wrapcontext (this->priv->display,
+      &this->priv->other_context, NULL);
+
+  GST_DEBUG ("%p created wrapped GL context %" GST_PTR_FORMAT, this,
+      this->priv->other_context);
+}
+
+bool
+QtGLWindow::getGeometry(int * width, int * height)
+{
+  if (width == NULL || height == NULL)
+    return FALSE;
+
+  *width = this->source->width();
+  *height = this->source->height();
+
+  return TRUE;
+}
+
+GstGLContext *
+qt_window_get_qt_context (QtGLWindow * qt_window)
+{
+  g_return_val_if_fail (qt_window != NULL, NULL);
+
+  if (!qt_window->priv->other_context)
+    return NULL;
+
+  return (GstGLContext *) gst_object_ref (qt_window->priv->other_context);
+}
+
+GstGLDisplay *
+qt_window_get_display (QtGLWindow * qt_window)
+{
+  g_return_val_if_fail (qt_window != NULL, NULL);
+
+  if (!qt_window->priv->display)
+    return NULL;
+
+  return (GstGLDisplay *) gst_object_ref (qt_window->priv->display);
+}
+
+gboolean
+qt_window_is_scenegraph_initialized (QtGLWindow * qt_window)
+{
+  g_return_val_if_fail (qt_window != NULL, FALSE);
+
+  return qt_window->priv->initted;
+}
+
+gboolean
+qt_window_set_caps (QtGLWindow * qt_window, GstCaps * caps)
+{
+  GstVideoInfo v_info;
+
+  g_return_val_if_fail (qt_window != NULL, FALSE);
+  g_return_val_if_fail (GST_IS_CAPS (caps), FALSE);
+  g_return_val_if_fail (gst_caps_is_fixed (caps), FALSE);
+
+  if (qt_window->priv->caps && gst_caps_is_equal_fixed (qt_window->priv->caps, caps))
+    return TRUE;
+
+  if (!gst_video_info_from_caps (&v_info, caps))
+    return FALSE;
+
+  g_mutex_lock (&qt_window->priv->lock);
+
+  gst_caps_replace (&qt_window->priv->caps, caps);
+
+  qt_window->priv->v_info = v_info;
+
+  g_mutex_unlock (&qt_window->priv->lock);
+
+  return TRUE;
+}
+
+gboolean
+qt_window_set_buffer (QtGLWindow * qt_window, GstBuffer * buffer)
+{
+  g_return_val_if_fail (qt_window != NULL, FALSE);
+  g_return_val_if_fail (qt_window->priv->initted, FALSE);
+  gboolean ret;
+
+  g_mutex_lock (&qt_window->priv->lock);
+
+  if (qt_window->priv->quit){
+    GST_DEBUG("about to quit, drop this buffer");
+    g_mutex_unlock (&qt_window->priv->lock);
+    return TRUE;
+  }
+
+  qt_window->priv->updated = FALSE;
+  qt_window->priv->buffer = buffer;
+
+  while (!qt_window->priv->updated) 
+    g_cond_wait (&qt_window->priv->update_cond, &qt_window->priv->lock);
+  
+  ret = qt_window->priv->result;
+
+  g_mutex_unlock (&qt_window->priv->lock);
+
+  return ret;
+}
+
+void
+qt_window_use_default_fbo (QtGLWindow * qt_window, gboolean useDefaultFbo)
+{
+  g_return_if_fail (qt_window != NULL);
+
+  g_mutex_lock (&qt_window->priv->lock);
+
+  GST_DEBUG ("set to use default fbo %d", useDefaultFbo);
+  qt_window->priv->useDefaultFbo = useDefaultFbo;
+
+  g_mutex_unlock (&qt_window->priv->lock);
+}
+
+void
+qt_window_get_total_frames (QtGLWindow * qt_window, guint64 *frames)
+{
+  g_return_if_fail (qt_window != NULL);
+
+  g_mutex_lock (&qt_window->priv->lock);
+
+  *frames = qt_window->priv->frames_rendered;
+
+  g_mutex_unlock (&qt_window->priv->lock);
+}
diff --git a/ext/qt/qtwindow.h b/ext/qt/qtwindow.h
new file mode 100644
index 0000000..5820e77
--- /dev/null
+++ b/ext/qt/qtwindow.h
@@ -0,0 +1,70 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Freescale Semiconductor, Inc. All rights reserved.
+ *
+ * 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 __QT_WINDOW_H__
+#define __QT_WINDOW_H__
+
+#include <gst/gst.h>
+#include <gst/gl/gl.h>
+
+#include "gstqtgl.h"
+#include <QtQuick/QQuickWindow>
+#include <QtGui/QOpenGLContext>
+#include <QtGui/QOpenGLFunctions>
+
+typedef struct _QtGLWindowPrivate QtGLWindowPrivate;
+
+class InitQtGLContext;
+
+class QtGLWindow : public QQuickWindow, protected QOpenGLFunctions
+{
+    Q_OBJECT
+public:
+    QtGLWindow (QWindow * parent = NULL, QQuickWindow *source = NULL);
+    ~QtGLWindow ();
+    bool getGeometry (int * width, int * height);
+
+    /* private for C interface ... */
+    QtGLWindowPrivate *priv;
+
+private Q_SLOTS:
+    void beforeRendering ();
+    void afterRendering ();
+    void onSceneGraphInitialized ();
+    void aboutToQuit();
+
+private:
+    friend class InitQtGLContext;
+    QQuickWindow * source;
+    QScopedPointer<QOpenGLFramebufferObject> fbo;
+};
+
+extern "C"
+{
+gboolean        qt_window_set_buffer (QtGLWindow * qt_window, GstBuffer * buffer);
+gboolean        qt_window_set_caps (QtGLWindow * qt_window, GstCaps * caps);
+GstGLContext *  qt_window_get_qt_context (QtGLWindow * qt_window);
+GstGLDisplay *  qt_window_get_display (QtGLWindow * qt_window);
+gboolean        qt_window_is_scenegraph_initialized (QtGLWindow * qt_window);
+void            qt_window_use_default_fbo (QtGLWindow * qt_window, gboolean useDefaultFbo);
+void            qt_window_get_total_frames (QtGLWindow * qt_window, guint64 *frames);
+}
+
+#endif /* __QT_WINDOW_H__ */
diff --git a/ext/resindvd/Makefile.in b/ext/resindvd/Makefile.in
index cf8d7f7..e6ace0f 100644
--- a/ext/resindvd/Makefile.in
+++ b/ext/resindvd/Makefile.in
@@ -335,6 +335,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -384,6 +386,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/resindvd/resindvdsrc.h b/ext/resindvd/resindvdsrc.h
index cc2bb04..b5d8e36 100644
--- a/ext/resindvd/resindvdsrc.h
+++ b/ext/resindvd/resindvdsrc.h
@@ -23,7 +23,9 @@
 
 #include <gst/base/gstbasesrc.h>
 
-#include "_stdint.h"
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
 
 #include <dvdnav/dvdnav.h>
 #include <dvdread/ifo_read.h>
diff --git a/ext/rsvg/Makefile.in b/ext/rsvg/Makefile.in
index b1f55d7..f78c220 100644
--- a/ext/rsvg/Makefile.in
+++ b/ext/rsvg/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/rtmp/Makefile.in b/ext/rtmp/Makefile.in
index 979cdb4..cc555d6 100644
--- a/ext/rtmp/Makefile.in
+++ b/ext/rtmp/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/sbc/Makefile.in b/ext/sbc/Makefile.in
index e33c2b1..69f7442 100644
--- a/ext/sbc/Makefile.in
+++ b/ext/sbc/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/schroedinger/Makefile.in b/ext/schroedinger/Makefile.in
index 87d2751..2d3cad8 100644
--- a/ext/schroedinger/Makefile.in
+++ b/ext/schroedinger/Makefile.in
@@ -328,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/sdl/Makefile.in b/ext/sdl/Makefile.in
index ecf052d..ef29cfb 100644
--- a/ext/sdl/Makefile.in
+++ b/ext/sdl/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/smoothstreaming/Makefile.in b/ext/smoothstreaming/Makefile.in
index 57a4b40..94fb8e8 100644
--- a/ext/smoothstreaming/Makefile.in
+++ b/ext/smoothstreaming/Makefile.in
@@ -331,6 +331,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -380,6 +382,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/smoothstreaming/gstmssdemux.c b/ext/smoothstreaming/gstmssdemux.c
index 27725ca..9d0aece 100644
--- a/ext/smoothstreaming/gstmssdemux.c
+++ b/ext/smoothstreaming/gstmssdemux.c
@@ -543,7 +543,8 @@
   GST_DEBUG_OBJECT (stream->pad,
       "Using stream download bitrate %" G_GUINT64_FORMAT, bitrate);
 
-  if (gst_mss_stream_select_bitrate (mssstream->manifest_stream, bitrate)) {
+  if (gst_mss_stream_select_bitrate (mssstream->manifest_stream,
+          bitrate / MAX (1.0, ABS (stream->demux->segment.rate)))) {
     GstCaps *caps;
     GstCaps *msscaps;
     GstMssDemux *mssdemux = GST_MSS_DEMUX_CAST (stream->demux);
diff --git a/ext/sndfile/Makefile.in b/ext/sndfile/Makefile.in
index 252a5e0..8f5dc13 100644
--- a/ext/sndfile/Makefile.in
+++ b/ext/sndfile/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/sndio/Makefile.in b/ext/sndio/Makefile.in
index 75982bd..2d2ea8f 100644
--- a/ext/sndio/Makefile.in
+++ b/ext/sndio/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/soundtouch/Makefile.in b/ext/soundtouch/Makefile.in
index eedfe4c..82241e6 100644
--- a/ext/soundtouch/Makefile.in
+++ b/ext/soundtouch/Makefile.in
@@ -346,6 +346,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -395,6 +397,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/spandsp/Makefile.in b/ext/spandsp/Makefile.in
index 771d592..b36a563 100644
--- a/ext/spandsp/Makefile.in
+++ b/ext/spandsp/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/spc/Makefile.in b/ext/spc/Makefile.in
index c47a0cf..b2bb741 100644
--- a/ext/spc/Makefile.in
+++ b/ext/spc/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/srtp/Makefile.in b/ext/srtp/Makefile.in
index 6acddc5..29a2e76 100644
--- a/ext/srtp/Makefile.in
+++ b/ext/srtp/Makefile.in
@@ -335,6 +335,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -384,6 +386,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/teletextdec/Makefile.in b/ext/teletextdec/Makefile.in
index 6554ff7..6f51c8d 100644
--- a/ext/teletextdec/Makefile.in
+++ b/ext/teletextdec/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/teletextdec/gstteletextdec.c b/ext/teletextdec/gstteletextdec.c
index 5909a76..7f8a8a6 100644
--- a/ext/teletextdec/gstteletextdec.c
+++ b/ext/teletextdec/gstteletextdec.c
@@ -743,9 +743,7 @@
   {
     if (ret != GST_FLOW_OK && ret != GST_FLOW_NOT_LINKED
         && ret != GST_FLOW_FLUSHING) {
-      GST_ELEMENT_ERROR (teletext, STREAM, FAILED,
-          ("Internal data stream error."), ("stream stopped, reason %s",
-              gst_flow_get_name (ret)));
+      GST_ELEMENT_FLOW_ERROR (teletext, ret);
       return GST_FLOW_ERROR;
     }
     return ret;
diff --git a/ext/timidity/Makefile.in b/ext/timidity/Makefile.in
index 3bb93aa..177dd58 100644
--- a/ext/timidity/Makefile.in
+++ b/ext/timidity/Makefile.in
@@ -344,6 +344,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -393,6 +395,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/timidity/gsttimidity.c b/ext/timidity/gsttimidity.c
index f7af843..2078694 100644
--- a/ext/timidity/gsttimidity.c
+++ b/ext/timidity/gsttimidity.c
@@ -743,9 +743,7 @@
   }
 error:
   {
-    GST_ELEMENT_ERROR (timidity, STREAM, FAILED,
-        ("Internal data stream error"),
-        ("Streaming stopped, reason %s", gst_flow_get_name (ret)));
+    GST_ELEMENT_FLOW_ERROR (timidity, ret);
     gst_pad_push_event (timidity->srcpad, gst_event_new_eos ());
     goto paused;
   }
diff --git a/ext/timidity/gstwildmidi.c b/ext/timidity/gstwildmidi.c
index 3e82ca2..7f380d6 100644
--- a/ext/timidity/gstwildmidi.c
+++ b/ext/timidity/gstwildmidi.c
@@ -672,7 +672,7 @@
   gst_buffer_map (buffer, &info, GST_MAP_READWRITE);
 
   GST_OBJECT_LOCK (wildmidi);
-  size = WildMidi_GetOutput (wildmidi->song, (char *) info.data,
+  size = WildMidi_GetOutput (wildmidi->song, (gpointer) info.data,
       (unsigned long int) info.size);
   GST_OBJECT_UNLOCK (wildmidi);
 
@@ -898,9 +898,7 @@
       event = gst_event_new_eos ();
       /* for fatal errors we post an error message, post the error
        * first so the app knows about the error first. */
-      GST_ELEMENT_ERROR (wildmidi, STREAM, FAILED,
-          ("Internal data flow error."),
-          ("streaming task paused, reason %s (%d)", reason, ret));
+      GST_ELEMENT_FLOW_ERROR (wildmidi, ret);
       gst_pad_push_event (wildmidi->srcpad, event);
     }
   }
diff --git a/ext/voaacenc/Makefile.in b/ext/voaacenc/Makefile.in
index 8c2d679..0339a41 100644
--- a/ext/voaacenc/Makefile.in
+++ b/ext/voaacenc/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/voamrwbenc/Makefile.in b/ext/voamrwbenc/Makefile.in
index 45801d3..19fd71b 100644
--- a/ext/voamrwbenc/Makefile.in
+++ b/ext/voamrwbenc/Makefile.in
@@ -328,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/vulkan/Makefile.in b/ext/vulkan/Makefile.in
index 7478972..87bf6c3 100644
--- a/ext/vulkan/Makefile.in
+++ b/ext/vulkan/Makefile.in
@@ -379,6 +379,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -428,6 +430,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/vulkan/wayland/Makefile.in b/ext/vulkan/wayland/Makefile.in
index a08f213..3a341ca 100644
--- a/ext/vulkan/wayland/Makefile.in
+++ b/ext/vulkan/wayland/Makefile.in
@@ -300,6 +300,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -349,6 +351,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/vulkan/xcb/Makefile.in b/ext/vulkan/xcb/Makefile.in
index 0d12c0e..50b4de2 100644
--- a/ext/vulkan/xcb/Makefile.in
+++ b/ext/vulkan/xcb/Makefile.in
@@ -298,6 +298,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -347,6 +349,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/wayland/Makefile.in b/ext/wayland/Makefile.in
index 1b2f9ab..5184585 100644
--- a/ext/wayland/Makefile.in
+++ b/ext/wayland/Makefile.in
@@ -333,6 +333,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -382,6 +384,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/webp/Makefile.in b/ext/webp/Makefile.in
index 9e6bf0c..f233b26 100644
--- a/ext/webp/Makefile.in
+++ b/ext/webp/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/webrtcdsp/Makefile.in b/ext/webrtcdsp/Makefile.in
index d027023..d815d38 100644
--- a/ext/webrtcdsp/Makefile.in
+++ b/ext/webrtcdsp/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/webrtcdsp/gstwebrtcdsp.cpp b/ext/webrtcdsp/gstwebrtcdsp.cpp
index f64b623..b6b8660 100644
--- a/ext/webrtcdsp/gstwebrtcdsp.cpp
+++ b/ext/webrtcdsp/gstwebrtcdsp.cpp
@@ -156,7 +156,8 @@
   PROP_NOISE_SUPPRESSION_LEVEL,
   PROP_GAIN_CONTROL,
   PROP_EXPERIMENTAL_AGC,
-  PROP_EXTENDED_FILTER
+  PROP_EXTENDED_FILTER,
+  PROP_DELAY_AGNOSTIC
 };
 
 /**
@@ -189,6 +190,7 @@
   gboolean gain_control;
   gboolean experimental_agc;
   gboolean extended_filter;
+  gboolean delay_agnostic;
 };
 
 G_DEFINE_TYPE (GstWebrtcDsp, gst_webrtc_dsp, GST_TYPE_AUDIO_FILTER);
@@ -290,8 +292,11 @@
 
   apm = self->apm;
 
-  delay = gst_webrtc_echo_probe_read (probe, rec_time, (gpointer) &frame);
+  if (self->delay_agnostic)
+    rec_time = GST_CLOCK_TIME_NONE;
 
+again:
+  delay = gst_webrtc_echo_probe_read (probe, rec_time, (gpointer) &frame);
   apm->set_stream_delay_ms (delay);
 
   if (delay < 0)
@@ -310,13 +315,16 @@
     GST_WARNING_OBJECT (self, "Reverse stream analyses failed: %s.",
         webrtc_error_to_string (err));
 
+  if (self->delay_agnostic)
+      goto again;
+
 done:
   gst_object_unref (probe);
 
   return ret;
 }
 
-static GstFlowReturn 
+static GstFlowReturn
 gst_webrtc_dsp_process_stream (GstWebrtcDsp * self,
     GstBuffer * buffer)
 {
@@ -401,6 +409,8 @@
       (new webrtc::ExtendedFilter (self->extended_filter));
   config.Set < webrtc::ExperimentalAgc >
       (new webrtc::ExperimentalAgc (self->experimental_agc));
+  config.Set < webrtc::DelayAgnostic >
+      (new webrtc::DelayAgnostic (self->delay_agnostic));
 
   /* TODO Intelligibility enhancer, Beamforming, etc. */
 
@@ -590,6 +600,9 @@
     case PROP_EXTENDED_FILTER:
       self->extended_filter = g_value_get_boolean (value);
       break;
+    case PROP_DELAY_AGNOSTIC:
+      self->delay_agnostic = g_value_get_boolean (value);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -632,6 +645,9 @@
     case PROP_EXTENDED_FILTER:
       g_value_set_boolean (value, self->extended_filter);
       break;
+    case PROP_DELAY_AGNOSTIC:
+      g_value_set_boolean (value, self->delay_agnostic);
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
@@ -761,6 +777,13 @@
           "Enable or disable the extended filter.",
           TRUE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
               G_PARAM_CONSTRUCT)));
+
+  g_object_class_install_property (gobject_class,
+      PROP_DELAY_AGNOSTIC,
+      g_param_spec_boolean ("delay-agnostic", "Delay Agnostic",
+          "Enable or disable the delay agnostic mode.",
+          FALSE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
 }
 
 static gboolean
diff --git a/ext/webrtcdsp/gstwebrtcechoprobe.cpp b/ext/webrtcdsp/gstwebrtcechoprobe.cpp
index ebc35c1..5b811b6 100644
--- a/ext/webrtcdsp/gstwebrtcechoprobe.cpp
+++ b/ext/webrtcdsp/gstwebrtcechoprobe.cpp
@@ -280,6 +280,20 @@
   if (!GST_CLOCK_TIME_IS_VALID (self->latency))
     goto done;
 
+  /* In delay agnostic mode, just return 10ms of data */
+  if (!GST_CLOCK_TIME_IS_VALID (rec_time)) {
+    avail = gst_adapter_available (self->adapter);
+
+    if (avail < self->period_size)
+      goto done;
+
+    size = self->period_size;
+    skip = 0;
+    offset = 0;
+
+    goto copy;
+  }
+
   if (gst_adapter_available (self->adapter) == 0) {
     diff = G_MAXINT64;
   } else {
@@ -317,6 +331,7 @@
   if (size < self->period_size)
     memset (frame->data_, 0, self->period_size);
 
+copy:
   if (size) {
     gst_adapter_copy (self->adapter, (guint8 *) frame->data_ + skip,
         offset, size);
diff --git a/ext/x265/Makefile.in b/ext/x265/Makefile.in
index 21806e9..def658f 100644
--- a/ext/x265/Makefile.in
+++ b/ext/x265/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/x265/gstx265enc.c b/ext/x265/gstx265enc.c
index d0e0c08..a2baf56 100644
--- a/ext/x265/gstx265enc.c
+++ b/ext/x265/gstx265enc.c
@@ -659,6 +659,7 @@
   encoder->x265param.sourceWidth = info->width;
   encoder->x265param.sourceHeight = info->height;
   if (info->par_d > 0) {
+    encoder->x265param.vui.aspectRatioIdc = X265_EXTENDED_SAR;
     encoder->x265param.vui.sarWidth = info->par_n;
     encoder->x265param.vui.sarHeight = info->par_d;
   }
diff --git a/ext/xvid/Makefile.in b/ext/xvid/Makefile.in
index 837a093..d60dc56 100644
--- a/ext/xvid/Makefile.in
+++ b/ext/xvid/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ext/zbar/Makefile.in b/ext/zbar/Makefile.in
index a413202..43f9f32 100644
--- a/ext/zbar/Makefile.in
+++ b/ext/zbar/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/Makefile.in b/gst-libs/Makefile.in
index 24b60e2..ba4525a 100644
--- a/gst-libs/Makefile.in
+++ b/gst-libs/Makefile.in
@@ -299,6 +299,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -348,6 +350,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/Makefile.in b/gst-libs/gst/Makefile.in
index e81a7d1..ea419f6 100644
--- a/gst-libs/gst/Makefile.in
+++ b/gst-libs/gst/Makefile.in
@@ -301,6 +301,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -350,6 +352,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/adaptivedemux/Makefile.in b/gst-libs/gst/adaptivedemux/Makefile.in
index aab6883..f81f5f0 100644
--- a/gst-libs/gst/adaptivedemux/Makefile.in
+++ b/gst-libs/gst/adaptivedemux/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
index 5e967bf..c465226 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
@@ -138,8 +138,16 @@
 #define NUM_LOOKBACK_FRAGMENTS 3
 
 #define GST_MANIFEST_GET_LOCK(d) (&(GST_ADAPTIVE_DEMUX_CAST(d)->priv->manifest_lock))
-#define GST_MANIFEST_LOCK(d) g_rec_mutex_lock (GST_MANIFEST_GET_LOCK (d));
-#define GST_MANIFEST_UNLOCK(d) g_rec_mutex_unlock (GST_MANIFEST_GET_LOCK (d));
+#define GST_MANIFEST_LOCK(d) G_STMT_START { \
+    GST_TRACE("Locking from thread %p", g_thread_self()); \
+    g_rec_mutex_lock (GST_MANIFEST_GET_LOCK (d)); \
+    GST_TRACE("Locked from thread %p", g_thread_self()); \
+ } G_STMT_END
+
+#define GST_MANIFEST_UNLOCK(d) G_STMT_START { \
+    GST_TRACE("Unlocking from thread %p", g_thread_self()); \
+    g_rec_mutex_unlock (GST_MANIFEST_GET_LOCK (d)); \
+ } G_STMT_END
 
 #define GST_API_GET_LOCK(d) (&(GST_ADAPTIVE_DEMUX_CAST(d)->priv->api_lock))
 #define GST_API_LOCK(d)   g_mutex_lock (GST_API_GET_LOCK (d));
@@ -523,9 +531,16 @@
   switch (transition) {
     case GST_STATE_CHANGE_PAUSED_TO_READY:
       GST_MANIFEST_LOCK (demux);
+      demux->running = FALSE;
       gst_adaptive_demux_reset (demux);
       GST_MANIFEST_UNLOCK (demux);
       break;
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      GST_MANIFEST_LOCK (demux);
+      gst_adaptive_demux_reset (demux);
+      demux->running = TRUE;
+      GST_MANIFEST_UNLOCK (demux);
+      break;
     default:
       break;
   }
@@ -664,6 +679,9 @@
               gst_adaptive_demux_is_live (demux));
           gst_adaptive_demux_start_tasks (demux);
           if (gst_adaptive_demux_is_live (demux)) {
+            g_mutex_lock (&demux->priv->updates_timed_lock);
+            demux->priv->stop_updates_task = FALSE;
+            g_mutex_unlock (&demux->priv->updates_timed_lock);
             /* Task to periodically update the manifest */
             gst_task_start (demux->priv->updates_task);
           }
@@ -779,6 +797,7 @@
       GError *err = NULL;
       gchar *debug = NULL;
       gchar *new_error = NULL;
+      const GstStructure *details = NULL;
 
       GST_MANIFEST_LOCK (demux);
 
@@ -799,6 +818,12 @@
             err->message = new_error;
           }
 
+          gst_message_parse_error_details (msg, &details);
+          if (details) {
+            gst_structure_get_uint (details, "http-status-code",
+                &stream->last_status_code);
+          }
+
           /* error, but ask to retry */
           gst_adaptive_demux_stream_fragment_download_finish (stream,
               GST_FLOW_CUSTOM_ERROR, err);
@@ -839,6 +864,7 @@
 gst_adaptive_demux_expose_stream (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream)
 {
+  gboolean ret;
   GstPad *pad = stream->pad;
   gchar *name = gst_pad_get_name (pad);
   GstEvent *event;
@@ -883,7 +909,12 @@
 
   gst_object_ref (pad);
 
-  return gst_element_add_pad (GST_ELEMENT_CAST (demux), pad);
+  /* Don't hold the manifest lock while exposing a pad */
+  GST_MANIFEST_UNLOCK (demux);
+  ret = gst_element_add_pad (GST_ELEMENT_CAST (demux), pad);
+  GST_MANIFEST_LOCK (demux);
+
+  return ret;
 }
 
 /* must be called with manifest_lock taken */
@@ -930,6 +961,11 @@
   demux->streams = demux->next_streams;
   demux->next_streams = NULL;
 
+  if (!demux->running) {
+    GST_DEBUG_OBJECT (demux, "Not exposing pads due to shutdown");
+    return TRUE;
+  }
+
   for (iter = demux->streams; iter; iter = g_list_next (iter)) {
     GstAdaptiveDemuxStream *stream = iter->data;
 
@@ -1040,7 +1076,9 @@
     gst_event_set_seqnum (stream->pending_segment, demux->priv->segment_seqnum);
   }
 
+  GST_MANIFEST_UNLOCK (demux);
   gst_element_no_more_pads (GST_ELEMENT_CAST (demux));
+  GST_MANIFEST_LOCK (demux);
 
   if (old_streams) {
     GstEvent *eos = gst_event_new_eos ();
@@ -1053,9 +1091,12 @@
       GstAdaptiveDemuxStream *stream = iter->data;
 
       GST_LOG_OBJECT (stream->pad, "Removing stream");
+      GST_MANIFEST_UNLOCK (demux);
+
       gst_pad_push_event (stream->pad, gst_event_ref (eos));
       gst_pad_set_active (stream->pad, FALSE);
       gst_element_remove_pad (GST_ELEMENT (demux), stream->pad);
+      GST_MANIFEST_LOCK (demux);
 
       /* ask the download task to stop.
        * We will not join it now, because our thread can be one of these tasks.
@@ -1069,6 +1110,7 @@
        * Even if it doesn't do that, we will change its state later in
        * gst_adaptive_demux_stop_tasks.
        */
+      GST_LOG_OBJECT (stream, "Marking stream as cancelled");
       gst_task_stop (stream->download_task);
       g_mutex_lock (&stream->fragment_download_lock);
       stream->cancelled = TRUE;
@@ -1132,6 +1174,7 @@
       return stream;
     }
   }
+
   return NULL;
 }
 
@@ -1200,9 +1243,15 @@
   }
 
   if (stream->src) {
-    gst_element_set_state (stream->src, GST_STATE_NULL);
-    gst_bin_remove (GST_BIN_CAST (demux), stream->src);
+    GstElement *src = stream->src;
+
     stream->src = NULL;
+
+    GST_MANIFEST_UNLOCK (demux);
+    gst_element_set_locked_state (src, TRUE);
+    gst_element_set_state (src, GST_STATE_NULL);
+    gst_bin_remove (GST_BIN_CAST (demux), src);
+    GST_MANIFEST_LOCK (demux);
   }
 
   g_cond_clear (&stream->fragment_download_cond);
@@ -1249,9 +1298,11 @@
   return klass->seek != NULL;
 }
 
-#define IS_SNAP_SEEK(f) (f & (GST_SEEK_FLAG_SNAP_BEFORE | \
-                              GST_SEEK_FLAG_SNAP_AFTER | \
-                              GST_SEEK_FLAG_SNAP_NEAREST))
+#define IS_SNAP_SEEK(f) (f & (GST_SEEK_FLAG_SNAP_BEFORE |	  \
+                              GST_SEEK_FLAG_SNAP_AFTER |	  \
+                              GST_SEEK_FLAG_SNAP_NEAREST |	  \
+			      GST_SEEK_FLAG_TRICKMODE_KEY_UNITS | \
+			      GST_SEEK_FLAG_KEY_UNIT))
 #define REMOVE_SNAP_FLAGS(f) (f & ~(GST_SEEK_FLAG_SNAP_BEFORE | \
                               GST_SEEK_FLAG_SNAP_AFTER | \
                               GST_SEEK_FLAG_SNAP_NEAREST))
@@ -1303,6 +1354,23 @@
       gst_event_unref (event);
       return FALSE;
     }
+
+    if (!(flags & GST_SEEK_FLAG_ACCURATE)) {
+      /* If the accurate flag is not set, we allow seeking before the start
+       * to map to the start for live cases, since those can return a "moving
+       * target" based on wall time.
+       */
+      if (start < range_start) {
+        guint64 dt = range_start - start;
+        GST_DEBUG_OBJECT (demux,
+            "Non accurate seek before live stream start, offsetting by %"
+            GST_TIME_FORMAT, GST_TIME_ARGS (dt));
+        start = range_start;
+        if (stop != GST_CLOCK_TIME_NONE)
+          stop += dt;
+      }
+    }
+
     if (start < range_start || start >= range_stop) {
       GST_MANIFEST_UNLOCK (demux);
       GST_API_UNLOCK (demux);
@@ -1372,7 +1440,9 @@
       }
     }
 
-    demux_class->stream_seek (stream, rate >= 0, stream_seek_flags, ts, &ts);
+    if (stream) {
+      demux_class->stream_seek (stream, rate >= 0, stream_seek_flags, ts, &ts);
+    }
 
     /* replace event with a new one without snaping to seek on all streams */
     gst_event_unref (event);
@@ -1486,7 +1556,8 @@
       stream = gst_adaptive_demux_find_stream_for_pad (demux, pad);
 
       if (stream) {
-        if (stream->last_ret == GST_FLOW_NOT_LINKED) {
+        if (!stream->cancelled && demux->running &&
+            stream->last_ret == GST_FLOW_NOT_LINKED) {
           stream->last_ret = GST_FLOW_OK;
           stream->restart_download = TRUE;
           stream->need_header = TRUE;
@@ -1633,6 +1704,11 @@
 {
   GList *iter;
 
+  if (!demux->running) {
+    GST_DEBUG_OBJECT (demux, "Not starting tasks due to shutdown");
+    return;
+  }
+
   GST_INFO_OBJECT (demux, "Starting streams' tasks");
   for (iter = demux->streams; iter; iter = g_list_next (iter)) {
     GstAdaptiveDemuxStream *stream = iter->data;
@@ -1666,6 +1742,8 @@
 
   gst_uri_downloader_cancel (demux->downloader);
 
+  GST_LOG_OBJECT (demux, "Stopping tasks");
+
   for (iter = demux->streams; iter; iter = g_list_next (iter)) {
     GstAdaptiveDemuxStream *stream = iter->data;
 
@@ -1692,6 +1770,7 @@
     GST_MANIFEST_UNLOCK (demux);
 
     if (src) {
+      gst_element_set_locked_state (src, TRUE);
       gst_element_set_state (src, GST_STATE_READY);
     }
 
@@ -1820,6 +1899,19 @@
   GST_DEBUG_OBJECT (demux, "Bitrate after bitrate limit (%0.2f): %"
       G_GUINT64_FORMAT, demux->bitrate_limit,
       stream->current_download_rate * 8);
+
+#if 0
+  /* Debugging code, modulate the bitrate every few fragments */
+  {
+    static guint ctr = 0;
+    if (ctr % 3 == 0) {
+      GST_INFO_OBJECT (demux, "Halving reported bitrate for debugging");
+      stream->current_download_rate /= 2;
+    }
+    ctr++;
+  }
+#endif
+
   return stream->current_download_rate;
 }
 
@@ -1983,6 +2075,7 @@
 
   g_mutex_lock (&stream->fragment_download_lock);
   if (G_UNLIKELY (stream->cancelled)) {
+    GST_LOG_OBJECT (stream, "Stream was cancelled");
     ret = stream->last_ret = GST_FLOW_FLUSHING;
     g_mutex_unlock (&stream->fragment_download_lock);
     return ret;
@@ -2137,8 +2230,7 @@
     gboolean finished = FALSE;
 
     if (ret < GST_FLOW_EOS) {
-      GST_ELEMENT_ERROR (demux, STREAM, FAILED, (NULL),
-          ("stream stopped, reason %s", gst_flow_get_name (ret)));
+      GST_ELEMENT_FLOW_ERROR (demux, ret);
 
       /* TODO push this on all pads */
       gst_pad_push_event (stream->pad, gst_event_new_eos ());
@@ -2151,6 +2243,7 @@
       ret = GST_FLOW_EOS;       /* return EOS to make the source stop */
     } else if (ret == GST_ADAPTIVE_DEMUX_FLOW_END_OF_FRAGMENT) {
       /* Behaves like an EOS event from upstream */
+      stream->fragment.finished = TRUE;
       ret = klass->finish_fragment (demux, stream);
       if (ret == (GstFlowReturn) GST_ADAPTIVE_DEMUX_FLOW_SWITCH) {
         ret = GST_FLOW_EOS;     /* return EOS to make the source stop */
@@ -2195,6 +2288,23 @@
   g_mutex_unlock (&stream->fragment_download_lock);
 }
 
+static GstFlowReturn
+gst_adaptive_demux_eos_handling (GstAdaptiveDemuxStream * stream)
+{
+  GstFlowReturn ret = GST_FLOW_OK;
+  GstAdaptiveDemuxClass *klass = GST_ADAPTIVE_DEMUX_GET_CLASS (stream->demux);
+
+  if (!klass->need_another_chunk || stream->fragment.chunk_size == -1
+      || !klass->need_another_chunk (stream)
+      || stream->fragment.chunk_size == 0) {
+    stream->fragment.finished = TRUE;
+    ret = klass->finish_fragment (stream->demux, stream);
+  }
+  gst_adaptive_demux_stream_fragment_download_finish (stream, ret, NULL);
+
+  return ret;
+}
+
 static gboolean
 _src_event (GstPad * pad, GstObject * parent, GstEvent * event)
 {
@@ -2203,14 +2313,14 @@
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_EOS:{
-      GstAdaptiveDemuxClass *klass;
-      GstFlowReturn ret;
-
       GST_MANIFEST_LOCK (demux);
 
-      klass = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
-      ret = klass->finish_fragment (demux, stream);
-      gst_adaptive_demux_stream_fragment_download_finish (stream, ret, NULL);
+      gst_adaptive_demux_eos_handling (stream);
+
+      g_mutex_lock (&stream->fragment_download_lock);
+      stream->download_finished = TRUE;
+      g_cond_signal (&stream->fragment_download_cond);
+      g_mutex_unlock (&stream->fragment_download_lock);
 
       GST_MANIFEST_UNLOCK (demux);
       break;
@@ -2322,11 +2432,16 @@
     new_protocol = gst_uri_get_protocol (uri);
 
     if (!g_str_equal (old_protocol, new_protocol)) {
-      gst_object_unref (stream->src_srcpad);
-      gst_element_set_state (stream->src, GST_STATE_NULL);
-      gst_bin_remove (GST_BIN_CAST (demux), stream->src);
+      GstElement *src = stream->src;
+
       stream->src = NULL;
+      gst_object_unref (stream->src_srcpad);
       stream->src_srcpad = NULL;
+      GST_MANIFEST_UNLOCK (demux);
+      gst_element_set_locked_state (src, TRUE);
+      gst_element_set_state (src, GST_STATE_NULL);
+      gst_bin_remove (GST_BIN_CAST (demux), src);
+      GST_MANIFEST_LOCK (demux);
       GST_DEBUG_OBJECT (demux, "Can't re-use old source element");
     } else {
       GError *err = NULL;
@@ -2334,14 +2449,19 @@
       GST_DEBUG_OBJECT (demux, "Re-using old source element");
       if (!gst_uri_handler_set_uri (GST_URI_HANDLER (stream->uri_handler), uri,
               &err)) {
+        GstElement *src = stream->src;
+
+        stream->src = NULL;
         GST_DEBUG_OBJECT (demux, "Failed to re-use old source element: %s",
             err->message);
         g_clear_error (&err);
         gst_object_unref (stream->src_srcpad);
-        gst_element_set_state (stream->src, GST_STATE_NULL);
-        gst_bin_remove (GST_BIN_CAST (demux), stream->src);
-        stream->src = NULL;
         stream->src_srcpad = NULL;
+        GST_MANIFEST_UNLOCK (demux);
+        gst_element_set_locked_state (src, TRUE);
+        gst_element_set_state (src, GST_STATE_NULL);
+        gst_bin_remove (GST_BIN_CAST (demux), src);
+        GST_MANIFEST_LOCK (demux);
       }
     }
     g_free (old_uri);
@@ -2474,27 +2594,63 @@
 
     stream->uri_handler = uri_handler;
     stream->queue = queue;
+
+    stream->last_status_code = 200;     /* default to OK */
   }
   return TRUE;
 }
 
+static GstPadProbeReturn
+gst_ad_stream_src_to_ready_cb (GstPad * pad, GstPadProbeInfo * info,
+    gpointer user_data)
+{
+  GstAdaptiveDemuxStream *stream = user_data;
+
+  /* The source's src pad is IDLE so now set the state to READY */
+  g_mutex_lock (&stream->fragment_download_lock);
+  stream->src_at_ready = TRUE;
+  g_cond_signal (&stream->fragment_download_cond);
+  g_mutex_unlock (&stream->fragment_download_lock);
+
+  return GST_PAD_PROBE_OK;
+}
+
+#ifndef GST_DISABLE_GST_DEBUG
+static const char *
+uritype (GstAdaptiveDemuxStream * s)
+{
+  if (s->downloading_header)
+    return "header";
+  if (s->downloading_index)
+    return "index";
+  return "fragment";
+}
+#endif
+
 /* must be called with manifest_lock taken.
  * Can temporarily release manifest_lock
  */
 static GstFlowReturn
 gst_adaptive_demux_stream_download_uri (GstAdaptiveDemux * demux,
     GstAdaptiveDemuxStream * stream, const gchar * uri, gint64 start,
-    gint64 end)
+    gint64 end, guint * http_status)
 {
   GstFlowReturn ret = GST_FLOW_OK;
-  GST_DEBUG_OBJECT (stream->pad, "Downloading uri: %s, range:%" G_GINT64_FORMAT
-      " - %" G_GINT64_FORMAT, uri, start, end);
+  GST_DEBUG_OBJECT (stream->pad,
+      "Downloading %s uri: %s, range:%" G_GINT64_FORMAT " - %" G_GINT64_FORMAT,
+      uritype (stream), uri, start, end);
+
+  if (http_status)
+    *http_status = 200;         /* default to ok if no further information */
 
   if (!gst_adaptive_demux_stream_update_source (stream, uri, NULL, FALSE, TRUE)) {
     ret = stream->last_ret = GST_FLOW_ERROR;
     return ret;
   }
 
+  gst_element_set_locked_state (stream->src, TRUE);
+
+  GST_MANIFEST_UNLOCK (demux);
   if (gst_element_set_state (stream->src,
           GST_STATE_READY) != GST_STATE_CHANGE_FAILURE) {
     if (start != 0 || end != -1) {
@@ -2508,13 +2664,18 @@
                   GST_FORMAT_BYTES, (GstSeekFlags) GST_SEEK_FLAG_FLUSH,
                   GST_SEEK_TYPE_SET, start, GST_SEEK_TYPE_SET, end))) {
 
+        GST_MANIFEST_LOCK (demux);
         /* looks like the source can't handle seeks in READY */
         g_clear_error (&stream->last_error);
         stream->last_error = g_error_new (GST_CORE_ERROR,
             GST_CORE_ERROR_NOT_IMPLEMENTED,
             "Source element can't handle range requests");
         stream->last_ret = GST_FLOW_ERROR;
+      } else {
+        GST_MANIFEST_LOCK (demux);
       }
+    } else {
+      GST_MANIFEST_LOCK (demux);
     }
 
     if (G_LIKELY (stream->last_ret == GST_FLOW_OK)) {
@@ -2541,9 +2702,10 @@
 
       /* wait for the fragment to be completely downloaded */
       GST_DEBUG_OBJECT (stream->pad,
-          "Waiting for fragment download to finish: %s", uri);
+          "Waiting for %s download to finish: %s", uritype (stream), uri);
 
       g_mutex_lock (&stream->fragment_download_lock);
+      stream->src_at_ready = FALSE;
       if (G_UNLIKELY (stream->cancelled)) {
         g_mutex_unlock (&stream->fragment_download_lock);
         GST_MANIFEST_LOCK (demux);
@@ -2567,10 +2729,15 @@
 
       ret = stream->last_ret;
 
-      GST_DEBUG_OBJECT (stream->pad, "Fragment download finished: %s %d %s",
-          uri, stream->last_ret, gst_flow_get_name (stream->last_ret));
+      GST_DEBUG_OBJECT (stream->pad, "%s download finished: %s %d %s",
+          uritype (stream), uri, stream->last_ret,
+          gst_flow_get_name (stream->last_ret));
+      if (stream->last_ret != GST_FLOW_OK && http_status) {
+        *http_status = stream->last_status_code;
+      }
     }
   } else {
+    GST_MANIFEST_UNLOCK (demux);
     if (stream->last_ret == GST_FLOW_OK)
       stream->last_ret = GST_FLOW_CUSTOM_ERROR;
     ret = GST_FLOW_CUSTOM_ERROR;
@@ -2581,8 +2748,22 @@
    */
   GST_MANIFEST_UNLOCK (demux);
 
+  stream->src_at_ready = FALSE;
+
+  gst_element_set_locked_state (stream->src, TRUE);
+  gst_pad_add_probe (stream->src_srcpad, GST_PAD_PROBE_TYPE_IDLE,
+      gst_ad_stream_src_to_ready_cb, stream, NULL);
+
+  g_mutex_lock (&stream->fragment_download_lock);
+  while (!stream->src_at_ready) {
+    g_cond_wait (&stream->fragment_download_cond,
+        &stream->fragment_download_lock);
+  }
+  g_mutex_unlock (&stream->fragment_download_lock);
+
   gst_element_set_state (stream->src, GST_STATE_READY);
 
+  /* Need to drop the fragment_download_lock to get the MANIFEST lock */
   GST_MANIFEST_LOCK (demux);
   g_mutex_lock (&stream->fragment_download_lock);
   if (G_UNLIKELY (stream->cancelled)) {
@@ -2618,7 +2799,7 @@
     stream->downloading_header = TRUE;
     ret = gst_adaptive_demux_stream_download_uri (demux, stream,
         stream->fragment.header_uri, stream->fragment.header_range_start,
-        stream->fragment.header_range_end);
+        stream->fragment.header_range_end, NULL);
     stream->downloading_header = FALSE;
   }
 
@@ -2633,7 +2814,7 @@
       stream->downloading_index = TRUE;
       ret = gst_adaptive_demux_stream_download_uri (demux, stream,
           stream->fragment.index_uri, stream->fragment.index_range_start,
-          stream->fragment.index_range_end);
+          stream->fragment.index_range_end, NULL);
       stream->downloading_index = FALSE;
     }
   }
@@ -2648,8 +2829,12 @@
 gst_adaptive_demux_stream_download_fragment (GstAdaptiveDemuxStream * stream)
 {
   GstAdaptiveDemux *demux = stream->demux;
+  GstAdaptiveDemuxClass *klass = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
   gchar *url = NULL;
-  GstFlowReturn ret = GST_FLOW_OK;
+  GstFlowReturn ret;
+  gboolean retried_once = FALSE, live;
+  guint http_status;
+  guint last_status_code;
 
   stream->starting_fragment = TRUE;
   stream->last_ret = GST_FLOW_OK;
@@ -2667,43 +2852,199 @@
     stream->need_header = FALSE;
   }
 
+again:
+  ret = GST_FLOW_OK;
   url = stream->fragment.uri;
   GST_DEBUG_OBJECT (stream->pad, "Got url '%s' for stream %p", url, stream);
-  if (url) {
+  if (!url)
+    return ret;
+
+  stream->last_ret = GST_FLOW_OK;
+  http_status = 200;
+
+  if (klass->need_another_chunk && klass->need_another_chunk (stream)
+      && stream->fragment.chunk_size != 0) {
+    gint64 range_start, range_end, chunk_start, chunk_end;
+    guint64 download_total_bytes;
+    gint chunk_size = stream->fragment.chunk_size;
+
+    range_start = chunk_start = stream->fragment.range_start;
+    range_end = stream->fragment.range_end;
+    /* HTTP ranges are inclusive for the end */
+    if (chunk_size != -1)
+      chunk_end = range_start + chunk_size - 1;
+    else
+      chunk_end = range_end;
+
+    if (range_end != -1)
+      chunk_end = MIN (chunk_end, range_end);
+
+    while (!stream->fragment.finished && (chunk_start <= range_end
+            || range_end == -1)) {
+      download_total_bytes = stream->download_total_bytes;
+
+      ret =
+          gst_adaptive_demux_stream_download_uri (demux, stream, url,
+          chunk_start, chunk_end, &http_status);
+
+      GST_DEBUG_OBJECT (stream->pad,
+          "Fragment chunk download result: %d (%d) %s", stream->last_ret,
+          http_status, gst_flow_get_name (stream->last_ret));
+
+      /* Don't retry for any chunks except the first. We would have sent
+       * data downstream already otherwise and it's difficult to recover
+       * from that in a meaningful way */
+      if (chunk_start > range_start)
+        retried_once = TRUE;
+
+      /* FIXME: Check for 416 Range Not Satisfiable here and fall back to
+       * downloading up to -1. We don't know the full duration.
+       * Needs https://bugzilla.gnome.org/show_bug.cgi?id=756806 */
+      if (ret != GST_FLOW_OK && chunk_end == -1) {
+        break;
+      } else if (ret != GST_FLOW_OK) {
+        chunk_end = -1;
+        stream->last_ret = GST_FLOW_OK;
+        continue;
+      }
+
+      if (chunk_end == -1)
+        break;
+
+      /* Short read, we're at the end now */
+      if (stream->download_total_bytes - download_total_bytes <
+          chunk_end + 1 - chunk_start)
+        break;
+
+      if (!klass->need_another_chunk (stream))
+        break;
+
+      /* HTTP ranges are inclusive for the end */
+      chunk_start += chunk_size;
+      chunk_size = stream->fragment.chunk_size;
+      if (chunk_size != -1)
+        chunk_end = chunk_start + chunk_size - 1;
+      else
+        chunk_end = range_end;
+
+      if (range_end != -1)
+        chunk_end = MIN (chunk_end, range_end);
+    }
+  } else {
     ret =
         gst_adaptive_demux_stream_download_uri (demux, stream, url,
-        stream->fragment.range_start, stream->fragment.range_end);
-    GST_DEBUG_OBJECT (stream->pad, "Fragment download result: %d %s",
-        stream->last_ret, gst_flow_get_name (stream->last_ret));
-    if (ret != GST_FLOW_OK) {
-      g_mutex_lock (&stream->fragment_download_lock);
-      if (G_UNLIKELY (stream->cancelled)) {
-        g_mutex_unlock (&stream->fragment_download_lock);
-        return ret;
-      }
-      g_mutex_unlock (&stream->fragment_download_lock);
+        stream->fragment.range_start, stream->fragment.range_end, &http_status);
+    GST_DEBUG_OBJECT (stream->pad, "Fragment download result: %d (%d) %s",
+        stream->last_ret, http_status, gst_flow_get_name (stream->last_ret));
+  }
+  if (ret == GST_FLOW_OK)
+    goto beach;
 
-      /* TODO check if we are truly stopping */
-      if (ret == GST_FLOW_CUSTOM_ERROR && gst_adaptive_demux_is_live (demux)) {
-        if (++stream->download_error_count <= MAX_DOWNLOAD_ERROR_COUNT) {
-          /* looks like there is no way of knowing when a live stream has ended
-           * Have to assume we are falling behind and cause a manifest reload */
-          GST_DEBUG_OBJECT (stream->pad,
-              "Converting error of live stream to EOS");
-          return GST_FLOW_EOS;
+  g_mutex_lock (&stream->fragment_download_lock);
+  if (G_UNLIKELY (stream->cancelled)) {
+    g_mutex_unlock (&stream->fragment_download_lock);
+    return ret;
+  }
+  g_mutex_unlock (&stream->fragment_download_lock);
+
+  /* TODO check if we are truly stopping */
+  if (ret != GST_FLOW_CUSTOM_ERROR)
+    goto beach;
+
+  last_status_code = stream->last_status_code;
+  GST_WARNING_OBJECT (stream->pad, "Got custom error, status %u, dc %d",
+      last_status_code, stream->download_error_count);
+
+  live = gst_adaptive_demux_is_live (demux);
+  if (!retried_once && ((last_status_code / 100 == 4 && live) || last_status_code / 100 == 5)) {        /* 4xx/5xx */
+    /* if current position is before available start, switch to next */
+    if (!gst_adaptive_demux_stream_has_next_fragment (demux, stream))
+      goto flushing;
+
+    if (live) {
+      gint64 range_start, range_stop;
+
+      if (!gst_adaptive_demux_get_live_seek_range (demux, &range_start,
+              &range_stop))
+        goto flushing;
+
+      if (demux->segment.position < range_start) {
+        GST_DEBUG_OBJECT (stream->pad, "Retrying once with next segment");
+        stream->last_ret = GST_FLOW_OK;
+        ret = gst_adaptive_demux_eos_handling (stream);
+        GST_DEBUG_OBJECT (stream->pad, "finish_fragment: %s",
+            gst_flow_get_name (ret));
+        ret = gst_adaptive_demux_stream_update_fragment_info (demux, stream);
+        GST_DEBUG_OBJECT (stream->pad, "finish_fragment: %s",
+            gst_flow_get_name (ret));
+        if (ret == GST_FLOW_OK) {
+          retried_once = TRUE;
+          goto again;
         }
-      } else if (ret == GST_FLOW_CUSTOM_ERROR
-          && !gst_adaptive_demux_stream_has_next_fragment (demux, stream)) {
-        /* If this is the last fragment, consider failures EOS and not actual
-         * errors. Due to rounding errors in the durations, the last fragment
-         * might not actually exist */
-        GST_DEBUG_OBJECT (stream->pad,
-            "Converting error for last fragment to EOS");
-        return GST_FLOW_EOS;
+      } else if (demux->segment.position > range_stop) {
+        /* wait a bit to be in range, we don't have any locks at that point */
+        gint64 wait_time =
+            gst_adaptive_demux_stream_get_fragment_waiting_time (demux, stream);
+        if (wait_time > 0) {
+          gint64 end_time = g_get_monotonic_time () + wait_time / GST_USECOND;
+
+          GST_DEBUG_OBJECT (stream->pad,
+              "Download waiting for %" GST_TIME_FORMAT,
+              GST_TIME_ARGS (wait_time));
+
+          GST_MANIFEST_UNLOCK (demux);
+          g_mutex_lock (&stream->fragment_download_lock);
+          if (G_UNLIKELY (stream->cancelled)) {
+            g_mutex_unlock (&stream->fragment_download_lock);
+            GST_MANIFEST_LOCK (demux);
+            stream->last_ret = GST_FLOW_FLUSHING;
+            goto flushing;
+          }
+          do {
+            g_cond_wait_until (&stream->fragment_download_cond,
+                &stream->fragment_download_lock, end_time);
+            if (G_UNLIKELY (stream->cancelled)) {
+              g_mutex_unlock (&stream->fragment_download_lock);
+              GST_MANIFEST_LOCK (demux);
+              stream->last_ret = GST_FLOW_FLUSHING;
+              goto flushing;
+            }
+          } while (!stream->download_finished);
+          g_mutex_unlock (&stream->fragment_download_lock);
+
+          GST_MANIFEST_LOCK (demux);
+        }
       }
     }
+
+  flushing:
+    if (++stream->download_error_count <= MAX_DOWNLOAD_ERROR_COUNT) {
+      /* looks like there is no way of knowing when a live stream has ended
+       * Have to assume we are falling behind and cause a manifest reload */
+      GST_DEBUG_OBJECT (stream->pad, "Converting error of live stream to EOS");
+      return GST_FLOW_EOS;
+    }
   }
 
+  else if (!gst_adaptive_demux_stream_has_next_fragment (demux, stream)) {
+    /* If this is the last fragment, consider failures EOS and not actual
+     * errors. Due to rounding errors in the durations, the last fragment
+     * might not actually exist */
+    GST_DEBUG_OBJECT (stream->pad, "Converting error for last fragment to EOS");
+    return GST_FLOW_EOS;
+  } else {
+    /* retry once (same segment) for 5xx (server errors) */
+    if (!retried_once) {
+      retried_once = TRUE;
+      /* wait a short time in case the server needs a bit to recover, we don't
+       * care if we get woken up before end time. We can use sleep here since
+       * we're already blocking and just want to wait some time. */
+      g_usleep (100000);        /* a tenth of a second */
+      goto again;
+    }
+  }
+
+beach:
   return ret;
 
 no_url_error:
@@ -2943,13 +3284,15 @@
       break;
 
     case GST_FLOW_NOT_LINKED:
+    {
+      GstFlowReturn ret;
       gst_task_stop (stream->download_task);
-      if (gst_adaptive_demux_combine_flows (demux)
-          == GST_FLOW_NOT_LINKED) {
-        GST_ELEMENT_ERROR (demux, STREAM, FAILED,
-            (_("Internal data stream error.")), ("stream stopped, reason %s",
-                gst_flow_get_name (GST_FLOW_NOT_LINKED)));
+
+      ret = gst_adaptive_demux_combine_flows (demux);
+      if (ret == GST_FLOW_NOT_LINKED) {
+        GST_ELEMENT_FLOW_ERROR (demux, ret);
       }
+    }
       break;
 
     case GST_FLOW_FLUSHING:{
@@ -3069,9 +3412,14 @@
 
     gst_task_stop (stream->download_task);
     if (stream->src) {
-      gst_element_set_state (stream->src, GST_STATE_NULL);
-      gst_bin_remove (GST_BIN_CAST (demux), stream->src);
+      GstElement *src = stream->src;
+
       stream->src = NULL;
+      GST_MANIFEST_UNLOCK (demux);
+      gst_element_set_locked_state (src, TRUE);
+      gst_element_set_state (src, GST_STATE_NULL);
+      gst_bin_remove (GST_BIN_CAST (demux), src);
+      GST_MANIFEST_LOCK (demux);
     }
 
     gst_element_post_message (GST_ELEMENT_CAST (demux), msg);
@@ -3180,13 +3528,27 @@
     GstEvent * event)
 {
   gboolean ret;
+  GstPad *pad;
+  GstAdaptiveDemux *demux = stream->demux;
 
   if (GST_EVENT_TYPE (event) == GST_EVENT_EOS) {
     stream->eos = TRUE;
   }
+
+  pad = gst_object_ref (GST_ADAPTIVE_DEMUX_STREAM_PAD (stream));
+
+  /* Can't push events holding the manifest lock */
+  GST_MANIFEST_UNLOCK (demux);
+
   GST_DEBUG_OBJECT (GST_ADAPTIVE_DEMUX_STREAM_PAD (stream),
       "Pushing event %" GST_PTR_FORMAT, event);
-  ret = gst_pad_push_event (GST_ADAPTIVE_DEMUX_STREAM_PAD (stream), event);
+
+  ret = gst_pad_push_event (pad, event);
+
+  gst_object_unref (pad);
+
+  GST_MANIFEST_LOCK (demux);
+
   return ret;
 }
 
@@ -3310,13 +3672,32 @@
 
     /* the subclass might want to switch pads */
     if (G_UNLIKELY (demux->next_streams)) {
+      GList *iter;
+      gboolean can_expose = TRUE;
+
       gst_task_stop (stream->download_task);
-      /* TODO only allow switching streams if other downloads are not ongoing */
-      GST_DEBUG_OBJECT (demux, "Subclass wants new pads "
-          "to do bitrate switching");
-      gst_adaptive_demux_expose_streams (demux, FALSE);
-      gst_adaptive_demux_start_tasks (demux);
+
       ret = GST_FLOW_EOS;
+
+      for (iter = demux->streams; iter; iter = g_list_next (iter)) {
+        /* Only expose if all streams are now cancelled or finished downloading */
+        GstAdaptiveDemuxStream *other = iter->data;
+        if (other != stream) {
+          g_mutex_lock (&other->fragment_download_lock);
+          can_expose &= (other->cancelled == TRUE
+              || other->download_finished == TRUE);
+          g_mutex_unlock (&other->fragment_download_lock);
+        }
+      }
+
+      if (can_expose) {
+        GST_DEBUG_OBJECT (demux, "Subclass wants new pads "
+            "to do bitrate switching");
+        gst_adaptive_demux_expose_streams (demux, FALSE);
+        gst_adaptive_demux_start_tasks (demux);
+      } else {
+        GST_LOG_OBJECT (demux, "Not switching yet - ongoing downloads");
+      }
     }
   }
 
@@ -3330,12 +3711,6 @@
 {
   GstAdaptiveDemuxClass *klass = GST_ADAPTIVE_DEMUX_GET_CLASS (demux);
 
-  /* FIXME: Currently several issues have be found when letting bitrate adaptation
-   * happen using trick modes (such as 'All streams finished without buffers') and
-   * the adaptive algorithm does not properly behave. */
-  if (demux->segment.rate != 1.0)
-    return FALSE;
-
   if (klass->stream_select_bitrate)
     return klass->stream_select_bitrate (stream, bitrate);
   return FALSE;
@@ -3354,6 +3729,7 @@
   /* Make sure the sub-class will update bitrate, or else
    * we will later */
   stream->fragment.bitrate = 0;
+  stream->fragment.finished = FALSE;
 
   return klass->stream_update_fragment_info (stream);
 }
@@ -3450,6 +3826,8 @@
   f->index_uri = NULL;
   f->index_range_start = 0;
   f->index_range_end = -1;
+
+  f->finished = FALSE;
 }
 
 /* must be called with manifest_lock taken */
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.h b/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
index c75309f..e876600 100644
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.h
@@ -98,6 +98,9 @@
   gint64 range_start;
   gint64 range_end;
 
+  /* when chunked downloading is used, may be be updated need_another_chunk() */
+  guint chunk_size;
+
   /* when headers are needed */
   gchar *header_uri;
   gint64 header_range_start;
@@ -111,6 +114,8 @@
   /* Nominal bitrate as provided by
    * sub-class or calculated by base-class */
   guint bitrate;
+
+  gboolean finished;
 };
 
 struct _GstAdaptiveDemuxStream
@@ -145,6 +150,7 @@
 
   /* download tooling */
   GstElement *src;
+  guint last_status_code;
   GstPad *src_srcpad;
   GstElement *uri_handler;
   GstElement *queue;
@@ -152,6 +158,7 @@
   GCond fragment_download_cond;
   gboolean download_finished;   /* protected by fragment_download_lock */
   gboolean cancelled;           /* protected by fragment_download_lock */
+  gboolean src_at_ready;     /* protected by fragment_download_lock */
   gboolean starting_fragment;
   gboolean first_fragment_buffer;
   gint64 download_start_time;
@@ -183,6 +190,8 @@
   /*< private >*/
   GstBin     bin;
 
+  gboolean running;
+
   gsize stream_struct_size;
 
   /*< protected >*/
@@ -322,6 +331,17 @@
   GstFlowReturn (*stream_seek)     (GstAdaptiveDemuxStream * stream, gboolean forward, GstSeekFlags flags, GstClockTime target_ts, GstClockTime * final_ts);
   gboolean      (*stream_has_next_fragment)  (GstAdaptiveDemuxStream * stream);
   GstFlowReturn (*stream_advance_fragment) (GstAdaptiveDemuxStream * stream);
+
+  /**
+   * need_another_chunk:
+   * @stream: #GstAdaptiveDemuxStream
+   *
+   * If chunked downloading is used (chunk_size != 0) this is called once as
+   * chunk is finished to decide whether more has to be downloaded or not.
+   * May update chunk_size to a different value
+   */
+  gboolean      (*need_another_chunk) (GstAdaptiveDemuxStream * stream);
+
   /**
    * stream_update_fragment_info:
    * @stream: #GstAdaptiveDemuxStream
diff --git a/gst-libs/gst/audio/Makefile.in b/gst-libs/gst/audio/Makefile.in
index e23e3bd..a2eb92a 100644
--- a/gst-libs/gst/audio/Makefile.in
+++ b/gst-libs/gst/audio/Makefile.in
@@ -317,6 +317,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -366,6 +368,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/base/Makefile.in b/gst-libs/gst/base/Makefile.in
index 070417b..e06d16a 100644
--- a/gst-libs/gst/base/Makefile.in
+++ b/gst-libs/gst/base/Makefile.in
@@ -311,6 +311,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -360,6 +362,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/basecamerabinsrc/Makefile.in b/gst-libs/gst/basecamerabinsrc/Makefile.in
index 2c592de..c6846f8 100644
--- a/gst-libs/gst/basecamerabinsrc/Makefile.in
+++ b/gst-libs/gst/basecamerabinsrc/Makefile.in
@@ -316,6 +316,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -365,6 +367,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c b/gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c
index cfdc074..48ec2fe 100644
--- a/gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c
+++ b/gst-libs/gst/basecamerabinsrc/gstcamerabinpreview.c
@@ -235,7 +235,14 @@
   g_cond_clear (&preview->processing_cond);
 
   if (preview->pipeline) {
+    GstBus *bus;
+
     gst_element_set_state (preview->pipeline, GST_STATE_NULL);
+
+    bus = gst_pipeline_get_bus (GST_PIPELINE (preview->pipeline));
+    gst_bus_remove_watch (bus);
+    gst_object_unref (bus);
+
     gst_object_unref (preview->pipeline);
   }
   g_free (preview);
diff --git a/gst-libs/gst/codecparsers/Makefile.in b/gst-libs/gst/codecparsers/Makefile.in
index ab7d6e3..5971a4a 100644
--- a/gst-libs/gst/codecparsers/Makefile.in
+++ b/gst-libs/gst/codecparsers/Makefile.in
@@ -347,6 +347,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -396,6 +398,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/codecparsers/nalutils.c b/gst-libs/gst/codecparsers/nalutils.c
index b949acb..045b91b 100644
--- a/gst-libs/gst/codecparsers/nalutils.c
+++ b/gst-libs/gst/codecparsers/nalutils.c
@@ -77,7 +77,7 @@
   nr->cache = 0xff;
 }
 
-inline gboolean
+extern inline gboolean
 nal_reader_read (NalReader * nr, guint nbits)
 {
   if (G_UNLIKELY (nr->byte * 8 + (nbits - nr->bits_in_cache) > nr->size * 8)) {
@@ -115,7 +115,7 @@
 
 /* Skips the specified amount of bits. This is only suitable to a
    cacheable number of bits */
-inline gboolean
+extern inline gboolean
 nal_reader_skip (NalReader * nr, guint nbits)
 {
   g_assert (nbits <= 8 * sizeof (nr->cache));
@@ -146,19 +146,19 @@
   return TRUE;
 }
 
-inline guint
+extern inline guint
 nal_reader_get_pos (const NalReader * nr)
 {
   return nr->byte * 8 - nr->bits_in_cache;
 }
 
-inline guint
+extern inline guint
 nal_reader_get_remaining (const NalReader * nr)
 {
   return (nr->size - nr->byte) * 8 + nr->bits_in_cache;
 }
 
-inline guint
+extern inline guint
 nal_reader_get_epb_count (const NalReader * nr)
 {
   return nr->n_epb;
@@ -230,7 +230,7 @@
   return TRUE;
 }
 
-inline gboolean
+extern inline gboolean
 nal_reader_get_se (NalReader * nr, gint32 * val)
 {
   guint32 value;
@@ -297,7 +297,7 @@
 
 /***********  end of nal parser ***************/
 
-inline gint
+extern inline gint
 scan_for_start_codes (const guint8 * data, guint size)
 {
   GstByteReader br;
diff --git a/gst-libs/gst/gl/Makefile.am b/gst-libs/gst/gl/Makefile.am
index 3f04a51..a54ea3f 100644
--- a/gst-libs/gst/gl/Makefile.am
+++ b/gst-libs/gst/gl/Makefile.am
@@ -14,6 +14,7 @@
 	gstglbuffer.c \
 	gstglmemory.c \
 	gstglmemorypbo.c \
+	gstglrenderbuffer.c \
 	gstglbufferpool.c \
 	gstglfilter.c \
 	gstglformat.c \
@@ -45,6 +46,7 @@
 	gstglbuffer.h \
 	gstglmemory.h \
 	gstglmemorypbo.h \
+	gstglrenderbuffer.h \
 	gstglbufferpool.h \
 	gstglfilter.h \
 	gstglformat.h \
diff --git a/gst-libs/gst/gl/Makefile.in b/gst-libs/gst/gl/Makefile.in
index 998609b..dc7d55b 100644
--- a/gst-libs/gst/gl/Makefile.in
+++ b/gst-libs/gst/gl/Makefile.in
@@ -200,6 +200,7 @@
 	libgstgl_@GST_API_VERSION@_la-gstglbuffer.lo \
 	libgstgl_@GST_API_VERSION@_la-gstglmemory.lo \
 	libgstgl_@GST_API_VERSION@_la-gstglmemorypbo.lo \
+	libgstgl_@GST_API_VERSION@_la-gstglrenderbuffer.lo \
 	libgstgl_@GST_API_VERSION@_la-gstglbufferpool.lo \
 	libgstgl_@GST_API_VERSION@_la-gstglfilter.lo \
 	libgstgl_@GST_API_VERSION@_la-gstglformat.lo \
@@ -423,6 +424,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -472,6 +475,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -893,6 +898,7 @@
 	gstglbuffer.c \
 	gstglmemory.c \
 	gstglmemorypbo.c \
+	gstglrenderbuffer.c \
 	gstglbufferpool.c \
 	gstglfilter.c \
 	gstglformat.c \
@@ -924,6 +930,7 @@
 	gstglbuffer.h \
 	gstglmemory.h \
 	gstglmemorypbo.h \
+	gstglrenderbuffer.h \
 	gstglbufferpool.h \
 	gstglfilter.h \
 	gstglformat.h \
@@ -1084,6 +1091,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglmemorypbo.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstgloverlaycompositor.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglquery.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglrenderbuffer.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglshader.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglshaderstrings.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglsl.Plo@am__quote@
@@ -1167,6 +1175,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) $(libgstgl_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstgl_@GST_API_VERSION@_la-gstglmemorypbo.lo `test -f 'gstglmemorypbo.c' || echo '$(srcdir)/'`gstglmemorypbo.c
 
+libgstgl_@GST_API_VERSION@_la-gstglrenderbuffer.lo: gstglrenderbuffer.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) $(libgstgl_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstgl_@GST_API_VERSION@_la-gstglrenderbuffer.lo -MD -MP -MF $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglrenderbuffer.Tpo -c -o libgstgl_@GST_API_VERSION@_la-gstglrenderbuffer.lo `test -f 'gstglrenderbuffer.c' || echo '$(srcdir)/'`gstglrenderbuffer.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglrenderbuffer.Tpo $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglrenderbuffer.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstglrenderbuffer.c' object='libgstgl_@GST_API_VERSION@_la-gstglrenderbuffer.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) $(libgstgl_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -c -o libgstgl_@GST_API_VERSION@_la-gstglrenderbuffer.lo `test -f 'gstglrenderbuffer.c' || echo '$(srcdir)/'`gstglrenderbuffer.c
+
 libgstgl_@GST_API_VERSION@_la-gstglbufferpool.lo: gstglbufferpool.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) $(libgstgl_@GST_API_VERSION@_la_CFLAGS) $(CFLAGS) -MT libgstgl_@GST_API_VERSION@_la-gstglbufferpool.lo -MD -MP -MF $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglbufferpool.Tpo -c -o libgstgl_@GST_API_VERSION@_la-gstglbufferpool.lo `test -f 'gstglbufferpool.c' || echo '$(srcdir)/'`gstglbufferpool.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglbufferpool.Tpo $(DEPDIR)/libgstgl_@GST_API_VERSION@_la-gstglbufferpool.Plo
diff --git a/gst-libs/gst/gl/android/Makefile.in b/gst-libs/gst/gl/android/Makefile.in
index 0ae23fd..449d69f 100644
--- a/gst-libs/gst/gl/android/Makefile.in
+++ b/gst-libs/gst/gl/android/Makefile.in
@@ -324,6 +324,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -373,6 +375,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/gl/cocoa/Makefile.in b/gst-libs/gst/gl/cocoa/Makefile.in
index 1c30624..004afb3 100644
--- a/gst-libs/gst/gl/cocoa/Makefile.in
+++ b/gst-libs/gst/gl/cocoa/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/gl/dispmanx/Makefile.in b/gst-libs/gst/gl/dispmanx/Makefile.in
index da481c8..2c39ca6 100644
--- a/gst-libs/gst/gl/dispmanx/Makefile.in
+++ b/gst-libs/gst/gl/dispmanx/Makefile.in
@@ -296,6 +296,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -345,6 +347,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/gl/eagl/Makefile.in b/gst-libs/gst/gl/eagl/Makefile.in
index 9b60f3d..070966f 100644
--- a/gst-libs/gst/gl/eagl/Makefile.in
+++ b/gst-libs/gst/gl/eagl/Makefile.in
@@ -296,6 +296,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -345,6 +347,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/gl/egl/Makefile.in b/gst-libs/gst/gl/egl/Makefile.in
index a85730d..f6f49a4 100644
--- a/gst-libs/gst/gl/egl/Makefile.in
+++ b/gst-libs/gst/gl/egl/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/gl/egl/gstegl.h b/gst-libs/gst/gl/egl/gstegl.h
index 82d4953..2a31f82 100644
--- a/gst-libs/gst/gl/egl/gstegl.h
+++ b/gst-libs/gst/gl/egl/gstegl.h
@@ -46,4 +46,9 @@
 #pragma GCC diagnostic pop
 #endif
 
+/* compatibility definitions... */
+#if !GST_GL_HAVE_EGLATTRIB
+typedef gintptr EGLAttrib;
+#endif
+
 #endif /* _GST_EGL_H_ */
diff --git a/gst-libs/gst/gl/egl/gsteglimage.c b/gst-libs/gst/gl/egl/gsteglimage.c
index 569ed22..5d2a0a0 100644
--- a/gst-libs/gst/gl/egl/gsteglimage.c
+++ b/gst-libs/gst/gl/egl/gsteglimage.c
@@ -244,6 +244,9 @@
   gint fourcc;
   gint atti = 0;
   EGLint attribs[13];
+#ifdef EGL_VERSION_1_5
+  EGLAttrib attribs_1_5[13];
+#endif
   EGLImageKHR img = EGL_NO_IMAGE_KHR;
   GstVideoGLTextureType type;
 
@@ -257,32 +260,55 @@
       GST_VIDEO_INFO_COMP_WIDTH (in_info, plane),
       GST_VIDEO_INFO_COMP_HEIGHT (in_info, plane));
 
-  attribs[atti++] = EGL_WIDTH;
-  attribs[atti++] = GST_VIDEO_INFO_COMP_WIDTH (in_info, plane);
-  attribs[atti++] = EGL_HEIGHT;
-  attribs[atti++] = GST_VIDEO_INFO_COMP_HEIGHT (in_info, plane);
+#ifdef EGL_VERSION_1_5
+  if (GST_GL_CHECK_GL_VERSION (ctx_egl->egl_major, ctx_egl->egl_minor, 1, 5)) {
+    attribs_1_5[atti++] = EGL_WIDTH;
+    attribs_1_5[atti++] = GST_VIDEO_INFO_COMP_WIDTH (in_info, plane);
+    attribs_1_5[atti++] = EGL_HEIGHT;
+    attribs_1_5[atti++] = GST_VIDEO_INFO_COMP_HEIGHT (in_info, plane);
+    attribs_1_5[atti++] = EGL_LINUX_DRM_FOURCC_EXT;
+    attribs_1_5[atti++] = fourcc;
+    attribs_1_5[atti++] = EGL_DMA_BUF_PLANE0_FD_EXT;
+    attribs_1_5[atti++] = dmabuf;
+    attribs_1_5[atti++] = EGL_DMA_BUF_PLANE0_OFFSET_EXT;
+    attribs_1_5[atti++] = offset;
+    attribs_1_5[atti++] = EGL_DMA_BUF_PLANE0_PITCH_EXT;
+    attribs_1_5[atti++] = GST_VIDEO_INFO_PLANE_STRIDE (in_info, plane);
+    attribs_1_5[atti] = EGL_NONE;
 
-  attribs[atti++] = EGL_LINUX_DRM_FOURCC_EXT;
-  attribs[atti++] = fourcc;
+    for (int i = 0; i < atti; i++)
+      GST_LOG ("attr %i: %" G_GINTPTR_FORMAT, i, attribs_1_5[i]);
 
-  attribs[atti++] = EGL_DMA_BUF_PLANE0_FD_EXT;
-  attribs[atti++] = dmabuf;
+    g_assert (atti == 12);
 
-  attribs[atti++] = EGL_DMA_BUF_PLANE0_OFFSET_EXT;
-  attribs[atti++] = offset;
-  attribs[atti++] = EGL_DMA_BUF_PLANE0_PITCH_EXT;
-  attribs[atti++] = GST_VIDEO_INFO_PLANE_STRIDE (in_info, plane);
+    img = ctx_egl->eglCreateImage (ctx_egl->egl_display, EGL_NO_CONTEXT,
+        EGL_LINUX_DMA_BUF_EXT, NULL, attribs_1_5);
 
-  attribs[atti] = EGL_NONE;
+  } else
+#endif
+  {
+    attribs[atti++] = EGL_WIDTH;
+    attribs[atti++] = GST_VIDEO_INFO_COMP_WIDTH (in_info, plane);
+    attribs[atti++] = EGL_HEIGHT;
+    attribs[atti++] = GST_VIDEO_INFO_COMP_HEIGHT (in_info, plane);
+    attribs[atti++] = EGL_LINUX_DRM_FOURCC_EXT;
+    attribs[atti++] = fourcc;
+    attribs[atti++] = EGL_DMA_BUF_PLANE0_FD_EXT;
+    attribs[atti++] = dmabuf;
+    attribs[atti++] = EGL_DMA_BUF_PLANE0_OFFSET_EXT;
+    attribs[atti++] = offset;
+    attribs[atti++] = EGL_DMA_BUF_PLANE0_PITCH_EXT;
+    attribs[atti++] = GST_VIDEO_INFO_PLANE_STRIDE (in_info, plane);
+    attribs[atti] = EGL_NONE;
 
-  for (int i = 0; i < atti; i++)
-    GST_LOG ("attr %i: %08X", i, attribs[i]);
+    for (int i = 0; i < atti; i++)
+      GST_LOG ("attr %i: %08X", i, attribs[i]);
 
-  g_assert (atti == 12);
+    g_assert (atti == 12);
 
-  img = ctx_egl->eglCreateImage (ctx_egl->egl_display, EGL_NO_CONTEXT,
-      EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
-
+    img = ctx_egl->eglCreateImageKHR (ctx_egl->egl_display, EGL_NO_CONTEXT,
+        EGL_LINUX_DMA_BUF_EXT, NULL, attribs);
+  }
   if (!img) {
     GST_WARNING ("eglCreateImage failed: %s",
         gst_gl_context_egl_get_error_string (eglGetError ()));
diff --git a/gst-libs/gst/gl/egl/gstglcontext_egl.c b/gst-libs/gst/gl/egl/gstglcontext_egl.c
index ceafdf3..057c6a9 100644
--- a/gst-libs/gst/gl/egl/gstglcontext_egl.c
+++ b/gst-libs/gst/gl/egl/gstglcontext_egl.c
@@ -309,8 +309,8 @@
   GstGLContextEGL *egl;
   GstGLWindow *window = NULL;
   EGLNativeWindowType window_handle = (EGLNativeWindowType) 0;
-  EGLint majorVersion;
-  EGLint minorVersion;
+  EGLint egl_major;
+  EGLint egl_minor;
   gboolean need_surface = TRUE;
   guintptr external_gl_context = 0;
   GstGLDisplay *display;
@@ -363,8 +363,8 @@
   }
   gst_object_unref (display);
 
-  if (eglInitialize (egl->egl_display, &majorVersion, &minorVersion)) {
-    GST_INFO ("egl initialized, version: %d.%d", majorVersion, minorVersion);
+  if (eglInitialize (egl->egl_display, &egl_major, &egl_minor)) {
+    GST_INFO ("egl initialized, version: %d.%d", egl_major, egl_minor);
   } else {
     g_set_error (error, GST_GL_CONTEXT_ERROR,
         GST_GL_CONTEXT_ERROR_RESOURCE_UNAVAILABLE,
@@ -380,16 +380,16 @@
     gint i;
 
     /* egl + opengl only available with EGL 1.4+ */
-    if (majorVersion == 1 && minorVersion <= 3) {
+    if (egl_major == 1 && egl_minor <= 3) {
       if ((gl_api & ~GST_GL_API_OPENGL) == GST_GL_API_NONE) {
         g_set_error (error, GST_GL_CONTEXT_ERROR, GST_GL_CONTEXT_ERROR_OLD_LIBS,
             "EGL version (%i.%i) too old for OpenGL support, (needed at least 1.4)",
-            majorVersion, minorVersion);
+            egl_major, egl_minor);
         goto failure;
       } else {
         GST_WARNING
             ("EGL version (%i.%i) too old for OpenGL support, (needed at least 1.4)",
-            majorVersion, minorVersion);
+            egl_major, egl_minor);
         if (gl_api & GST_GL_API_GLES2) {
           goto try_gles2;
         } else {
@@ -599,22 +599,28 @@
   }
 
   /* EGLImage functions */
-  if (GST_GL_CHECK_GL_VERSION (majorVersion, minorVersion, 1, 5)) {
+  if (GST_GL_CHECK_GL_VERSION (egl_major, egl_minor, 1, 5)) {
     egl->eglCreateImage = gst_gl_context_get_proc_address (context,
         "eglCreateImage");
     egl->eglDestroyImage = gst_gl_context_get_proc_address (context,
         "eglDestroyImage");
+    if (egl->eglCreateImage == NULL || egl->eglDestroyImage == NULL) {
+      egl->eglCreateImage = NULL;
+      egl->eglDestroyImage = NULL;
+    }
   } else if (gst_gl_check_extension ("EGL_KHR_image_base", egl->egl_exts)) {
-    egl->eglCreateImage = gst_gl_context_get_proc_address (context,
+    egl->eglCreateImageKHR = gst_gl_context_get_proc_address (context,
         "eglCreateImageKHR");
     egl->eglDestroyImage = gst_gl_context_get_proc_address (context,
         "eglDestroyImageKHR");
+    if (egl->eglCreateImageKHR == NULL || egl->eglDestroyImage == NULL) {
+      egl->eglCreateImageKHR = NULL;
+      egl->eglDestroyImage = NULL;
+    }
   }
-  if (egl->eglCreateImage == NULL || egl->eglDestroyImage == NULL) {
-    egl->eglCreateImage = NULL;
-    egl->eglDestroyImage = NULL;
-  }
-
+  egl->egl_major = egl_major;
+  egl->egl_minor = egl_minor;
+ 
   if (window)
     gst_object_unref (window);
 
@@ -817,7 +823,11 @@
   GstGLContextEGL *context_egl = GST_GL_CONTEXT_EGL (context);
 
   if (g_strcmp0 (feature, "EGL_KHR_image_base") == 0) {
-    return context_egl->eglCreateImage != NULL &&
+    if (GST_GL_CHECK_GL_VERSION (context_egl->egl_major, context_egl->egl_minor, 1, 5))
+      return context_egl->eglCreateImage != NULL &&
+        context_egl->eglDestroyImage != NULL;
+    else
+      return context_egl->eglCreateImageKHR != NULL &&
         context_egl->eglDestroyImage != NULL;
   }
 
diff --git a/gst-libs/gst/gl/egl/gstglcontext_egl.h b/gst-libs/gst/gl/egl/gstglcontext_egl.h
index 90abb03..c73cd02 100644
--- a/gst-libs/gst/gl/egl/gstglcontext_egl.h
+++ b/gst-libs/gst/gl/egl/gstglcontext_egl.h
@@ -46,12 +46,17 @@
   EGLSurface egl_surface;
   EGLConfig  egl_config;
 
+  gint egl_major;
+  gint egl_minor;
+
   GstGLAPI gl_api;
 
   const gchar *egl_exts;
 
-  EGLImageKHR (*eglCreateImage) (EGLDisplay dpy, EGLContext ctx, EGLenum target,
+  EGLImageKHR (*eglCreateImageKHR) (EGLDisplay dpy, EGLContext ctx, EGLenum target,
       EGLClientBuffer buffer, const EGLint *attrib_list);
+  EGLImageKHR (*eglCreateImage) (EGLDisplay dpy, EGLContext ctx, EGLenum target,
+      EGLClientBuffer buffer, const EGLAttrib *attrib_list);
   EGLBoolean (*eglDestroyImage) (EGLDisplay dpy, EGLImageKHR image);
 
   /* Cached handle */
diff --git a/gst-libs/gst/gl/egl/gstglmemoryegl.c b/gst-libs/gst/gl/egl/gstglmemoryegl.c
index 0094c34..cde47ca 100644
--- a/gst-libs/gst/gl/egl/gstglmemoryegl.c
+++ b/gst-libs/gst/gl/egl/gstglmemoryegl.c
@@ -159,7 +159,7 @@
     return FALSE;
 
   if (gl_mem->image == NULL) {
-    EGLImageKHR image = ctx_egl->eglCreateImage (ctx_egl->egl_display,
+    EGLImageKHR image = ctx_egl->eglCreateImageKHR (ctx_egl->egl_display,
         ctx_egl->egl_context, EGL_GL_TEXTURE_2D_KHR,
         (EGLClientBuffer) (guintptr) gl_mem->mem.tex_id, NULL);
 
diff --git a/gst-libs/gst/gl/gl.h b/gst-libs/gst/gl/gl.h
index b17a4c6..9547386 100644
--- a/gst-libs/gst/gl/gl.h
+++ b/gst-libs/gst/gl/gl.h
@@ -45,6 +45,7 @@
 #include <gst/gl/gstglbuffer.h>
 #include <gst/gl/gstglmemory.h>
 #include <gst/gl/gstglmemorypbo.h>
+#include <gst/gl/gstglrenderbuffer.h>
 #include <gst/gl/gstglbufferpool.h>
 #include <gst/gl/gstglframebuffer.h>
 #include <gst/gl/gstglbasefilter.h>
diff --git a/gst-libs/gst/gl/glprototypes/Makefile.in b/gst-libs/gst/gl/glprototypes/Makefile.in
index c3d8253..3e1b479 100644
--- a/gst-libs/gst/gl/glprototypes/Makefile.in
+++ b/gst-libs/gst/gl/glprototypes/Makefile.in
@@ -288,6 +288,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -337,6 +339,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/gl/gstgl_fwd.h b/gst-libs/gst/gl/gstgl_fwd.h
index 73e17bd..465e284 100644
--- a/gst-libs/gst/gl/gstgl_fwd.h
+++ b/gst-libs/gst/gl/gstgl_fwd.h
@@ -59,6 +59,14 @@
 typedef struct _GstGLMemoryEGLAllocator GstGLMemoryEGLAllocator;
 typedef struct _GstGLMemoryEGLAllocatorClass GstGLMemoryEGLAllocatorClass;
 
+typedef struct _GstGLRenderbuffer GstGLRenderbuffer;
+typedef struct _GstGLRenderbufferAllocator GstGLRenderbufferAllocator;
+typedef struct _GstGLRenderbufferAllocatorClass GstGLRenderbufferAllocatorClass;
+
+typedef struct _GstGLFramebuffer GstGLFramebuffer;
+typedef struct _GstGLFramebufferAllocator GstGLFramebufferAllocator;
+typedef struct _GstGLFramebufferAllocatorClass GstGLFramebufferAllocatorClass;
+
 typedef struct _GstGLSLStage        GstGLSLStage;
 typedef struct _GstGLSLStagePrivate GstGLSLStagePrivate;
 typedef struct _GstGLSLStageClass   GstGLSLStageClass;
diff --git a/gst-libs/gst/gl/gstglbasememory.c b/gst-libs/gst/gl/gstglbasememory.c
index 915e19e..2d4c8c3 100644
--- a/gst-libs/gst/gl/gstglbasememory.c
+++ b/gst-libs/gst/gl/gstglbasememory.c
@@ -732,6 +732,8 @@
 {
   GstGLBaseMemoryAllocatorClass *alloc_class;
 
+  g_return_val_if_fail (GST_IS_GL_BASE_MEMORY_ALLOCATOR (allocator), NULL);
+
   alloc_class = GST_GL_BASE_MEMORY_ALLOCATOR_GET_CLASS (allocator);
 
   g_return_val_if_fail (alloc_class != NULL, NULL);
diff --git a/gst-libs/gst/gl/gstglbasememory.h b/gst-libs/gst/gl/gstglbasememory.h
index 642684a..bee2844 100644
--- a/gst-libs/gst/gl/gstglbasememory.h
+++ b/gst-libs/gst/gl/gstglbasememory.h
@@ -32,7 +32,7 @@
 #define GST_TYPE_GL_BASE_MEMORY_ALLOCATOR (gst_gl_base_memory_allocator_get_type())
 GType gst_gl_base_memory_allocator_get_type(void);
 
-#define GST_IS_GL_BASE_MEMORY_ALLOCATOR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_ALLOCATOR))
+#define GST_IS_GL_BASE_MEMORY_ALLOCATOR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_BASE_MEMORY_ALLOCATOR))
 #define GST_IS_GL_BASE_MEMORY_ALLOCATOR_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GL_BASE_MEMORY_ALLOCATOR))
 #define GST_GL_BASE_MEMORY_ALLOCATOR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_GL_BASE_MEMORY_ALLOCATOR, GstGLBaseMemoryAllocatorClass))
 #define GST_GL_BASE_MEMORY_ALLOCATOR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GL_BASE_MEMORY_ALLOCATOR, GstGLBaseMemoryAllocator))
diff --git a/gst-libs/gst/gl/gstglcolorconvert.c b/gst-libs/gst/gl/gstglcolorconvert.c
index ebddb2d..e9eb88a 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.c
+++ b/gst-libs/gst/gl/gstglcolorconvert.c
@@ -549,11 +549,9 @@
 {
   guint i;
 
-  if (convert->fbo || convert->depth_buffer) {
-    gst_gl_context_del_fbo (convert->context, convert->fbo,
-        convert->depth_buffer);
-    convert->fbo = 0;
-    convert->depth_buffer = 0;
+  if (convert->fbo) {
+    gst_object_unref (convert->fbo);
+    convert->fbo = NULL;
   }
 
   for (i = 0; i < convert->priv->convert_info.out_n_textures; i++) {
@@ -1360,6 +1358,8 @@
     case GST_VIDEO_FORMAT_GRAY16_BE:
     case GST_VIDEO_FORMAT_YUY2:
     case GST_VIDEO_FORMAT_UYVY:
+    case GST_VIDEO_FORMAT_RGB16:
+    case GST_VIDEO_FORMAT_BGR16:
       return 1;
     case GST_VIDEO_FORMAT_NV12:
     case GST_VIDEO_FORMAT_NV21:
@@ -1924,8 +1924,8 @@
       gst_video_format_to_string (GST_VIDEO_INFO_FORMAT (&convert->out_info)));
 
   if (!gl->CreateProgramObject && !gl->CreateProgram) {
-    gst_gl_context_set_error (convert->context,
-        "Cannot perform color conversion without OpenGL shaders");
+    GST_ERROR_OBJECT (convert, "Cannot perform color conversion without "
+        "OpenGL shaders");
     goto error;
   }
 
@@ -2027,7 +2027,7 @@
 
   gst_gl_context_clear_shader (convert->context);
 
-  if (convert->fbo == 0 && !_init_convert_fbo (convert)) {
+  if (convert->fbo == NULL && !_init_convert_fbo (convert)) {
     goto error;
   }
 
@@ -2063,8 +2063,7 @@
   return TRUE;
 
 unhandled_format:
-  gst_gl_context_set_error (convert->context,
-      "Don't know how to convert from %s to %s",
+  GST_ERROR_OBJECT (convert, "Don't know how to convert from %s to %s",
       gst_video_format_to_string (GST_VIDEO_INFO_FORMAT (&convert->in_info)),
       gst_video_format_to_string (GST_VIDEO_INFO_FORMAT (&convert->out_info)));
 
@@ -2073,8 +2072,7 @@
 
 incompatible_api:
   {
-    gst_gl_context_set_error (convert->context,
-        "Converting from %s to %s requires "
+    GST_ERROR_OBJECT (convert, "Converting from %s to %s requires "
         "functionality that the current OpenGL setup does not support",
         gst_video_format_to_string (GST_VIDEO_INFO_FORMAT (&convert->in_info)),
         gst_video_format_to_string (GST_VIDEO_INFO_FORMAT
@@ -2083,87 +2081,20 @@
   }
 }
 
-
 /* called by _init_convert (in the gl thread) */
 static gboolean
 _init_convert_fbo (GstGLColorConvert * convert)
 {
-  GstGLFuncs *gl;
   guint out_width, out_height;
-  GLuint fake_texture = 0;      /* a FBO must hava texture to init */
-  GLenum internal_format;
-
-  gl = convert->context->gl_vtable;
 
   out_width = GST_VIDEO_INFO_WIDTH (&convert->out_info);
   out_height = GST_VIDEO_INFO_HEIGHT (&convert->out_info);
 
-  if (!gl->GenFramebuffers) {
-    /* turn off the pipeline because Frame buffer object is a not present */
-    gst_gl_context_set_error (convert->context,
-        "Context, EXT_framebuffer_object supported: no");
-    return FALSE;
-  }
+  convert->fbo =
+      gst_gl_framebuffer_new_with_default_depth (convert->context, out_width,
+      out_height);
 
-  GST_INFO ("Context, EXT_framebuffer_object supported: yes");
-
-  /* setup FBO */
-  gl->GenFramebuffers (1, &convert->fbo);
-  gl->BindFramebuffer (GL_FRAMEBUFFER, convert->fbo);
-
-  /* setup the render buffer for depth */
-  gl->GenRenderbuffers (1, &convert->depth_buffer);
-  gl->BindRenderbuffer (GL_RENDERBUFFER, convert->depth_buffer);
-  if (USING_OPENGL (convert->context) || USING_OPENGL3 (convert->context)) {
-    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH24_STENCIL8,
-        out_width, out_height);
-  }
-  if (USING_GLES2 (convert->context)) {
-    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH_COMPONENT16,
-        out_width, out_height);
-  }
-
-  /* a fake texture is attached to the convert FBO (cannot init without it) */
-  gl->GenTextures (1, &fake_texture);
-  gl->BindTexture (GL_TEXTURE_2D, fake_texture);
-  internal_format =
-      gst_gl_sized_gl_format_from_gl_format_type (convert->context, GL_RGBA,
-      GL_UNSIGNED_BYTE);
-  gl->TexImage2D (GL_TEXTURE_2D, 0, internal_format, out_width, out_height, 0,
-      GL_RGBA, GL_UNSIGNED_BYTE, NULL);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-
-  /* attach the texture to the FBO to renderer to */
-  gl->FramebufferTexture2D (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
-      GL_TEXTURE_2D, fake_texture, 0);
-
-  /* attach the depth render buffer to the FBO */
-  gl->FramebufferRenderbuffer (GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
-      GL_RENDERBUFFER, convert->depth_buffer);
-
-  if (USING_OPENGL (convert->context)) {
-    gl->FramebufferRenderbuffer (GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
-        GL_RENDERBUFFER, convert->depth_buffer);
-  }
-
-  if (!gst_gl_context_check_framebuffer_status (convert->context)) {
-    gst_gl_context_set_error (convert->context,
-        "GL framebuffer status incomplete");
-
-    gl->DeleteTextures (1, &fake_texture);
-
-    return FALSE;
-  }
-
-  /* unbind the FBO */
-  gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
-
-  gl->DeleteTextures (1, &fake_texture);
-
-  return TRUE;
+  return convert->fbo != NULL;
 }
 
 static gboolean
@@ -2286,15 +2217,13 @@
 
       if (!gst_memory_map ((GstMemory *) convert->priv->out_tex[j], &from_info,
               GST_MAP_READ | GST_MAP_GL)) {
-        gst_gl_context_set_error (convert->context, "Failed to map "
-            "intermediate memory");
+        GST_ERROR_OBJECT (convert, "Failed to map intermediate memory");
         res = FALSE;
         continue;
       }
       if (!gst_memory_map ((GstMemory *) out_tex, &to_info,
               GST_MAP_WRITE | GST_MAP_GL)) {
-        gst_gl_context_set_error (convert->context, "Failed to map "
-            "intermediate memory");
+        GST_ERROR_OBJECT (convert, "Failed to map intermediate memory");
         res = FALSE;
         continue;
       }
@@ -2487,21 +2416,13 @@
 
   gl = context->gl_vtable;
 
-  out_width = GST_VIDEO_INFO_WIDTH (&convert->out_info);
-  out_height = GST_VIDEO_INFO_HEIGHT (&convert->out_info);
-
-  gl->BindFramebuffer (GL_FRAMEBUFFER, convert->fbo);
+  gst_gl_framebuffer_bind (convert->fbo);
 
   /* attach the texture to the FBO to renderer to */
   for (i = 0; i < c_info->out_n_textures; i++) {
-    guint gl_target =
-        gst_gl_texture_target_to_gl (convert->priv->to_texture_target);
+    GstGLBaseMemory *tex = (GstGLBaseMemory *) convert->priv->out_tex[i];
 
-    /* needed? */
-    gl->BindTexture (gl_target, convert->priv->out_tex[i]->tex_id);
-
-    gl->FramebufferTexture2D (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + i,
-        gl_target, convert->priv->out_tex[i]->tex_id, 0);
+    gst_gl_framebuffer_attach (convert->fbo, GL_COLOR_ATTACHMENT0 + i, tex);
   }
 
   if (gl->DrawBuffers)
@@ -2511,6 +2432,8 @@
 
   gl->GetIntegerv (GL_VIEWPORT, viewport_dim);
 
+  gst_gl_framebuffer_get_effective_dimensions (convert->fbo, &out_width,
+      &out_height);
   gl->Viewport (0, 0, out_width, out_height);
 
   gst_gl_shader_use (convert->shader);
@@ -2556,7 +2479,7 @@
 
   gst_gl_context_check_framebuffer_status (context);
 
-  gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
+  gst_gl_context_clear_framebuffer (context);
 
   return TRUE;
 }
diff --git a/gst-libs/gst/gl/gstglcolorconvert.h b/gst-libs/gst/gl/gstglcolorconvert.h
index 5980cfa..fbbbf3b 100644
--- a/gst-libs/gst/gl/gstglcolorconvert.h
+++ b/gst-libs/gst/gl/gstglcolorconvert.h
@@ -59,8 +59,7 @@
   GstBuffer *    outbuf;
 
   /* used for the conversion */
-  GLuint           fbo;
-  GLuint           depth_buffer;
+  GstGLFramebuffer *fbo;
   GstGLShader     *shader;
 
   /* <private> */
diff --git a/gst-libs/gst/gl/gstglcontext.c b/gst-libs/gst/gl/gstglcontext.c
index d222e08..2bc0a78 100644
--- a/gst-libs/gst/gl/gstglcontext.c
+++ b/gst-libs/gst/gl/gstglcontext.c
@@ -642,7 +642,14 @@
       gst_gl_window_quit (context->window);
 
       GST_INFO_OBJECT (context, "joining gl thread");
-      g_thread_join (context->priv->gl_thread);
+      g_mutex_lock (&context->priv->render_lock);
+      if (context->priv->alive) {
+        GThread *t = context->priv->gl_thread;
+        g_mutex_unlock (&context->priv->render_lock);
+        g_thread_join (t);
+      } else {
+        g_mutex_unlock (&context->priv->render_lock);
+      }
       GST_INFO_OBJECT (context, "gl thread joined");
       context->priv->gl_thread = NULL;
     }
diff --git a/gst-libs/gst/gl/gstgldisplay.c b/gst-libs/gst/gl/gstgldisplay.c
index fee0316..7cb6266 100644
--- a/gst-libs/gst/gl/gstgldisplay.c
+++ b/gst-libs/gst/gl/gstgldisplay.c
@@ -142,6 +142,7 @@
 
   gst_gl_buffer_init_once ();
   gst_gl_memory_pbo_init_once ();
+  gst_gl_renderbuffer_init_once ();
 
 #if GST_GL_HAVE_PLATFORM_EGL
   gst_gl_memory_egl_init_once ();
diff --git a/gst-libs/gst/gl/gstglfilter.c b/gst-libs/gst/gl/gstglfilter.c
index 7c4e254..b0693c1 100644
--- a/gst-libs/gst/gl/gstglfilter.c
+++ b/gst-libs/gst/gl/gstglfilter.c
@@ -78,7 +78,8 @@
 #define gst_gl_filter_parent_class parent_class
 G_DEFINE_TYPE_WITH_CODE (GstGLFilter, gst_gl_filter, GST_TYPE_GL_BASE_FILTER,
     GST_DEBUG_CATEGORY_INIT (gst_gl_filter_debug, "glfilter", 0,
-        "glfilter element"););
+        "glfilter element");
+    );
 
 static void gst_gl_filter_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
@@ -227,12 +228,11 @@
     filter->vbo_indices = 0;
   }
 
-  if (filter->fbo != 0) {
-    gst_gl_context_del_fbo (context, filter->fbo, filter->depthbuffer);
+  if (filter->fbo != NULL) {
+    gst_object_unref (filter->fbo);
+    filter->fbo = NULL;
   }
 
-  filter->fbo = 0;
-  filter->depthbuffer = 0;
   filter->default_shader = NULL;
   filter->draw_attr_position_loc = -1;
   filter->draw_attr_texture_loc = -1;
@@ -690,14 +690,12 @@
   out_width = GST_VIDEO_INFO_WIDTH (&filter->out_info);
   out_height = GST_VIDEO_INFO_HEIGHT (&filter->out_info);
 
-  if (filter->fbo) {
-    gst_gl_context_del_fbo (context, filter->fbo, filter->depthbuffer);
-    filter->fbo = 0;
-    filter->depthbuffer = 0;
-  }
-  //blocking call, generate a FBO
-  if (!gst_gl_context_gen_fbo (context, out_width, out_height,
-          &filter->fbo, &filter->depthbuffer))
+  if (filter->fbo)
+    gst_object_unref (filter->fbo);
+
+  if (!(filter->fbo =
+          gst_gl_framebuffer_new_with_default_depth (context, out_width,
+              out_height)))
     goto context_error;
 
   if (filter_class->init_fbo) {
@@ -904,7 +902,7 @@
     GstBuffer * outbuf)
 {
   GstGLFilterClass *filter_class;
-  guint in_tex, out_tex;
+  GstMemory *in_tex, *out_tex;
   GstVideoFrame gl_frame, out_frame;
   gboolean ret;
 
@@ -916,7 +914,12 @@
     goto inbuf_error;
   }
 
-  in_tex = *(guint *) gl_frame.data[0];
+  in_tex = gl_frame.map[0].memory;
+  if (!gst_is_gl_memory (in_tex)) {
+    ret = FALSE;
+    GST_ERROR_OBJECT (filter, "Input memory must be GstGLMemory");
+    goto inbuf_error;
+  }
 
   if (!gst_video_frame_map (&out_frame, &filter->out_info, outbuf,
           GST_MAP_WRITE | GST_MAP_GL)) {
@@ -924,13 +927,17 @@
     goto unmap_out_error;
   }
 
-  out_tex = *(guint *) out_frame.data[0];
+  out_tex = out_frame.map[0].memory;
+  g_return_val_if_fail (gst_is_gl_memory (out_tex), FALSE);
 
-  GST_DEBUG ("calling filter_texture with textures in:%i out:%i", in_tex,
-      out_tex);
+  GST_DEBUG ("calling filter_texture with textures in:%i out:%i",
+      GST_GL_MEMORY_CAST (in_tex)->tex_id,
+      GST_GL_MEMORY_CAST (out_tex)->tex_id);
 
   g_assert (filter_class->filter_texture);
-  ret = filter_class->filter_texture (filter, in_tex, out_tex);
+
+  ret = filter_class->filter_texture (filter, GST_GL_MEMORY_CAST (in_tex),
+      GST_GL_MEMORY_CAST (out_tex));
 
   gst_video_frame_unmap (&out_frame);
 unmap_out_error:
@@ -941,10 +948,19 @@
 }
 
 static void
-_debug_marker (GstGLContext * context, GstGLFilter * filter)
+_filter_gl (GstGLContext * context, GstGLFilter * filter)
 {
+  GstGLFilterClass *filter_class = GST_GL_FILTER_GET_CLASS (filter);
+
   gst_gl_insert_debug_marker (context,
       "processing in element %s", GST_OBJECT_NAME (filter));
+
+  if (filter_class->filter)
+    filter->gl_result =
+        filter_class->filter (filter, filter->inbuf, filter->outbuf);
+  else
+    filter->gl_result =
+        gst_gl_filter_filter_texture (filter, filter->inbuf, filter->outbuf);
 }
 
 static GstFlowReturn
@@ -967,12 +983,11 @@
   if (in_sync_meta)
     gst_gl_sync_meta_wait (in_sync_meta, context);
 
-  gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _debug_marker,
+  filter->inbuf = inbuf;
+  filter->outbuf = outbuf;
+  gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _filter_gl,
       filter);
-  if (filter_class->filter)
-    ret = filter_class->filter (filter, inbuf, outbuf);
-  else
-    ret = gst_gl_filter_filter_texture (filter, inbuf, outbuf);
+  ret = filter->gl_result;
 
   out_sync_meta = gst_buffer_get_gl_sync_meta (outbuf);
   if (out_sync_meta)
@@ -981,66 +996,46 @@
   return ret ? GST_FLOW_OK : GST_FLOW_ERROR;
 }
 
-struct glcb2
+struct glcb
 {
-  GLCB func;
+  GstGLFilter *filter;
+  GstGLFilterRenderFunc func;
+  GstGLMemory *in_tex;
   gpointer data;
-  guint texture;
-  guint width;
-  guint height;
 };
 
-/* convenience functions to simplify filter development */
-static void
-_glcb2 (gpointer data)
+static gboolean
+_glcb (gpointer data)
 {
-  struct glcb2 *cb = data;
+  struct glcb *cb = data;
 
-  cb->func (cb->width, cb->height, cb->texture, cb->data);
+  return cb->func (cb->filter, cb->in_tex, cb->data);
 }
 
 /**
  * gst_gl_filter_render_to_target:
  * @filter: a #GstGLFilter
- * @resize: whether to automatically resize the texture between the input size
- *          and the output size
  * @input: the input texture
- * @target: the output texture
+ * @output: the output texture
  * @func: the function to transform @input into @output. called with @data
  * @data: the data associated with @func
  *
- * Transforms @input into @output using @func on through FBO.  @resize should
- * only ever be %TRUE whenever @input is the input texture of @filter.
+ * Transforms @input into @output using @func on through FBO.
+ *
+ * Returns: the return value of @func
  */
-void
-gst_gl_filter_render_to_target (GstGLFilter * filter, gboolean resize,
-    GLuint input, GLuint target, GLCB func, gpointer data)
+gboolean
+gst_gl_filter_render_to_target (GstGLFilter * filter, GstGLMemory * input,
+    GstGLMemory * output, GstGLFilterRenderFunc func, gpointer data)
 {
-  GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
-  guint in_width, in_height, out_width, out_height;
-  struct glcb2 cb;
+  struct glcb cb;
 
-  out_width = GST_VIDEO_INFO_WIDTH (&filter->out_info);
-  out_height = GST_VIDEO_INFO_HEIGHT (&filter->out_info);
-  if (resize) {
-    in_width = GST_VIDEO_INFO_WIDTH (&filter->in_info);
-    in_height = GST_VIDEO_INFO_HEIGHT (&filter->in_info);
-  } else {
-    in_width = out_width;
-    in_height = out_height;
-  }
-
-  GST_LOG ("rendering to target. in %u, %ux%u out %u, %ux%u", input, in_width,
-      in_height, target, out_width, out_height);
-
+  cb.filter = filter;
   cb.func = func;
+  cb.in_tex = input;
   cb.data = data;
-  cb.texture = input;
-  cb.width = in_width;
-  cb.height = in_height;
 
-  gst_gl_context_use_fbo_v2 (context, out_width, out_height,
-      filter->fbo, filter->depthbuffer, target, _glcb2, &cb);
+  return gst_gl_framebuffer_draw_to_texture (filter->fbo, output, _glcb, &cb);
 }
 
 static void
@@ -1065,10 +1060,10 @@
   filter->valid_attributes = TRUE;
 }
 
-static void
-_draw_with_shader_cb (gint width, gint height, guint texture, gpointer stuff)
+static gboolean
+_draw_with_shader_cb (GstGLFilter * filter, GstGLMemory * in_tex,
+    gpointer unused)
 {
-  GstGLFilter *filter = GST_GL_FILTER (stuff);
   GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
   GstGLFuncs *gl = context->gl_vtable;
 
@@ -1083,26 +1078,27 @@
   gst_gl_shader_use (filter->default_shader);
 
   gl->ActiveTexture (GL_TEXTURE1);
-  gl->BindTexture (GL_TEXTURE_2D, texture);
+  gl->BindTexture (GL_TEXTURE_2D, gst_gl_memory_get_texture_id (in_tex));
 
   gst_gl_shader_set_uniform_1i (filter->default_shader, "tex", 1);
-  gst_gl_shader_set_uniform_1f (filter->default_shader, "width", width);
-  gst_gl_shader_set_uniform_1f (filter->default_shader, "height", height);
+  gst_gl_shader_set_uniform_1f (filter->default_shader, "width",
+      GST_VIDEO_INFO_WIDTH (&filter->out_info));
+  gst_gl_shader_set_uniform_1f (filter->default_shader, "height",
+      GST_VIDEO_INFO_HEIGHT (&filter->out_info));
 
-  gst_gl_filter_draw_texture (filter, texture, width, height);
+  gst_gl_filter_draw_fullscreen_quad (filter);
+
+  return TRUE;
 }
 
 /**
  * gst_gl_filter_render_to_target_with_shader:
  * @filter: a #GstGLFilter
- * @resize: whether to automatically resize the texture between the input size
- *          and the output size
  * @input: the input texture
- * @target: the output texture
+ * @output: the output texture
  * @shader: the shader to use.
  *
- * Transforms @input into @output using @shader on FBO.  @resize should
- * only ever be %TRUE whenever @input is the input texture of @filter.
+ * Transforms @input into @output using @shader with a FBO.
  *
  * See also: gst_gl_filter_render_to_target()
  */
@@ -1110,14 +1106,14 @@
  * the shader, render input to a quad */
 void
 gst_gl_filter_render_to_target_with_shader (GstGLFilter * filter,
-    gboolean resize, GLuint input, GLuint target, GstGLShader * shader)
+    GstGLMemory * input, GstGLMemory * output, GstGLShader * shader)
 {
   if (filter->default_shader != shader)
     filter->valid_attributes = FALSE;
   filter->default_shader = shader;
 
-  gst_gl_filter_render_to_target (filter, resize, input, target,
-      _draw_with_shader_cb, filter);
+  gst_gl_filter_render_to_target (filter, input, output, _draw_with_shader_cb,
+      NULL);
 }
 
 /* *INDENT-OFF* */
@@ -1168,23 +1164,20 @@
 }
 
 /**
- * gst_gl_filter_draw_texture:
+ * gst_gl_filter_draw_fullscreen_quad:
  * @filter: a #GstGLFilter
- * @texture: the texture to draw
- * @width: width of @texture
- * @height: height of texture
  *
- * Draws @texture into the OpenGL scene at the specified @width and @height.
+ * Render a fullscreen quad using the current GL state.  The only GL state this 
+ * modifies is the necessary vertex/index buffers and, if necessary, a
+ * Vertex Array Object for drawing a fullscreen quad.  Framebuffer state,
+ * any shaders, viewport state, etc must be setup by the caller.
  */
 void
-gst_gl_filter_draw_texture (GstGLFilter * filter, GLuint texture,
-    guint width, guint height)
+gst_gl_filter_draw_fullscreen_quad (GstGLFilter * filter)
 {
   GstGLContext *context = GST_GL_BASE_FILTER (filter)->context;
   GstGLFuncs *gl = context->gl_vtable;
 
-  GST_DEBUG ("drawing texture:%u dimensions:%ux%u", texture, width, height);
-
   {
     if (!filter->vertex_buffer) {
       if (gl->GenVertexArrays) {
diff --git a/gst-libs/gst/gl/gstglfilter.h b/gst-libs/gst/gl/gstglfilter.h
index 5025bde..f56e2d0 100644
--- a/gst-libs/gst/gl/gstglfilter.h
+++ b/gst-libs/gst/gl/gstglfilter.h
@@ -38,6 +38,8 @@
 #define GST_IS_GL_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_GL_FILTER))
 #define GST_GL_FILTER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_GL_FILTER,GstGLFilterClass))
 
+typedef gboolean (*GstGLFilterRenderFunc) (GstGLFilter * filter, GstGLMemory * in_tex, gpointer user_data);
+
 /**
  * GstGLFilter:
  * @base_transform: parent #GstBaseTransform
@@ -63,9 +65,13 @@
 
   GstCaps           *out_caps;
 
+  /* <protected> */
+  GstGLFramebuffer  *fbo;
+
   /* <private> */
-  GLuint             fbo;
-  GLuint             depthbuffer;
+  gboolean           gl_result;
+  GstBuffer         *inbuf;
+  GstBuffer         *outbuf;
 
   GstGLShader       *default_shader;
   gboolean           valid_attributes;
@@ -99,7 +105,7 @@
 
   gboolean (*set_caps)          (GstGLFilter* filter, GstCaps* incaps, GstCaps* outcaps);
   gboolean (*filter)            (GstGLFilter *filter, GstBuffer *inbuf, GstBuffer *outbuf);
-  gboolean (*filter_texture)    (GstGLFilter *filter, guint in_tex, guint out_tex);
+  gboolean (*filter_texture)    (GstGLFilter *filter, GstGLMemory *in_tex, GstGLMemory *out_tex);
   gboolean (*init_fbo)          (GstGLFilter *filter);
 
   GstCaps *(*transform_internal_caps) (GstGLFilter *filter,
@@ -113,13 +119,17 @@
 gboolean gst_gl_filter_filter_texture (GstGLFilter * filter, GstBuffer * inbuf,
                                        GstBuffer * outbuf);
 
-void gst_gl_filter_render_to_target (GstGLFilter *filter, gboolean resize, GLuint input,
-                                     GLuint target, GLCB func, gpointer data);
+gboolean gst_gl_filter_render_to_target             (GstGLFilter *filter,
+                                                     GstGLMemory * input,
+                                                     GstGLMemory * output,
+                                                     GstGLFilterRenderFunc func,
+                                                     gpointer data);
 
-void gst_gl_filter_render_to_target_with_shader (GstGLFilter * filter, gboolean resize,
-                                                 GLuint input, GLuint target, GstGLShader *shader);
-
-void gst_gl_filter_draw_texture (GstGLFilter *filter, GLuint texture, guint width, guint height);
+void gst_gl_filter_draw_fullscreen_quad             (GstGLFilter *filter);
+void gst_gl_filter_render_to_target_with_shader     (GstGLFilter * filter,
+                                                     GstGLMemory * input,
+                                                     GstGLMemory * output,
+                                                     GstGLShader *shader);
 
 G_END_DECLS
 
diff --git a/gst-libs/gst/gl/gstglformat.c b/gst-libs/gst/gl/gstglformat.c
index 237e250..1a71327 100644
--- a/gst-libs/gst/gl/gstglformat.c
+++ b/gst-libs/gst/gl/gstglformat.c
@@ -31,22 +31,6 @@
 #define USING_GLES2(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES2, 2, 0))
 #define USING_GLES3(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES2, 3, 0))
 
-#ifndef GL_RGBA8
-#define GL_RGBA8 0x8058
-#endif
-#ifndef GL_RED
-#define GL_RED 0x1903
-#endif
-#ifndef GL_RG
-#define GL_RG 0x8227
-#endif
-#ifndef GL_R8
-#define GL_R8 0x8229
-#endif
-#ifndef GL_RG8
-#define GL_RG8 0x822B
-#endif
-
 #ifndef GL_TEXTURE_RECTANGLE
 #define GL_TEXTURE_RECTANGLE 0x84F5
 #endif
@@ -59,21 +43,21 @@
 {
   switch (format) {
     case GST_VIDEO_GL_TEXTURE_TYPE_RGBA:
-    case GL_RGBA:
+    case GST_GL_RGBA:
       return 4;
     case GST_VIDEO_GL_TEXTURE_TYPE_RGB:
     case GST_VIDEO_GL_TEXTURE_TYPE_RGB16:
-    case GL_RGB:
+    case GST_GL_RGB:
       return 3;
     case GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA:
     case GST_VIDEO_GL_TEXTURE_TYPE_RG:
-    case GL_LUMINANCE_ALPHA:
-    case GL_RG:
+    case GST_GL_LUMINANCE_ALPHA:
+    case GST_GL_RG:
       return 2;
     case GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE:
     case GST_VIDEO_GL_TEXTURE_TYPE_R:
-    case GL_LUMINANCE:
-    case GL_RED:
+    case GST_GL_LUMINANCE:
+    case GST_GL_RED:
       return 1;
     default:
       return 0;
@@ -153,20 +137,20 @@
 {
   switch (tex_format) {
     case GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA:
-      return GL_LUMINANCE_ALPHA;
+      return GST_GL_LUMINANCE_ALPHA;
     case GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE:
-      return GL_LUMINANCE;
+      return GST_GL_LUMINANCE;
     case GST_VIDEO_GL_TEXTURE_TYPE_RGBA:
-      return GL_RGBA;
+      return GST_GL_RGBA;
     case GST_VIDEO_GL_TEXTURE_TYPE_RGB:
     case GST_VIDEO_GL_TEXTURE_TYPE_RGB16:
-      return GL_RGB;
+      return GST_GL_RGB;
     case GST_VIDEO_GL_TEXTURE_TYPE_RG:
-      return GL_RG;
+      return GST_GL_RG;
     case GST_VIDEO_GL_TEXTURE_TYPE_R:
-      return GL_RED;
+      return GST_GL_RED;
     default:
-      return GST_VIDEO_GL_TEXTURE_TYPE_RGBA;
+      return tex_format;
   }
 }
 
@@ -273,51 +257,52 @@
       gst_gl_context_check_feature (context, "GL_EXT_texture_rg");
 
   switch (format) {
-    case GL_RGBA:
+    case GST_GL_RGBA:
       switch (type) {
         case GL_UNSIGNED_BYTE:
           return USING_GLES2 (context)
-              && !USING_GLES3 (context) ? GL_RGBA : GL_RGBA8;
+              && !USING_GLES3 (context) ? GST_GL_RGBA : GST_GL_RGBA8;
           break;
       }
       break;
-    case GL_RGB:
+    case GST_GL_RGB:
       switch (type) {
         case GL_UNSIGNED_BYTE:
-          return GL_RGB8;
+          return GST_GL_RGB8;
           break;
         case GL_UNSIGNED_SHORT_5_6_5:
-          return GL_RGB;
+          return GST_GL_RGB;
           break;
       }
       break;
-    case GL_RG:
+    case GST_GL_RG:
       switch (type) {
         case GL_UNSIGNED_BYTE:
           if (!USING_GLES3 (context) && USING_GLES2 (context) && ext_texture_rg)
-            return GL_RG;
-          return GL_RG8;
+            return GST_GL_RG;
+          return GST_GL_RG8;
           break;
       }
       break;
-    case GL_RED:
+    case GST_GL_RED:
       switch (type) {
         case GL_UNSIGNED_BYTE:
           if (!USING_GLES3 (context) && USING_GLES2 (context) && ext_texture_rg)
-            return GL_RED;
-          return GL_R8;
+            return GST_GL_RED;
+          return GST_GL_R8;
           break;
       }
       break;
-    case GL_LUMINANCE:
-      return GL_LUMINANCE;
-      break;
-    case GL_LUMINANCE_ALPHA:
-      return GL_LUMINANCE_ALPHA;
-      break;
-    case GL_ALPHA:
-      return GL_ALPHA;
-      break;
+    case GST_GL_RGBA8:
+    case GST_GL_RGB8:
+    case GST_GL_RG8:
+    case GST_GL_R8:
+    case GST_GL_LUMINANCE:
+    case GST_GL_LUMINANCE_ALPHA:
+    case GST_GL_ALPHA:
+    case GST_GL_DEPTH_COMPONENT16:
+    case GST_GL_DEPTH24_STENCIL8:
+      return format;
     default:
       break;
   }
diff --git a/gst-libs/gst/gl/gstglformat.h b/gst-libs/gst/gl/gstglformat.h
index fcd618a..e4e6e37 100644
--- a/gst-libs/gst/gl/gstglformat.h
+++ b/gst-libs/gst/gl/gstglformat.h
@@ -70,6 +70,33 @@
 
 G_BEGIN_DECLS
 
+typedef enum
+{
+  /* values taken from the GL headers */
+  GST_GL_LUMINANCE                      = 0x1909,
+
+  GST_GL_ALPHA                          = 0x1906,
+
+  GST_GL_LUMINANCE_ALPHA                = 0x190A,
+
+  GST_GL_RED                            = 0x1903,
+  GST_GL_R8                             = 0x8229,
+
+  GST_GL_RG                             = 0x8227,
+  GST_GL_RG8                            = 0x822B,
+
+  GST_GL_RGB                            = 0x1907,
+  GST_GL_RGB8                           = 0x8051,
+  GST_GL_RGB565                         = 0x8D62,
+
+  GST_GL_RGBA                           = 0x1908,
+  GST_GL_RGBA8                          = 0x8058,
+
+  GST_GL_DEPTH_COMPONENT16              = 0x81A5,
+
+  GST_GL_DEPTH24_STENCIL8               = 0x88F0,
+} GstGLFormat;
+
 guint                   gst_gl_format_type_n_bytes                  (guint format,
                                                                      guint type);
 guint                   gst_gl_texture_type_n_bytes                 (GstVideoGLTextureType tex_format);
diff --git a/gst-libs/gst/gl/gstglframebuffer.c b/gst-libs/gst/gl/gstglframebuffer.c
index fb706f5..67f860e 100644
--- a/gst-libs/gst/gl/gstglframebuffer.c
+++ b/gst-libs/gst/gl/gstglframebuffer.c
@@ -24,13 +24,33 @@
 #include "gl.h"
 #include "gstglframebuffer.h"
 
+#ifndef GL_FRAMEBUFFER_UNDEFINED
+#define GL_FRAMEBUFFER_UNDEFINED          0x8219
+#endif
+#ifndef GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
+#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
+#endif
+#ifndef GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
+#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
+#endif
+#ifndef GL_FRAMEBUFFER_UNSUPPORTED
+#define GL_FRAMEBUFFER_UNSUPPORTED        0x8CDD
+#endif
+#ifndef GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
+#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
+#endif
+
+#ifndef GL_DEPTH_STENCIL_ATTACHMENT
+#define GL_DEPTH_STENCIL_ATTACHMENT 0x821A
+#endif
+
 GST_DEBUG_CATEGORY_STATIC (gst_gl_framebuffer_debug);
 #define GST_CAT_DEFAULT gst_gl_framebuffer_debug
 
 #define DEBUG_INIT \
   GST_DEBUG_CATEGORY_INIT (gst_gl_framebuffer_debug, "glframebuffer", 0, "GL Framebuffer");
 
-G_DEFINE_TYPE_WITH_CODE (GstGLFramebuffer, gst_gl_framebuffer, G_TYPE_OBJECT,
+G_DEFINE_TYPE_WITH_CODE (GstGLFramebuffer, gst_gl_framebuffer, GST_TYPE_OBJECT,
     DEBUG_INIT);
 
 #define GST_GL_FRAMEBUFFER_GET_PRIVATE(o) \
@@ -40,13 +60,35 @@
 
 struct _GstGLFramebufferPrivate
 {
-  gint width;
-  gint height;
-
-  guint fbo;
-  guint depth;
+  guint effective_width;
+  guint effective_height;
 };
 
+struct fbo_attachment
+{
+  guint attachment_point;
+  GstGLBaseMemory *mem;
+};
+
+static void
+_fbo_attachment_init (struct fbo_attachment *attach, guint point,
+    GstGLBaseMemory * mem)
+{
+  attach->attachment_point = point;
+  attach->mem = (GstGLBaseMemory *) gst_memory_ref (GST_MEMORY_CAST (mem));
+}
+
+static void
+_fbo_attachment_unset (struct fbo_attachment *attach)
+{
+  if (!attach)
+    return;
+
+  if (attach->mem)
+    gst_memory_unref (GST_MEMORY_CAST (attach->mem));
+  attach->mem = NULL;
+}
+
 static void
 gst_gl_framebuffer_class_init (GstGLFramebufferClass * klass)
 {
@@ -56,183 +98,355 @@
 }
 
 static void
-gst_gl_framebuffer_init (GstGLFramebuffer * fbo)
+gst_gl_framebuffer_init (GstGLFramebuffer * fb)
 {
-  fbo->priv = GST_GL_FRAMEBUFFER_GET_PRIVATE (fbo);
+  fb->priv = GST_GL_FRAMEBUFFER_GET_PRIVATE (fb);
+
+  fb->attachments =
+      g_array_new (FALSE, FALSE, (sizeof (struct fbo_attachment)));
+  g_array_set_clear_func (fb->attachments,
+      (GDestroyNotify) _fbo_attachment_unset);
+}
+
+static void
+_delete_fbo_gl (GstGLContext * context, GstGLFramebuffer * fb)
+{
+  const GstGLFuncs *gl = context->gl_vtable;
+
+  if (fb->fbo_id)
+    gl->DeleteFramebuffers (1, &fb->fbo_id);
+  fb->fbo_id = 0;
 }
 
 static void
 gst_gl_framebuffer_finalize (GObject * object)
 {
-  GstGLFramebuffer *fbo = GST_GL_FRAMEBUFFER (object);
+  GstGLFramebuffer *fb = GST_GL_FRAMEBUFFER (object);
 
-  if (fbo->context) {
-    gst_object_unref (fbo->context);
-    fbo->context = NULL;
+  if (fb->context) {
+    if (fb->fbo_id)
+      gst_gl_context_thread_add (fb->context,
+          (GstGLContextThreadFunc) _delete_fbo_gl, fb);
+
+    gst_object_unref (fb->context);
+    fb->context = NULL;
   }
 
+  if (fb->attachments)
+    g_array_free (fb->attachments, TRUE);
+  fb->attachments = NULL;
+
   G_OBJECT_CLASS (gst_gl_framebuffer_parent_class)->finalize (object);
 }
 
 GstGLFramebuffer *
 gst_gl_framebuffer_new (GstGLContext * context)
 {
-  GstGLFramebuffer *fbo = g_object_new (GST_TYPE_GL_FRAMEBUFFER, NULL);
-
-  fbo->context = gst_object_ref (context);
-
-  return fbo;
-}
-
-gboolean
-gst_gl_framebuffer_generate (GstGLFramebuffer * frame, gint width, gint height,
-    guint * fbo, guint * depth)
-{
-  GLuint fake_texture = 0;
+  GstGLFramebuffer *fb;
   const GstGLFuncs *gl;
-  GLenum internal_format;
 
-  g_return_val_if_fail (GST_IS_GL_FRAMEBUFFER (frame), FALSE);
-  g_return_val_if_fail (fbo != NULL && depth != NULL, FALSE);
-  g_return_val_if_fail (width > 0 && height > 0, FALSE);
+  g_return_val_if_fail (GST_IS_GL_CONTEXT (context), NULL);
+  g_return_val_if_fail (gst_gl_context_get_current () == context, NULL);
 
-  gl = frame->context->gl_vtable;
-
-  GST_TRACE ("creating FBO dimensions:%ux%u", width, height);
+  gl = context->gl_vtable;
 
   if (!gl->GenFramebuffers) {
-    gst_gl_context_set_error (frame->context,
-        "Context, EXT_framebuffer_object not supported");
-    return FALSE;
+    GST_ERROR_OBJECT (context, "Framebuffers are not supported!");
+    return NULL;
   }
-  /* setup FBO */
-  gl->GenFramebuffers (1, fbo);
-  gl->BindFramebuffer (GL_FRAMEBUFFER, *fbo);
 
-  /* setup the render buffer for depth */
-  gl->GenRenderbuffers (1, depth);
-  gl->BindRenderbuffer (GL_RENDERBUFFER, *depth);
+  fb = g_object_new (GST_TYPE_GL_FRAMEBUFFER, NULL);
+  fb->context = gst_object_ref (context);
+  gl->GenFramebuffers (1, &fb->fbo_id);
 
-  if (gst_gl_context_get_gl_api (frame->context) & (GST_GL_API_OPENGL |
+  return fb;
+}
+
+GstGLFramebuffer *
+gst_gl_framebuffer_new_with_default_depth (GstGLContext * context, guint width,
+    guint height)
+{
+  GstGLFramebuffer *fb = gst_gl_framebuffer_new (context);
+  GstGLBaseMemoryAllocator *render_alloc;
+  GstGLAllocationParams *params;
+  GstGLBaseMemory *renderbuffer;
+  guint attach_point, attach_type;
+
+  if (!fb)
+    return NULL;
+
+  if (gst_gl_context_get_gl_api (fb->context) & (GST_GL_API_OPENGL |
           GST_GL_API_OPENGL3)) {
-    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH24_STENCIL8, width,
-        height);
-  }
-  if (gst_gl_context_get_gl_api (frame->context) & GST_GL_API_GLES2) {
-    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH_COMPONENT16,
-        width, height);
+    attach_point = GL_DEPTH_STENCIL_ATTACHMENT;
+    attach_type = GST_GL_DEPTH24_STENCIL8;
+  } else if (gst_gl_context_get_gl_api (fb->context) & GST_GL_API_GLES2) {
+    attach_point = GL_DEPTH_ATTACHMENT;
+    attach_type = GST_GL_DEPTH_COMPONENT16;
+  } else {
+    g_assert_not_reached ();
+    return NULL;
   }
 
-  /* setup a texture to render to */
-  gl->GenTextures (1, &fake_texture);
-  gl->BindTexture (GL_TEXTURE_2D, fake_texture);
-  internal_format =
-      gst_gl_sized_gl_format_from_gl_format_type (frame->context, GL_RGBA,
-      GL_UNSIGNED_BYTE);
-  gl->TexImage2D (GL_TEXTURE_2D, 0, internal_format, width, height, 0, GL_RGBA,
-      GL_UNSIGNED_BYTE, NULL);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
+  render_alloc = (GstGLBaseMemoryAllocator *)
+      gst_allocator_find (GST_GL_RENDERBUFFER_ALLOCATOR_NAME);
+  params = (GstGLAllocationParams *)
+      gst_gl_renderbuffer_allocation_params_new (context, NULL, attach_type,
+      width, height);
 
-  /* attach the texture to the FBO to renderer to */
-  gl->FramebufferTexture2D (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
-      GL_TEXTURE_2D, fake_texture, 0);
+  renderbuffer = gst_gl_base_memory_alloc (render_alloc, params);
+  gst_gl_allocation_params_free (params);
+  gst_object_unref (render_alloc);
 
-  /* attach the depth render buffer to the FBO */
-  gl->FramebufferRenderbuffer (GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
-      GL_RENDERBUFFER, *depth);
+  gst_gl_framebuffer_bind (fb);
+  gst_gl_framebuffer_attach (fb, attach_point, renderbuffer);
+  gst_gl_context_clear_framebuffer (fb->context);
+  gst_memory_unref (GST_MEMORY_CAST (renderbuffer));
 
-  if (gst_gl_context_get_gl_api (frame->context) & (GST_GL_API_OPENGL |
-          GST_GL_API_OPENGL3)) {
-    gl->FramebufferRenderbuffer (GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
-        GL_RENDERBUFFER, *depth);
-  }
-
-  if (gl->CheckFramebufferStatus (GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) {
-    gst_gl_context_set_error (frame->context,
-        "GL framebuffer status incomplete");
-
-    gl->DeleteTextures (1, &fake_texture);
-
-    return FALSE;
-  }
-
-  /* unbind the FBO */
-  gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
-
-  gl->DeleteTextures (1, &fake_texture);
-
-  return TRUE;
+  return fb;
 }
 
 gboolean
-gst_gl_framebuffer_use_v2 (GstGLFramebuffer * frame, gint texture_fbo_width,
-    gint texture_fbo_height, GLuint fbo, GLuint depth_buffer,
-    GLuint texture_fbo, GLCB_V2 cb, gpointer stuff)
+gst_gl_framebuffer_draw_to_texture (GstGLFramebuffer * fb, GstGLMemory * mem,
+    GstGLFramebufferFunc func, gpointer user_data)
 {
-  const GstGLFuncs *gl;
   GLint viewport_dim[4] = { 0 };
+  const GstGLFuncs *gl;
+  gboolean ret;
 
-  g_return_val_if_fail (GST_IS_GL_FRAMEBUFFER (frame), FALSE);
-  g_return_val_if_fail (texture_fbo_width > 0 && texture_fbo_height > 0, FALSE);
-  g_return_val_if_fail (fbo != 0, FALSE);
-  g_return_val_if_fail (texture_fbo != 0, FALSE);
-  g_return_val_if_fail (cb != NULL, FALSE);
+  g_return_val_if_fail (GST_IS_GL_FRAMEBUFFER (fb), FALSE);
+  g_return_val_if_fail (gst_is_gl_memory (GST_MEMORY_CAST (mem)), FALSE);
 
-  gl = frame->context->gl_vtable;
+  gl = fb->context->gl_vtable;
 
-  GST_TRACE ("Binding v2 FBO %u dimensions:%ux%u with texture:%u ",
-      fbo, texture_fbo_width, texture_fbo_height, texture_fbo);
+  GST_TRACE_OBJECT (fb, "drawing to texture %u, dimensions %ix%i", mem->tex_id,
+      gst_gl_memory_get_texture_width (mem),
+      gst_gl_memory_get_texture_height (mem));
 
-  gl->BindFramebuffer (GL_FRAMEBUFFER, fbo);
-
-  /* setup a texture to render to */
-  gl->BindTexture (GL_TEXTURE_2D, texture_fbo);
-
-  /* attach the texture to the FBO to renderer to */
-  gl->FramebufferTexture2D (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
-      GL_TEXTURE_2D, texture_fbo, 0);
+  gst_gl_framebuffer_bind (fb);
+  gst_gl_framebuffer_attach (fb, GL_COLOR_ATTACHMENT0, (GstGLBaseMemory *) mem);
 
   gl->GetIntegerv (GL_VIEWPORT, viewport_dim);
-
-  gl->Viewport (0, 0, texture_fbo_width, texture_fbo_height);
-
-  if (gst_gl_context_get_gl_api (frame->context) & (GST_GL_API_OPENGL |
+  gl->Viewport (0, 0, fb->priv->effective_width, fb->priv->effective_height);
+  if (gst_gl_context_get_gl_api (fb->context) & (GST_GL_API_OPENGL |
           GST_GL_API_OPENGL3))
     gl->DrawBuffer (GL_COLOR_ATTACHMENT0);
 
-  /* the opengl scene */
-  cb (stuff);
+  ret = func (user_data);
 
-  if (gst_gl_context_get_gl_api (frame->context) & (GST_GL_API_OPENGL |
+  if (gst_gl_context_get_gl_api (fb->context) & (GST_GL_API_OPENGL |
           GST_GL_API_OPENGL3))
     gl->DrawBuffer (GL_NONE);
+  gl->Viewport (viewport_dim[0], viewport_dim[1], viewport_dim[2],
+      viewport_dim[3]);
+  gst_gl_context_clear_framebuffer (fb->context);
 
-  gl->Viewport (viewport_dim[0], viewport_dim[1],
-      viewport_dim[2], viewport_dim[3]);
-
-  gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
-
-  return TRUE;
+  return ret;
 }
 
 void
-gst_gl_framebuffer_delete (GstGLFramebuffer * frame, guint fbo, guint depth)
+gst_gl_framebuffer_bind (GstGLFramebuffer * fb)
 {
   const GstGLFuncs *gl;
 
-  g_return_if_fail (GST_IS_GL_FRAMEBUFFER (frame));
+  g_return_if_fail (GST_IS_GL_FRAMEBUFFER (fb));
+  g_return_if_fail (gst_gl_context_get_current () == fb->context);
+  g_return_if_fail (fb->fbo_id != 0);
 
-  gl = frame->context->gl_vtable;
+  gl = fb->context->gl_vtable;
 
-  GST_TRACE ("Deleting FBO %u", fbo);
+  gl->BindFramebuffer (GL_FRAMEBUFFER, fb->fbo_id);
+}
 
-  if (fbo) {
-    gl->DeleteFramebuffers (1, &fbo);
+void
+gst_gl_context_clear_framebuffer (GstGLContext * context)
+{
+  const GstGLFuncs *gl;
+
+  g_return_if_fail (GST_IS_GL_CONTEXT (context));
+
+  gl = context->gl_vtable;
+
+  gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
+}
+
+static void
+_update_effective_dimensions (GstGLFramebuffer * fb)
+{
+  int i;
+  guint min_width = -1, min_height = -1;
+
+  /* remove the previous attachment */
+  for (i = 0; i < fb->attachments->len; i++) {
+    struct fbo_attachment *attach;
+    int width, height;
+
+    attach = &g_array_index (fb->attachments, struct fbo_attachment, i);
+
+    if (gst_is_gl_memory (GST_MEMORY_CAST (attach->mem))) {
+      GstGLMemory *mem = (GstGLMemory *) attach->mem;
+
+      width = gst_gl_memory_get_texture_width (mem);
+      height = gst_gl_memory_get_texture_height (mem);
+    } else if (gst_is_gl_renderbuffer (GST_MEMORY_CAST (attach->mem))) {
+      GstGLRenderbuffer *mem = (GstGLRenderbuffer *) attach->mem;
+
+      width = mem->width;
+      height = mem->height;
+    } else {
+      g_assert_not_reached ();
+    }
+
+    if (width < min_width)
+      min_width = width;
+    if (height < min_height)
+      min_height = height;
   }
-  if (depth) {
-    gl->DeleteRenderbuffers (1, &depth);
+
+  fb->priv->effective_width = min_width;
+  fb->priv->effective_height = min_height;
+}
+
+static gboolean
+_is_valid_attachment_point (guint attachment_point)
+{
+  /* all 31 possible color attachments */
+  if (attachment_point >= 0x8CE0 && attachment_point <= 0x8CFF)
+    return TRUE;
+
+  /* depth-stencil attachment */
+  if (attachment_point == 0x821A)
+    return TRUE;
+
+  /* depth attachment */
+  if (attachment_point == 0x8D00)
+    return TRUE;
+
+  /* stencil attachment */
+  if (attachment_point == 0x8D20)
+    return TRUE;
+
+  return FALSE;
+}
+
+static void
+_attach_gl_memory (GstGLFramebuffer * fb, guint attachment_point,
+    GstGLMemory * mem)
+{
+  struct fbo_attachment attach;
+  const GstGLFuncs *gl = fb->context->gl_vtable;
+  guint gl_target = gst_gl_texture_target_to_gl (mem->tex_target);
+
+  gst_gl_framebuffer_bind (fb);
+
+  gl->FramebufferTexture2D (GL_FRAMEBUFFER, attachment_point, gl_target,
+      mem->tex_id, 0);
+
+  _fbo_attachment_init (&attach, attachment_point, (GstGLBaseMemory *) mem);
+  fb->attachments = g_array_append_val (fb->attachments, attach);
+}
+
+static void
+_attach_renderbuffer (GstGLFramebuffer * fb, guint attachment_point,
+    GstGLRenderbuffer * rb)
+{
+  struct fbo_attachment attach;
+  const GstGLFuncs *gl = fb->context->gl_vtable;
+
+  gst_gl_framebuffer_bind (fb);
+  gl->BindRenderbuffer (GL_RENDERBUFFER, rb->renderbuffer_id);
+
+  gl->FramebufferRenderbuffer (GL_FRAMEBUFFER, attachment_point,
+      GL_RENDERBUFFER, rb->renderbuffer_id);
+
+  _fbo_attachment_init (&attach, attachment_point, (GstGLBaseMemory *) rb);
+  fb->attachments = g_array_append_val (fb->attachments, attach);
+}
+
+void
+gst_gl_framebuffer_attach (GstGLFramebuffer * fb, guint attachment_point,
+    GstGLBaseMemory * mem)
+{
+  int i;
+
+  g_return_if_fail (GST_IS_GL_FRAMEBUFFER (fb));
+  g_return_if_fail (gst_gl_context_get_current () == fb->context);
+  g_return_if_fail (_is_valid_attachment_point (attachment_point));
+
+  /* remove the previous attachment */
+  for (i = 0; i < fb->attachments->len; i++) {
+    struct fbo_attachment *attach;
+
+    attach = &g_array_index (fb->attachments, struct fbo_attachment, i);
+
+    if (attach->attachment_point == attachment_point) {
+      g_array_remove_index_fast (fb->attachments, i);
+      break;
+    }
   }
+
+  if (gst_is_gl_memory (GST_MEMORY_CAST (mem))) {
+    _attach_gl_memory (fb, attachment_point, (GstGLMemory *) mem);
+  } else if (gst_is_gl_renderbuffer (GST_MEMORY_CAST (mem))) {
+    _attach_renderbuffer (fb, attachment_point, (GstGLRenderbuffer *) mem);
+  } else {
+    g_assert_not_reached ();
+    return;
+  }
+
+  _update_effective_dimensions (fb);
+}
+
+void
+gst_gl_framebuffer_get_effective_dimensions (GstGLFramebuffer * fb,
+    guint * width, guint * height)
+{
+  g_return_if_fail (GST_IS_GL_FRAMEBUFFER (fb));
+
+  if (width)
+    *width = fb->priv->effective_width;
+  if (height)
+    *height = fb->priv->effective_height;
+}
+
+gboolean
+gst_gl_context_check_framebuffer_status (GstGLContext * context)
+{
+  g_return_val_if_fail (GST_IS_GL_CONTEXT (context), FALSE);
+
+  switch (context->gl_vtable->CheckFramebufferStatus (GL_FRAMEBUFFER)) {
+    case GL_FRAMEBUFFER_COMPLETE:
+      return TRUE;
+      break;
+    case GL_FRAMEBUFFER_UNSUPPORTED:
+      GST_WARNING_OBJECT (context, "GL_FRAMEBUFFER_UNSUPPORTED");
+      break;
+    case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
+      GST_WARNING_OBJECT (context, "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT");
+      break;
+    case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
+      GST_WARNING_OBJECT (context,
+          "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT");
+      break;
+    case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS:
+      GST_WARNING_OBJECT (context, "GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS");
+      break;
+#if GST_GL_HAVE_OPENGL
+    case GL_FRAMEBUFFER_UNDEFINED:
+      GST_WARNING_OBJECT (context, "GL_FRAMEBUFFER_UNDEFINED");
+      break;
+#endif
+    default:
+      GST_WARNING_OBJECT (context, "Unknown FBO error");
+      break;
+  }
+
+  return FALSE;
+}
+
+guint
+gst_gl_framebuffer_get_id (GstGLFramebuffer * fb)
+{
+  g_return_val_if_fail (GST_IS_GL_FRAMEBUFFER (fb), 0);
+
+  return fb->fbo_id;
 }
diff --git a/gst-libs/gst/gl/gstglframebuffer.h b/gst-libs/gst/gl/gstglframebuffer.h
index 4768afb..0e135c8 100644
--- a/gst-libs/gst/gl/gstglframebuffer.h
+++ b/gst-libs/gst/gl/gstglframebuffer.h
@@ -34,35 +34,58 @@
 #define GST_IS_GL_FRAMEBUFFER_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_GL_FRAMEBUFFER))
 #define GST_GL_FRAMEBUFFER_CAST(obj)        ((GstGLFramebuffer*)(obj))
 
-typedef struct _GstGLFramebuffer GstGLFramebuffer;
 typedef struct _GstGLFramebufferClass GstGLFramebufferClass;
 typedef struct _GstGLFramebufferPrivate GstGLFramebufferPrivate;
 
+/**
+ * GstGLFramebufferFunc:
+ * @data: user data
+ *
+ * callback definition for operating through a Framebuffer object
+ */
+typedef gboolean (*GstGLFramebufferFunc) (gpointer stuff);
+
 struct _GstGLFramebuffer
 {
-  GObject             object;
+  GstObject             object;
 
   /* <private> */
   GstGLContext *context;
 
+  guint fbo_id;
+  GArray *attachments;
+
   GstGLFramebufferPrivate  *priv;
 };
 
 struct _GstGLFramebufferClass
 {
-  GObjectClass object_class;
+  GstObjectClass object_class;
 };
 
-GstGLFramebuffer *gst_gl_framebuffer_new (GstGLContext *context);
+GstGLFramebuffer *      gst_gl_framebuffer_new                      (GstGLContext *context);
+GstGLFramebuffer *      gst_gl_framebuffer_new_with_default_depth   (GstGLContext *context,
+                                                                     guint width,
+                                                                     guint height);
 
-gboolean gst_gl_framebuffer_generate (GstGLFramebuffer *frame, gint width, gint height,
-    guint * fbo, guint * depthbuffer);
+guint                   gst_gl_framebuffer_get_id                   (GstGLFramebuffer * fb);
 
-gboolean gst_gl_framebuffer_use_v2 (GstGLFramebuffer * frame, gint texture_fbo_width,
-    gint texture_fbo_height, GLuint fbo, GLuint depth_buffer,
-    GLuint texture_fbo, GLCB_V2 cb, gpointer stuff);
+void                    gst_gl_framebuffer_attach                   (GstGLFramebuffer * fb,
+                                                                     guint attachment_point,
+                                                                     GstGLBaseMemory * mem);
+void                    gst_gl_framebuffer_bind                     (GstGLFramebuffer * fb);
+void                    gst_gl_context_clear_framebuffer            (GstGLContext * context);
 
-void gst_gl_framebuffer_delete (GstGLFramebuffer *frame, guint fbo, guint depth);
+void                    gst_gl_framebuffer_get_effective_dimensions (GstGLFramebuffer * fb,
+                                                                     guint * width,
+                                                                     guint * height);
+
+gboolean                gst_gl_context_check_framebuffer_status     (GstGLContext * context);
+
+gboolean                gst_gl_framebuffer_draw_to_texture          (GstGLFramebuffer * fb,
+                                                                     GstGLMemory * mem,
+                                                                     GstGLFramebufferFunc cb,
+                                                                     gpointer user_data);
 
 #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstGLFramebuffer, gst_object_unref)
diff --git a/gst-libs/gst/gl/gstglmemorypbo.c b/gst-libs/gst/gl/gstglmemorypbo.c
index e749488..ebf8f29 100644
--- a/gst-libs/gst/gl/gstglmemorypbo.c
+++ b/gst-libs/gst/gl/gstglmemorypbo.c
@@ -429,7 +429,7 @@
     in_gl_type = GL_UNSIGNED_SHORT_5_6_5;
 
   if (!gl->GenFramebuffers) {
-    gst_gl_context_set_error (context,
+    GST_CAT_ERROR (GST_CAT_GL_MEMORY,
         "Context, EXT_framebuffer_object not supported");
     goto error;
   }
@@ -439,9 +439,9 @@
 
   if (copy_params->respecify) {
     if (in_size != out_size) {
-      GST_ERROR ("Cannot copy between textures with backing data of different"
-          "sizes. input %" G_GSIZE_FORMAT " output %" G_GSIZE_FORMAT, in_size,
-          out_size);
+      GST_CAT_ERROR (GST_CAT_GL_MEMORY, "Cannot copy between textures with "
+          "backing data of different sizes. input %" G_GSIZE_FORMAT " output %"
+          G_GSIZE_FORMAT, in_size, out_size);
       goto error;
     }
   }
@@ -487,7 +487,7 @@
     GstMapInfo pbo_info;
 
     if (!gl->GenBuffers || !src->pbo) {
-      gst_gl_context_set_error (context, "Cannot reinterpret texture contents "
+      GST_CAT_ERROR (GST_CAT_GL_MEMORY, "Cannot reinterpret texture contents "
           "without pixel buffer objects");
       gl->BindTexture (out_tex_target, 0);
       goto fbo_error;
@@ -495,7 +495,7 @@
 
     if (gst_gl_context_get_gl_api (context) & GST_GL_API_GLES2
         && (in_gl_format != GL_RGBA || in_gl_type != GL_UNSIGNED_BYTE)) {
-      gst_gl_context_set_error (context, "Cannot copy non RGBA/UNSIGNED_BYTE "
+      GST_CAT_ERROR (GST_CAT_GL_MEMORY, "Cannot copy non RGBA/UNSIGNED_BYTE "
           "textures on GLES2");
       gl->BindTexture (out_tex_target, 0);
       goto fbo_error;
diff --git a/gst-libs/gst/gl/gstglrenderbuffer.c b/gst-libs/gst/gl/gstglrenderbuffer.c
new file mode 100644
index 0000000..0cabad9
--- /dev/null
+++ b/gst-libs/gst/gl/gstglrenderbuffer.c
@@ -0,0 +1,456 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include <gst/video/video.h>
+
+#include <gst/gl/gstglbasememory.h>
+#include <gst/gl/gstglrenderbuffer.h>
+
+/**
+ * SECTION:gstglrenderbuffer
+ * @short_description: memory subclass for GL renderbuffer objects
+ * @see_also: #GstMemory, #GstAllocator
+ *
+ * GstGLRenderbuffer is a #GstGLBaseMemory subclass providing support for
+ * OpenGL renderbuffers.  
+ *
+ * #GstGLRenderbuffer is created or wrapped through gst_gl_base_memory_alloc()
+ * with #GstGLRenderbufferAllocationParams.
+ */
+
+#define USING_OPENGL(context) (gst_gl_context_check_gl_version (context, GST_GL_API_OPENGL, 1, 0))
+#define USING_OPENGL3(context) (gst_gl_context_check_gl_version (context, GST_GL_API_OPENGL3, 3, 1))
+#define USING_GLES(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES, 1, 0))
+#define USING_GLES2(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES2, 2, 0))
+#define USING_GLES3(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES2, 3, 0))
+
+static GstAllocator *_gl_renderbuffer_allocator;
+
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_GL_RENDERBUFFER);
+#define GST_CAT_DEFAULT GST_CAT_GL_RENDERBUFFER
+
+G_DEFINE_TYPE (GstGLRenderbufferAllocator, gst_gl_renderbuffer_allocator,
+    GST_TYPE_GL_BASE_MEMORY_ALLOCATOR);
+
+static guint
+_new_renderbuffer (GstGLContext * context, guint format, guint width,
+    guint height)
+{
+  const GstGLFuncs *gl = context->gl_vtable;
+  guint rbo_id;
+
+  gl->GenRenderbuffers (1, &rbo_id);
+  gl->BindRenderbuffer (GL_RENDERBUFFER, rbo_id);
+
+  gl->RenderbufferStorage (GL_RENDERBUFFER, format, width, height);
+
+  gl->BindRenderbuffer (GL_RENDERBUFFER, 0);
+
+  return rbo_id;
+}
+
+static gboolean
+_gl_rbo_create (GstGLRenderbuffer * gl_mem, GError ** error)
+{
+  if (!gl_mem->renderbuffer_wrapped) {
+    GstGLContext *context = gl_mem->mem.context;
+    GLenum internal_format;
+    GLenum tex_format;
+    GLenum renderbuffer_type;
+
+    tex_format = gst_gl_format_from_gl_texture_type (gl_mem->renderbuffer_type);
+    renderbuffer_type = GL_UNSIGNED_BYTE;
+    if (gl_mem->renderbuffer_type == GST_VIDEO_GL_TEXTURE_TYPE_RGB16)
+      renderbuffer_type = GL_UNSIGNED_SHORT_5_6_5;
+
+    internal_format =
+        gst_gl_sized_gl_format_from_gl_format_type (context, tex_format,
+        renderbuffer_type);
+
+    gl_mem->renderbuffer_id =
+        _new_renderbuffer (context, internal_format,
+        gst_gl_renderbuffer_get_width (gl_mem),
+        gst_gl_renderbuffer_get_height (gl_mem));
+
+    GST_CAT_TRACE (GST_CAT_GL_RENDERBUFFER, "Generating renderbuffer id:%u "
+        "format:%u dimensions:%ux%u", gl_mem->renderbuffer_id, internal_format,
+        gst_gl_renderbuffer_get_width (gl_mem),
+        gst_gl_renderbuffer_get_height (gl_mem));
+  }
+
+  return TRUE;
+}
+
+static void
+gst_gl_renderbuffer_init (GstGLRenderbuffer * mem, GstAllocator * allocator,
+    GstMemory * parent, GstGLContext * context,
+    GstVideoGLTextureType renderbuffer_type, GstAllocationParams * params,
+    guint width, guint height, gpointer user_data, GDestroyNotify notify)
+{
+  gsize size = gst_gl_texture_type_n_bytes (renderbuffer_type) * width * height;
+
+  mem->renderbuffer_type = renderbuffer_type;
+  mem->width = width;
+  mem->height = height;
+
+  gst_gl_base_memory_init ((GstGLBaseMemory *) mem, allocator, parent, context,
+      params, size, user_data, notify);
+
+  GST_CAT_DEBUG (GST_CAT_GL_RENDERBUFFER, "new GL renderbuffer context:%"
+      GST_PTR_FORMAT " memory:%p format:%u dimensions:%ux%u ", context, mem,
+      mem->renderbuffer_type, gst_gl_renderbuffer_get_width (mem),
+      gst_gl_renderbuffer_get_height (mem));
+}
+
+static gpointer
+_gl_rbo_map (GstGLRenderbuffer * gl_mem, GstMapInfo * info, gsize maxsize)
+{
+  GST_CAT_WARNING (GST_CAT_GL_RENDERBUFFER, "Renderbuffer's cannot be mapped");
+
+  return NULL;
+}
+
+static void
+_gl_rbo_unmap (GstGLRenderbuffer * gl_mem, GstMapInfo * info)
+{
+}
+
+static GstMemory *
+_gl_rbo_copy (GstGLRenderbuffer * src, gssize offset, gssize size)
+{
+  GST_CAT_WARNING (GST_CAT_GL_RENDERBUFFER, "Renderbuffer's cannot be copied");
+
+  return NULL;
+}
+
+static GstMemory *
+_gl_rbo_alloc (GstAllocator * allocator, gsize size,
+    GstAllocationParams * params)
+{
+  g_warning ("Use gst_gl_base_memory_alloc to allocate from this allocator");
+
+  return NULL;
+}
+
+static void
+_gl_rbo_destroy (GstGLRenderbuffer * gl_mem)
+{
+  const GstGLFuncs *gl = gl_mem->mem.context->gl_vtable;
+
+  if (gl_mem->renderbuffer_id && !gl_mem->renderbuffer_wrapped)
+    gl->DeleteRenderbuffers (1, &gl_mem->renderbuffer_id);
+}
+
+static GstGLRenderbuffer *
+_default_gl_rbo_alloc (GstGLRenderbufferAllocator * allocator,
+    GstGLRenderbufferAllocationParams * params)
+{
+  guint alloc_flags = params->parent.alloc_flags;
+  GstGLRenderbuffer *mem;
+
+  g_return_val_if_fail ((alloc_flags &
+          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_SYSMEM) == 0, NULL);
+
+  mem = g_new0 (GstGLRenderbuffer, 1);
+
+  if (alloc_flags & GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE) {
+    mem->renderbuffer_id = GPOINTER_TO_UINT (params->parent.gl_handle);
+    mem->renderbuffer_wrapped = TRUE;
+  }
+
+  gst_gl_renderbuffer_init (mem, GST_ALLOCATOR_CAST (allocator), NULL,
+      params->parent.context, params->renderbuffer_type,
+      params->parent.alloc_params, params->width, params->height,
+      params->parent.user_data, params->parent.notify);
+
+  return mem;
+}
+
+static void
+gst_gl_renderbuffer_allocator_class_init (GstGLRenderbufferAllocatorClass *
+    klass)
+{
+  GstGLBaseMemoryAllocatorClass *gl_base;
+  GstAllocatorClass *allocator_class;
+
+  gl_base = (GstGLBaseMemoryAllocatorClass *) klass;
+  allocator_class = (GstAllocatorClass *) klass;
+
+  gl_base->alloc =
+      (GstGLBaseMemoryAllocatorAllocFunction) _default_gl_rbo_alloc;
+  gl_base->create = (GstGLBaseMemoryAllocatorCreateFunction) _gl_rbo_create;
+  gl_base->destroy = (GstGLBaseMemoryAllocatorDestroyFunction) _gl_rbo_destroy;
+
+  allocator_class->alloc = _gl_rbo_alloc;
+}
+
+static void
+gst_gl_renderbuffer_allocator_init (GstGLRenderbufferAllocator * allocator)
+{
+  GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
+
+  alloc->mem_type = GST_GL_RENDERBUFFER_ALLOCATOR_NAME;
+
+  alloc->mem_map_full = (GstMemoryMapFullFunction) _gl_rbo_map;
+  alloc->mem_unmap_full = (GstMemoryUnmapFullFunction) _gl_rbo_unmap;
+  alloc->mem_copy = (GstMemoryCopyFunction) _gl_rbo_copy;
+
+  GST_OBJECT_FLAG_SET (allocator, GST_ALLOCATOR_FLAG_CUSTOM_ALLOC);
+}
+
+/**
+ * gst_gl_renderbuffer_get_width:
+ * @gl_mem: a #GstGLRenderbuffer
+ *
+ * Returns: the configured width of @gl_mem
+ *
+ * Since: 1.8
+ */
+gint
+gst_gl_renderbuffer_get_width (GstGLRenderbuffer * gl_mem)
+{
+  g_return_val_if_fail (gst_is_gl_renderbuffer ((GstMemory *) gl_mem), 0);
+
+  return gl_mem->width;
+}
+
+/**
+ * gst_gl_renderbuffer_get_height:
+ * @gl_mem: a #GstGLRenderbuffer
+ *
+ * Returns: the configured height of @gl_mem
+ *
+ * Since: 1.8
+ */
+gint
+gst_gl_renderbuffer_get_height (GstGLRenderbuffer * gl_mem)
+{
+  g_return_val_if_fail (gst_is_gl_renderbuffer ((GstMemory *) gl_mem), 0);
+
+  return gl_mem->height;
+}
+
+/**
+ * gst_gl_renderbuffer_get_type:
+ * @gl_mem: a #GstGLRenderbuffer
+ *
+ * Returns: the #GstVideoGLTextureType of @gl_mem
+ *
+ * Since: 1.8
+ */
+GstVideoGLTextureType
+gst_gl_renderbuffer_get_type (GstGLRenderbuffer * gl_mem)
+{
+  g_return_val_if_fail (gst_is_gl_renderbuffer ((GstMemory *) gl_mem), 0);
+
+  return gl_mem->renderbuffer_type;
+}
+
+/**
+ * gst_gl_renderbuffer_get_id:
+ * @gl_mem: a #GstGLRenderbuffer
+ *
+ * Returns: the OpenGL renderbuffer handle of @gl_mem
+ *
+ * Since: 1.8
+ */
+guint
+gst_gl_renderbuffer_get_id (GstGLRenderbuffer * gl_mem)
+{
+  g_return_val_if_fail (gst_is_gl_renderbuffer ((GstMemory *) gl_mem), 0);
+
+  return gl_mem->renderbuffer_id;
+}
+
+/**
+ * gst_gl_renderbuffer_init_once:
+ *
+ * Initializes the GL Base Texture allocator. It is safe to call this function
+ * multiple times.  This must be called before any other GstGLRenderbuffer operation.
+ *
+ * Since: 1.4
+ */
+void
+gst_gl_renderbuffer_init_once (void)
+{
+  static volatile gsize _init = 0;
+
+  if (g_once_init_enter (&_init)) {
+    gst_gl_base_memory_init_once ();
+
+    GST_DEBUG_CATEGORY_INIT (GST_CAT_GL_RENDERBUFFER, "glrenderbuffermemory", 0,
+        "OpenGL Renderbuffer memory");
+
+    _gl_renderbuffer_allocator =
+        g_object_new (GST_TYPE_GL_RENDERBUFFER_ALLOCATOR, NULL);
+    GST_OBJECT_FLAG_SET (_gl_renderbuffer_allocator,
+        GST_OBJECT_FLAG_MAY_BE_LEAKED);
+
+    gst_allocator_register (GST_GL_RENDERBUFFER_ALLOCATOR_NAME,
+        _gl_renderbuffer_allocator);
+
+    g_once_init_leave (&_init, 1);
+  }
+}
+
+/**
+ * gst_is_gl_renderbuffer:
+ * @mem:a #GstMemory
+ * 
+ * Returns: whether the memory at @mem is a #GstGLRenderbuffer
+ *
+ * Since: 1.10
+ */
+gboolean
+gst_is_gl_renderbuffer (GstMemory * mem)
+{
+  return mem != NULL && mem->allocator != NULL
+      && g_type_is_a (G_OBJECT_TYPE (mem->allocator),
+      GST_TYPE_GL_RENDERBUFFER_ALLOCATOR);
+}
+
+static void
+_gst_gl_rb_alloc_params_free_data (GstGLRenderbufferAllocationParams * params)
+{
+  gst_gl_allocation_params_free_data (&params->parent);
+}
+
+static void
+_gst_gl_rb_alloc_params_copy_data (GstGLRenderbufferAllocationParams * src_vid,
+    GstGLRenderbufferAllocationParams * dest_vid)
+{
+  GstGLAllocationParams *src = (GstGLAllocationParams *) src_vid;
+  GstGLAllocationParams *dest = (GstGLAllocationParams *) dest_vid;
+
+  gst_gl_allocation_params_copy_data (src, dest);
+
+  dest_vid->renderbuffer_type = src_vid->renderbuffer_type;
+  dest_vid->width = src_vid->width;
+  dest_vid->height = src_vid->height;
+}
+
+static gboolean
+    _gst_gl_renderbuffer_allocation_params_init_full
+    (GstGLRenderbufferAllocationParams * params, gsize struct_size,
+    guint alloc_flags, GstGLAllocationParamsCopyFunc copy,
+    GstGLAllocationParamsFreeFunc free, GstGLContext * context,
+    GstAllocationParams * alloc_params, guint width, guint height,
+    GstVideoGLTextureType renderbuffer_type, gpointer wrapped_data,
+    gpointer gl_handle, gpointer user_data, GDestroyNotify notify)
+{
+  g_return_val_if_fail (params != NULL, FALSE);
+  g_return_val_if_fail (copy != NULL, FALSE);
+  g_return_val_if_fail (free != NULL, FALSE);
+  g_return_val_if_fail (GST_IS_GL_CONTEXT (context), FALSE);
+
+  memset (params, 0, sizeof (*params));
+
+  if (!gst_gl_allocation_params_init ((GstGLAllocationParams *) params,
+          struct_size, alloc_flags, copy, free, context, 0, alloc_params,
+          wrapped_data, gl_handle, user_data, notify))
+    return FALSE;
+
+  params->renderbuffer_type = renderbuffer_type;
+  params->width = width;
+  params->height = height;
+
+  return TRUE;
+}
+
+/**
+ * gst_gl_renderbuffer_allocation_params_new:
+ * @context: a #GstGLContext
+ * @alloc_params: (allow-none): the #GstAllocationParams for sysmem mappings of the texture
+ * @width: the width of the renderbuffer
+ * @height: the height of the renderbuffer
+ * @renderbuffer_type: the #GstVideoGLTextureType for the created textures
+ *
+ * Returns: a new #GstGLRenderbufferAllocationParams for allocating #GstGLRenderbuffer's
+ *
+ * Since: 1.10
+ */
+GstGLRenderbufferAllocationParams *
+gst_gl_renderbuffer_allocation_params_new (GstGLContext * context,
+    GstAllocationParams * alloc_params, GstVideoGLTextureType renderbuffer_type,
+    guint width, guint height)
+{
+  GstGLRenderbufferAllocationParams *params =
+      g_new0 (GstGLRenderbufferAllocationParams, 1);
+
+  if (!_gst_gl_renderbuffer_allocation_params_init_full (params,
+          sizeof (GstGLRenderbufferAllocationParams),
+          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_ALLOC |
+          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO,
+          (GstGLAllocationParamsCopyFunc) _gst_gl_rb_alloc_params_copy_data,
+          (GstGLAllocationParamsFreeFunc) _gst_gl_rb_alloc_params_free_data,
+          context, alloc_params, width, height, renderbuffer_type, NULL, 0,
+          NULL, NULL)) {
+    g_free (params);
+    return NULL;
+  }
+
+  return params;
+}
+
+/**
+ * gst_gl_renderbuffer_allocation_params_new_wrapped:
+ * @context: a #GstGLContext
+ * @alloc_params: (allow-none): the #GstAllocationParams for @tex_id
+ * @width: the width of the renderbuffer
+ * @height: the height of the renderbuffer
+ * @renderbuffer_type: the #GstVideoGLTextureType for @tex_id
+ * @gl_handle: the GL handle to wrap
+ * @user_data: (allow-none): user data to call @notify with
+ * @notify: (allow-none): a #GDestroyNotify
+ *
+ * Returns: a new #GstGLRenderbufferAllocationParams for wrapping @gl_handle as a
+ *          renderbuffer
+ *
+ * Since: 1.10
+ */
+GstGLRenderbufferAllocationParams *
+gst_gl_renderbuffer_allocation_params_new_wrapped (GstGLContext * context,
+    GstAllocationParams * alloc_params, GstVideoGLTextureType renderbuffer_type,
+    guint width, guint height, gpointer gl_handle, gpointer user_data,
+    GDestroyNotify notify)
+{
+  GstGLRenderbufferAllocationParams *params =
+      g_new0 (GstGLRenderbufferAllocationParams, 1);
+
+  if (!_gst_gl_renderbuffer_allocation_params_init_full (params,
+          sizeof (GstGLRenderbufferAllocationParams),
+          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_WRAP_GPU_HANDLE |
+          GST_GL_ALLOCATION_PARAMS_ALLOC_FLAG_VIDEO,
+          (GstGLAllocationParamsCopyFunc) _gst_gl_rb_alloc_params_copy_data,
+          (GstGLAllocationParamsFreeFunc) _gst_gl_rb_alloc_params_free_data,
+          context, alloc_params, width, height, renderbuffer_type, NULL,
+          gl_handle, user_data, notify)) {
+    g_free (params);
+    return NULL;
+  }
+
+  return params;
+}
diff --git a/gst-libs/gst/gl/gstglrenderbuffer.h b/gst-libs/gst/gl/gstglrenderbuffer.h
new file mode 100644
index 0000000..1ed323e
--- /dev/null
+++ b/gst-libs/gst/gl/gstglrenderbuffer.h
@@ -0,0 +1,131 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Matthew Waters <matthew@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GST_GL_RENDERBUFFER_H_
+#define _GST_GL_RENDERBUFFER_H_
+
+#include <gst/gst.h>
+#include <gst/gstallocator.h>
+#include <gst/gstmemory.h>
+
+#include <gst/gl/gstglbasememory.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_GL_RENDERBUFFER_ALLOCATOR (gst_gl_renderbuffer_allocator_get_type())
+GType gst_gl_renderbuffer_allocator_get_type(void);
+
+#define GST_IS_GL_RENDERBUFFER_ALLOCATOR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_GL_RENDERBUFFER_ALLOCATOR))
+#define GST_IS_GL_RENDERBUFFER_ALLOCATOR_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_GL_RENDERBUFFER_ALLOCATOR))
+#define GST_GL_RENDERBUFFER_ALLOCATOR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_GL_RENDERBUFFER_ALLOCATOR, GstGLRenderbufferAllocatorClass))
+#define GST_GL_RENDERBUFFER_ALLOCATOR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_GL_RENDERBUFFER_ALLOCATOR, GstGLRenderbufferAllocator))
+#define GST_GL_RENDERBUFFER_ALLOCATOR_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_GL_RENDERBUFFER_ALLOCATOR, GstGLRenderbufferAllocatorClass))
+#define GST_GL_RENDERBUFFER_ALLOCATOR_CAST(obj)            ((GstGLRenderbufferAllocator *)(obj))
+
+#define GST_GL_RENDERBUFFER_CAST(obj) ((GstGLRenderbuffer *) obj)
+
+/**
+ * GST_GL_RENDERBUFFER_ALLOCATOR_NAME:
+ *
+ * The name of the GL renderbuffer allocator
+ */
+#define GST_GL_RENDERBUFFER_ALLOCATOR_NAME   "GLRenderbuffer"
+
+/**
+ * GstGLRenderbuffer:
+ * @mem: the parent object
+ * @renderbuffer_id: the GL texture id for this memory
+ * @renderbuffer_type: the texture type
+ * @width: the width
+ * @height: the height
+ *
+ * Represents information about a GL renderbuffer
+ */
+struct _GstGLRenderbuffer
+{
+  GstGLBaseMemory           mem;
+
+  guint                     renderbuffer_id;
+  GstVideoGLTextureType     renderbuffer_type;
+  guint                     width;
+  guint                     height;
+
+  /* <protected> */
+  gboolean                  renderbuffer_wrapped;
+};
+
+/**
+ * GstGLRenderbufferAllocator
+ *
+ * Opaque #GstGLRenderbufferAllocator struct
+ */
+struct _GstGLRenderbufferAllocator
+{
+  GstGLBaseMemoryAllocator parent;
+};
+
+/**
+ * GstGLRenderbufferAllocatorClass:
+ *
+ * The #GstGLRenderbufferAllocatorClass only contains private data
+ */
+struct _GstGLRenderbufferAllocatorClass
+{
+  GstGLBaseMemoryAllocatorClass             parent_class;
+};
+
+#include <gst/gl/gstglbasememory.h>
+
+typedef struct
+{
+  GstGLAllocationParams parent;
+
+  GstVideoGLTextureType renderbuffer_type;
+  guint width;
+  guint height;
+} GstGLRenderbufferAllocationParams;
+
+GstGLRenderbufferAllocationParams *     gst_gl_renderbuffer_allocation_params_new           (GstGLContext * context,
+                                                                                             GstAllocationParams * alloc_params,
+                                                                                             GstVideoGLTextureType renderbuffer_type,
+                                                                                             guint width,
+                                                                                             guint height);
+
+GstGLRenderbufferAllocationParams *     gst_gl_renderbuffer_allocation_params_new_wrapped   (GstGLContext * context,
+                                                                                             GstAllocationParams * alloc_params,
+                                                                                             GstVideoGLTextureType renderbuffer_type,
+                                                                                             guint width,
+                                                                                             guint height,
+                                                                                             gpointer gl_handle,
+                                                                                             gpointer user_data,
+                                                                                             GDestroyNotify notify);
+
+void            gst_gl_renderbuffer_init_once   (void);
+gboolean        gst_is_gl_renderbuffer          (GstMemory * mem);
+
+/* accessors */
+gint                    gst_gl_renderbuffer_get_width     (GstGLRenderbuffer * gl_mem);
+gint                    gst_gl_renderbuffer_get_height    (GstGLRenderbuffer * gl_mem);
+GstVideoGLTextureType   gst_gl_renderbuffer_get_type      (GstGLRenderbuffer * gl_mem);
+guint                   gst_gl_renderbuffer_get_id        (GstGLRenderbuffer * gl_mem);
+
+G_END_DECLS
+
+#endif /* _GST_GL_RENDERBUFFER_H_ */
diff --git a/gst-libs/gst/gl/gstglupload.c b/gst-libs/gst/gl/gstglupload.c
index e94195b..bfa5f22 100644
--- a/gst-libs/gst/gl/gstglupload.c
+++ b/gst-libs/gst/gl/gstglupload.c
@@ -189,7 +189,7 @@
   GstStaticCaps *input_template_caps;
 
     gpointer (*new) (GstGLUpload * upload);
-  GstCaps *(*transform_caps) (GstGLContext * context,
+  GstCaps *(*transform_caps) (gpointer impl, GstGLContext * context,
       GstPadDirection direction, GstCaps * caps);
     gboolean (*accept) (gpointer impl, GstBuffer * buffer, GstCaps * in_caps,
       GstCaps * out_caps);
@@ -203,6 +203,8 @@
 struct GLMemoryUpload
 {
   GstGLUpload *upload;
+  GstGLTextureTarget input_target;
+  GstGLTextureTarget output_target;
 };
 
 static gpointer
@@ -211,14 +213,17 @@
   struct GLMemoryUpload *mem = g_new0 (struct GLMemoryUpload, 1);
 
   mem->upload = upload;
+  mem->input_target = GST_GL_TEXTURE_TARGET_NONE;
+  mem->output_target = GST_GL_TEXTURE_TARGET_NONE;
 
   return mem;
 }
 
 static GstCaps *
-_gl_memory_upload_transform_caps (GstGLContext * context,
+_gl_memory_upload_transform_caps (gpointer impl, GstGLContext * context,
     GstPadDirection direction, GstCaps * caps)
 {
+  struct GLMemoryUpload *upload = impl;
   GstCapsFeatures *passthrough =
       gst_caps_features_from_string
       (GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION);
@@ -231,12 +236,17 @@
   gst_caps_features_free (passthrough);
 
   if (direction == GST_PAD_SINK) {
-    GstGLTextureTarget target_mask = 0;
     GstCaps *tmp;
+    GstGLTextureTarget target_mask;
 
-    target_mask |= 1 << GST_GL_TEXTURE_TARGET_2D;
-    target_mask |= 1 << GST_GL_TEXTURE_TARGET_RECTANGLE;
-    target_mask |= 1 << GST_GL_TEXTURE_TARGET_EXTERNAL_OES;
+    if (upload->input_target != GST_GL_TEXTURE_TARGET_NONE) {
+      target_mask = 1 << upload->input_target;
+    } else {
+      target_mask = 1 << GST_GL_TEXTURE_TARGET_2D |
+          1 << GST_GL_TEXTURE_TARGET_RECTANGLE |
+          1 << GST_GL_TEXTURE_TARGET_EXTERNAL_OES;
+    }
+
     tmp = _caps_intersect_texture_target (ret, target_mask);
     gst_caps_unref (ret);
     ret = tmp;
@@ -412,6 +422,21 @@
             gl_mem->mem.context))
       return GST_GL_UPLOAD_UNSHARED_GL_CONTEXT;
 
+    if (upload->output_target == GST_GL_TEXTURE_TARGET_NONE &&
+        upload->upload->priv->out_caps) {
+      upload->output_target =
+          _caps_get_texture_target (upload->upload->priv->out_caps,
+          GST_GL_TEXTURE_TARGET_NONE);
+    }
+
+    /* always track the last input texture target so ::transform_caps() can
+     * use it to build the output caps */
+    upload->input_target = gl_mem->tex_target;
+    if (upload->output_target != gl_mem->tex_target) {
+      *outbuf = NULL;
+      return GST_GL_UPLOAD_RECONFIGURE;
+    }
+
     if (gst_is_gl_memory_pbo (mem))
       gst_gl_memory_pbo_upload_transfer ((GstGLMemoryPBO *) mem);
   }
@@ -466,7 +491,7 @@
 }
 
 static GstCaps *
-_dma_buf_upload_transform_caps (GstGLContext * context,
+_dma_buf_upload_transform_caps (gpointer impl, GstGLContext * context,
     GstPadDirection direction, GstCaps * caps)
 {
   GstCapsFeatures *passthrough =
@@ -705,7 +730,7 @@
   gboolean result;
   GstVideoGLTextureUploadMeta *meta;
   guint texture_ids[GST_GL_UPLOAD_MAX_PLANES];
-  GstGLVideoAllocationParams *params;
+  GstBufferPool *pool;
 };
 
 static gpointer
@@ -714,12 +739,13 @@
   struct GLUploadMeta *meta = g_new0 (struct GLUploadMeta, 1);
 
   meta->upload = upload;
+  meta->pool = NULL;
 
   return meta;
 }
 
 static GstCaps *
-_upload_meta_upload_transform_caps (GstGLContext * context,
+_upload_meta_upload_transform_caps (gpointer impl, GstGLContext * context,
     GstPadDirection direction, GstCaps * caps)
 {
   GstCapsFeatures *passthrough =
@@ -766,6 +792,8 @@
   GstCapsFeatures *features;
   GstVideoGLTextureUploadMeta *meta;
   gboolean ret = TRUE;
+  GstStructure *config;
+  gsize size;
 
   features = gst_caps_get_features (in_caps, 0);
 
@@ -780,13 +808,21 @@
   if (!ret)
     return ret;
 
-  if (upload->params)
-    gst_gl_allocation_params_free ((GstGLAllocationParams *) upload->params);
-  if (!(upload->params =
-          gst_gl_video_allocation_params_new (upload->upload->context, NULL,
-              &upload->upload->priv->in_info, -1, NULL,
-              GST_GL_TEXTURE_TARGET_2D, 0)))
-    return FALSE;
+  if (upload->pool == NULL)
+    upload->pool = gst_gl_buffer_pool_new (upload->upload->context);
+
+  if (!gst_buffer_pool_is_active (upload->pool)) {
+    config = gst_buffer_pool_get_config (upload->pool);
+
+    size = upload->upload->priv->in_info.size;
+    gst_buffer_pool_config_set_params (config, in_caps, size, 0, 0);
+
+    if (!gst_buffer_pool_set_config (upload->pool, config)) {
+      GST_WARNING_OBJECT (upload->upload, "failed to set bufferpool config");
+      return FALSE;
+    }
+    gst_buffer_pool_set_active (upload->pool, TRUE);
+  }
 
   if (buffer) {
     if ((meta = gst_buffer_get_video_gl_texture_upload_meta (buffer)) == NULL)
@@ -861,9 +897,6 @@
   int i;
   GstVideoInfo *in_info = &upload->upload->priv->in_info;
   guint max_planes = GST_VIDEO_INFO_N_PLANES (in_info);
-  GstGLMemoryAllocator *allocator;
-
-  allocator = gst_gl_memory_allocator_get_default (upload->upload->context);
 
   /* Support stereo views for separated multiview mode */
   if (GST_VIDEO_INFO_MULTIVIEW_MODE (in_info) ==
@@ -874,11 +907,11 @@
 
   upload->meta = gst_buffer_get_video_gl_texture_upload_meta (buffer);
 
-  /* FIXME: buffer pool */
-  *outbuf = gst_buffer_new ();
-  gst_gl_memory_setup_buffer (allocator, *outbuf, upload->params, NULL, NULL,
-      0);
-  gst_object_unref (allocator);
+  if (gst_buffer_pool_acquire_buffer (upload->pool, outbuf,
+          NULL) != GST_FLOW_OK) {
+    GST_WARNING_OBJECT (upload, "failed to acquire buffer from bufferpool");
+    return GST_GL_UPLOAD_ERROR;
+  }
 
   for (i = 0; i < GST_GL_UPLOAD_MAX_PLANES; i++) {
     guint tex_id = 0;
@@ -914,8 +947,8 @@
 
   g_return_if_fail (impl != NULL);
 
-  if (upload->params)
-    gst_gl_allocation_params_free ((GstGLAllocationParams *) upload->params);
+  if (upload->pool)
+    gst_object_unref (upload->pool);
 
   g_free (upload);
 }
@@ -1007,7 +1040,7 @@
 }
 
 static GstCaps *
-_raw_data_upload_transform_caps (GstGLContext * context,
+_raw_data_upload_transform_caps (gpointer impl, GstGLContext * context,
     GstPadDirection direction, GstCaps * caps)
 {
   GstCapsFeatures *passthrough =
@@ -1211,7 +1244,10 @@
   GstGLUpload *upload = g_object_new (GST_TYPE_GL_UPLOAD, NULL);
   gint i, n;
 
-  upload->context = gst_object_ref (context);
+  if (context)
+    gst_gl_upload_set_context (upload, context);
+  else
+    upload->context = NULL;
 
   n = G_N_ELEMENTS (upload_methods);
   upload->priv->upload_impl = g_malloc (sizeof (gpointer) * n);
@@ -1225,6 +1261,14 @@
   return upload;
 }
 
+void
+gst_gl_upload_set_context (GstGLUpload * upload, GstGLContext * context)
+{
+  g_return_if_fail (upload != NULL);
+
+  gst_object_replace ((GstObject **) & upload->context, (GstObject *) context);
+}
+
 static void
 gst_gl_upload_finalize (GObject * object)
 {
@@ -1233,8 +1277,6 @@
 
   upload = GST_GL_UPLOAD (object);
 
-  if (upload->priv->method_impl)
-    upload->priv->method->free (upload->priv->method_impl);
   upload->priv->method_i = 0;
 
   if (upload->context) {
@@ -1263,8 +1305,8 @@
 }
 
 GstCaps *
-gst_gl_upload_transform_caps (GstGLContext * context, GstPadDirection direction,
-    GstCaps * caps, GstCaps * filter)
+gst_gl_upload_transform_caps (GstGLUpload * upload, GstGLContext * context,
+    GstPadDirection direction, GstCaps * caps, GstCaps * filter)
 {
   GstCaps *result, *tmp;
   gint i;
@@ -1274,7 +1316,9 @@
   for (i = 0; i < G_N_ELEMENTS (upload_methods); i++) {
     GstCaps *tmp2;
 
-    tmp2 = upload_methods[i]->transform_caps (context, direction, caps);
+    tmp2 =
+        upload_methods[i]->transform_caps (upload->priv->upload_impl[i],
+        context, direction, caps);
 
     if (tmp2)
       tmp = gst_caps_merge (tmp, tmp2);
@@ -1327,8 +1371,6 @@
   gst_video_info_from_caps (&upload->priv->in_info, in_caps);
   gst_video_info_from_caps (&upload->priv->out_info, out_caps);
 
-  if (upload->priv->method_impl)
-    upload->priv->method->free (upload->priv->method_impl);
   upload->priv->method_impl = NULL;
   upload->priv->method_i = 0;
 
@@ -1383,16 +1425,14 @@
 static gboolean
 _upload_find_method (GstGLUpload * upload)
 {
+  gint method_i;
+
   if (upload->priv->method_i >= G_N_ELEMENTS (upload_methods))
     return FALSE;
 
-  if (upload->priv->method_impl) {
-    upload->priv->method->free (upload->priv->method_impl);
-    upload->priv->method_impl = NULL;
-  }
-
-  upload->priv->method = upload_methods[upload->priv->method_i];
-  upload->priv->method_impl = upload->priv->method->new (upload);
+  method_i = upload->priv->method_i;
+  upload->priv->method = upload_methods[method_i];
+  upload->priv->method_impl = upload->priv->upload_impl[method_i];
 
   GST_DEBUG_OBJECT (upload, "attempting upload with uploader %s",
       upload->priv->method->name);
@@ -1447,19 +1487,24 @@
       upload->priv->method->perform (upload->priv->method_impl, buffer,
       &outbuf);
   if (ret == GST_GL_UPLOAD_UNSHARED_GL_CONTEXT) {
-    upload->priv->method->free (upload->priv->method_impl);
-    upload->priv->method = &_raw_data_upload;
-    upload->priv->method_impl = upload->priv->method->new (upload);
+    for (int i = 0; i < G_N_ELEMENTS (upload_methods); i++) {
+      if (upload_methods[i] == &_raw_data_upload) {
+        upload->priv->method = &_raw_data_upload;
+        upload->priv->method_impl = upload->priv->upload_impl[i];
+        upload->priv->method_i = i;
+
+        break;
+      }
+    }
     goto restart;
-  } else if (ret == GST_GL_UPLOAD_DONE) {
+  } else if (ret == GST_GL_UPLOAD_DONE || ret == GST_GL_UPLOAD_RECONFIGURE) {
     /* we are done */
   } else {
-    upload->priv->method->free (upload->priv->method_impl);
     upload->priv->method_impl = NULL;
     NEXT_METHOD;
   }
 
-  if (buffer != outbuf)
+  if (outbuf && buffer != outbuf)
     gst_buffer_copy_into (outbuf, buffer,
         GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS, 0, -1);
   *outbuf_ptr = outbuf;
diff --git a/gst-libs/gst/gl/gstglupload.h b/gst-libs/gst/gl/gstglupload.h
index 577c94b..d158502 100644
--- a/gst-libs/gst/gl/gstglupload.h
+++ b/gst-libs/gst/gl/gstglupload.h
@@ -47,8 +47,9 @@
 
   GST_GL_UPLOAD_ERROR = -1,
   GST_GL_UPLOAD_UNSUPPORTED = -2,
+  GST_GL_UPLOAD_RECONFIGURE = -3,
   /* <private> */
-  GST_GL_UPLOAD_UNSHARED_GL_CONTEXT = -3,
+  GST_GL_UPLOAD_UNSHARED_GL_CONTEXT = -100,
 } GstGLUploadReturn;
 
 /**
@@ -82,7 +83,11 @@
 
 GstGLUpload * gst_gl_upload_new                    (GstGLContext * context);
 
-GstCaps *     gst_gl_upload_transform_caps         (GstGLContext * context,
+void          gst_gl_upload_set_context            (GstGLUpload * upload,
+                                                    GstGLContext * context);
+
+GstCaps *     gst_gl_upload_transform_caps         (GstGLUpload * upload,
+                                                    GstGLContext * context,
                                                     GstPadDirection direction,
                                                     GstCaps * caps,
                                                     GstCaps * filter);
diff --git a/gst-libs/gst/gl/gstglutils.c b/gst-libs/gst/gl/gstglutils.c
index ade2f95..4a23914 100644
--- a/gst-libs/gst/gl/gstglutils.c
+++ b/gst-libs/gst/gl/gstglutils.c
@@ -36,164 +36,12 @@
 #include <gst/gl/wayland/gstgldisplay_wayland.h>
 #endif
 
-#ifndef GL_FRAMEBUFFER_UNDEFINED
-#define GL_FRAMEBUFFER_UNDEFINED          0x8219
-#endif
-#ifndef GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT
-#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
-#endif
-#ifndef GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT
-#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
-#endif
-#ifndef GL_FRAMEBUFFER_UNSUPPORTED
-#define GL_FRAMEBUFFER_UNSUPPORTED        0x8CDD
-#endif
-#ifndef GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS
-#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
-#endif
-
 #define USING_OPENGL(context) (gst_gl_context_check_gl_version (context, GST_GL_API_OPENGL, 1, 0))
 #define USING_OPENGL3(context) (gst_gl_context_check_gl_version (context, GST_GL_API_OPENGL3, 3, 1))
 #define USING_GLES(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES, 1, 0))
 #define USING_GLES2(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES2, 2, 0))
 #define USING_GLES3(context) (gst_gl_context_check_gl_version (context, GST_GL_API_GLES2, 3, 0))
 
-static gchar *error_message;
-
-/* called in the gl thread */
-gboolean
-gst_gl_context_check_framebuffer_status (GstGLContext * context)
-{
-  GLenum status = 0;
-  status = context->gl_vtable->CheckFramebufferStatus (GL_FRAMEBUFFER);
-
-  switch (status) {
-    case GL_FRAMEBUFFER_COMPLETE:
-      return TRUE;
-      break;
-
-    case GL_FRAMEBUFFER_UNSUPPORTED:
-      GST_ERROR ("GL_FRAMEBUFFER_UNSUPPORTED");
-      break;
-
-    case GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT:
-      GST_ERROR ("GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT");
-      break;
-
-    case GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:
-      GST_ERROR ("GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT");
-      break;
-    case GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS:
-      GST_ERROR ("GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS");
-      break;
-#if GST_GL_HAVE_OPENGL
-    case GL_FRAMEBUFFER_UNDEFINED:
-      GST_ERROR ("GL_FRAMEBUFFER_UNDEFINED");
-      break;
-#endif
-    default:
-      GST_ERROR ("General FBO error");
-  }
-
-  return FALSE;
-}
-
-typedef struct _GenFBO
-{
-  GstGLFramebuffer *frame;
-  gint width, height;
-  GLuint *fbo, *depth;
-} GenFBO;
-
-static void
-_gen_fbo (GstGLContext * context, GenFBO * data)
-{
-  gst_gl_framebuffer_generate (data->frame, data->width, data->height,
-      data->fbo, data->depth);
-}
-
-gboolean
-gst_gl_context_gen_fbo (GstGLContext * context, gint width, gint height,
-    GLuint * fbo, GLuint * depthbuffer)
-{
-  GstGLFramebuffer *frame = gst_gl_framebuffer_new (context);
-
-  GenFBO data = { frame, width, height, fbo, depthbuffer };
-
-  gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _gen_fbo, &data);
-
-  gst_object_unref (frame);
-
-  return TRUE;
-}
-
-typedef struct _UseFBO2
-{
-  GstGLFramebuffer *frame;
-  gint texture_fbo_width;
-  gint texture_fbo_height;
-  GLuint fbo;
-  GLuint depth_buffer;
-  GLuint texture_fbo;
-  GLCB_V2 cb;
-  gpointer stuff;
-} UseFBO2;
-
-static void
-_use_fbo_v2 (GstGLContext * context, UseFBO2 * data)
-{
-  gst_gl_framebuffer_use_v2 (data->frame, data->texture_fbo_width,
-      data->texture_fbo_height, data->fbo, data->depth_buffer,
-      data->texture_fbo, data->cb, data->stuff);
-}
-
-gboolean
-gst_gl_context_use_fbo_v2 (GstGLContext * context, gint texture_fbo_width,
-    gint texture_fbo_height, GLuint fbo, GLuint depth_buffer,
-    GLuint texture_fbo, GLCB_V2 cb, gpointer stuff)
-{
-  GstGLFramebuffer *frame = gst_gl_framebuffer_new (context);
-
-  UseFBO2 data =
-      { frame, texture_fbo_width, texture_fbo_height, fbo, depth_buffer,
-    texture_fbo, cb, stuff
-  };
-
-  gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _use_fbo_v2,
-      &data);
-
-  gst_object_unref (frame);
-
-  return TRUE;
-}
-
-typedef struct _DelFBO
-{
-  GstGLFramebuffer *frame;
-  GLuint fbo;
-  GLuint depth;
-} DelFBO;
-
-/* Called in the gl thread */
-static void
-_del_fbo (GstGLContext * context, DelFBO * data)
-{
-  gst_gl_framebuffer_delete (data->frame, data->fbo, data->depth);
-}
-
-/* Called by gltestsrc and glfilter */
-void
-gst_gl_context_del_fbo (GstGLContext * context, GLuint fbo, GLuint depth_buffer)
-{
-  GstGLFramebuffer *frame = gst_gl_framebuffer_new (context);
-
-  DelFBO data = { frame, fbo, depth_buffer };
-
-  gst_gl_context_thread_add (context, (GstGLContextThreadFunc) _del_fbo, &data);
-
-  gst_object_unref (frame);
-}
-
 struct _compile_shader
 {
   GstGLShader **shader;
@@ -275,26 +123,6 @@
   return *shader != NULL;
 }
 
-void
-gst_gl_context_set_error (GstGLContext * context, const char *format, ...)
-{
-  va_list args;
-
-  g_free (error_message);
-
-  va_start (args, format);
-  error_message = g_strdup_vprintf (format, args);
-  va_end (args);
-
-  GST_WARNING ("%s", error_message);
-}
-
-gchar *
-gst_gl_context_get_error (void)
-{
-  return error_message;
-}
-
 /* Called by glfilter */
 void
 gst_gl_context_del_shader (GstGLContext * context, GstGLShader * shader)
diff --git a/gst-libs/gst/gl/gstglutils.h b/gst-libs/gst/gl/gstglutils.h
index 4741dad..a714759 100644
--- a/gst-libs/gst/gl/gstglutils.h
+++ b/gst-libs/gst/gl/gstglutils.h
@@ -28,64 +28,11 @@
 
 G_BEGIN_DECLS
 
-/**
- * GstGLContextProjection:
- *
- * %GST_GL_DISPLAY_PROJECTION_ORTHO2D: Orthogonal projection
- * %GST_GL_DISPLAY_CONVERSION_MATRIX: Perspective projection 
- */
-typedef enum
-{
-  GST_GL_DISPLAY_PROJECTION_ORTHO2D,
-  GST_GL_DISPLAY_PROJECTION_PERSPECTIVE
-} GstGLDisplayProjection;
-
-/**
- * CDCB:
- * @texture: texture to draw
- * @width: new width
- * @height: new height:
- * @data: user data
- *
- * client draw callback
- */
-typedef gboolean (*CDCB) (GLuint texture, GLuint width, GLuint height, gpointer data);
-/**
- * GLCB:
- * @width: the width
- * @height: the height
- * @texture: texture
- * @stuff: user data
- *
- * callback definition for operating on textures
- */
-typedef void (*GLCB) (gint, gint, guint, gpointer stuff);
-/**
- * GLCB_V2:
- * @stuff: user data
- *
- * callback definition for operating through a Framebuffer object
- */
-typedef void (*GLCB_V2) (gpointer stuff);
-
-gboolean gst_gl_context_gen_fbo (GstGLContext * context, gint width, gint height,
-    GLuint * fbo, GLuint * depthbuffer);
-gboolean gst_gl_context_use_fbo_v2 (GstGLContext * context, gint texture_fbo_width,
-    gint texture_fbo_height, GLuint fbo, GLuint depth_buffer,
-    GLuint texture_fbo, GLCB_V2 cb, gpointer stuff);
-void gst_gl_context_del_fbo (GstGLContext * context, GLuint fbo,
-    GLuint depth_buffer);
-
 gboolean gst_gl_context_gen_shader (GstGLContext * context,
     const gchar * shader_vertex_source,
     const gchar * shader_fragment_source, GstGLShader ** shader);
 void gst_gl_context_del_shader (GstGLContext * context, GstGLShader * shader);
 
-gboolean gst_gl_context_check_framebuffer_status (GstGLContext * context);
-
-void gst_gl_context_set_error (GstGLContext * context, const char * format, ...);
-gchar *gst_gl_context_get_error (void);
-
 gboolean gst_gl_ensure_element_data (gpointer element,
     GstGLDisplay **display_ptr, GstGLContext ** other_context_ptr);
 gboolean gst_gl_handle_set_context (GstElement * element, GstContext * context, 
diff --git a/gst-libs/gst/gl/gstglviewconvert.c b/gst-libs/gst/gl/gstglviewconvert.c
index 0697891..c409e3a 100644
--- a/gst-libs/gst/gl/gstglviewconvert.c
+++ b/gst-libs/gst/gl/gstglviewconvert.c
@@ -1208,7 +1208,7 @@
     g_value_set_static_string (&item, GST_GL_TEXTURE_TARGET_EXTERNAL_OES_STR);
   }
 
-  gst_structure_set_value (s, "texture-target", &item);
+  gst_structure_set_value (s_other, "texture-target", &item);
 
   g_value_unset (&item);
 
@@ -1286,9 +1286,7 @@
     }
   }
 
-  tmp = _fixate_texture_target (viewconvert, direction, caps, othercaps);
-  gst_caps_unref (othercaps);
-  othercaps = tmp;
+  othercaps = _fixate_texture_target (viewconvert, direction, caps, othercaps);
 
 done:
   GST_DEBUG_OBJECT (viewconvert, "dir %s fixated to %" GST_PTR_FORMAT
@@ -1304,6 +1302,11 @@
   if (viewconvert->shader)
     gst_gl_context_del_shader (viewconvert->context, viewconvert->shader);
   viewconvert->shader = NULL;
+
+  if (viewconvert->fbo)
+    gst_object_unref (viewconvert->fbo);
+  viewconvert->fbo = NULL;
+
   viewconvert->initted = FALSE;
   viewconvert->reconfigure = FALSE;
 }
@@ -1383,74 +1386,16 @@
 static gboolean
 _init_view_convert_fbo (GstGLViewConvert * viewconvert)
 {
-  GstGLFuncs *gl;
   guint out_width, out_height;
-  GLuint fake_texture = 0;      /* a FBO must hava texture to init */
-  GLenum internal_format;
-  gboolean ret = TRUE;
 
-  gl = viewconvert->context->gl_vtable;
   out_width = GST_VIDEO_INFO_WIDTH (&viewconvert->out_info);
   out_height = GST_VIDEO_INFO_HEIGHT (&viewconvert->out_info);
-  if (!gl->GenFramebuffers) {
-    /* turn off the pipeline because Frame buffer object is a not present */
-    gst_gl_context_set_error (viewconvert->context,
-        "Frambuffer objects unsupported");
-    return FALSE;
-  }
 
-  /* setup FBO */
-  gl->GenFramebuffers (1, &viewconvert->fbo);
-  gl->BindFramebuffer (GL_FRAMEBUFFER, viewconvert->fbo);
-  /* setup the render buffer for depth */
-  gl->GenRenderbuffers (1, &viewconvert->depth_buffer);
-  gl->BindRenderbuffer (GL_RENDERBUFFER, viewconvert->depth_buffer);
-  if (USING_OPENGL (viewconvert->context)
-      || USING_OPENGL3 (viewconvert->context)) {
-    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH_COMPONENT, out_width,
-        out_height);
-    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH24_STENCIL8,
-        out_width, out_height);
-  }
-  if (USING_GLES2 (viewconvert->context)) {
-    gl->RenderbufferStorage (GL_RENDERBUFFER, GL_DEPTH_COMPONENT16,
-        out_width, out_height);
-  }
+  viewconvert->fbo =
+      gst_gl_framebuffer_new_with_default_depth (viewconvert->context,
+      out_width, out_height);
 
-  /* a fake texture is attached to the convert FBO (cannot init without it) */
-  gl->GenTextures (1, &fake_texture);
-  gl->BindTexture (GL_TEXTURE_2D, fake_texture);
-  internal_format =
-      gst_gl_sized_gl_format_from_gl_format_type (viewconvert->context, GL_RGBA,
-      GL_UNSIGNED_BYTE);
-  gl->TexImage2D (GL_TEXTURE_2D, 0, internal_format, out_width, out_height,
-      0, GL_RGBA, GL_UNSIGNED_BYTE, NULL);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
-  gl->TexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
-  /* attach the texture to the FBO to renderer to */
-  gl->FramebufferTexture2D (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0,
-      GL_TEXTURE_2D, fake_texture, 0);
-  /* attach the depth render buffer to the FBO */
-  gl->FramebufferRenderbuffer (GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT,
-      GL_RENDERBUFFER, viewconvert->depth_buffer);
-  if (USING_OPENGL (viewconvert->context)) {
-    gl->FramebufferRenderbuffer (GL_FRAMEBUFFER, GL_STENCIL_ATTACHMENT,
-        GL_RENDERBUFFER, viewconvert->depth_buffer);
-  }
-
-  if (!gst_gl_context_check_framebuffer_status (viewconvert->context)) {
-    gst_gl_context_set_error (viewconvert->context,
-        "GL framebuffer status incomplete");
-    ret = FALSE;
-  }
-
-  /* unbind the FBO */
-  gl->BindTexture (GL_TEXTURE_2D, 0);
-  gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
-  gl->DeleteTextures (1, &fake_texture);
-  return ret;
+  return viewconvert->fbo != NULL;
 }
 
 /* free after use */
@@ -1643,8 +1588,8 @@
       viewconvert->out_info.width, viewconvert->out_info.height);
 
   if (!gl->CreateProgramObject && !gl->CreateProgram) {
-    gst_gl_context_set_error (viewconvert->context,
-        "Cannot perform multiview conversion without OpenGL shaders");
+    GST_ERROR_OBJECT (viewconvert, "Cannot perform multiview conversion "
+        "without OpenGL shaders");
     goto error;
   }
 
@@ -1865,9 +1810,9 @@
       gst_gl_texture_target_to_gl (viewconvert->from_texture_target);
 
   gl = context->gl_vtable;
-  out_width = GST_VIDEO_INFO_WIDTH (&viewconvert->out_info);
-  out_height = GST_VIDEO_INFO_HEIGHT (&viewconvert->out_info);
-  gl->BindFramebuffer (GL_FRAMEBUFFER, viewconvert->fbo);
+
+  gst_gl_framebuffer_bind (viewconvert->fbo);
+
   if (out_mode == GST_VIDEO_MULTIVIEW_MODE_SEPARATED ||
       out_mode == GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME) {
     out_views = viewconvert->out_info.views;
@@ -1877,19 +1822,18 @@
 
   /* attach the texture to the FBO to renderer to */
   for (i = 0; i < out_views; i++) {
-    guint gl_target =
-        gst_gl_texture_target_to_gl (viewconvert->to_texture_target);
+    GstGLBaseMemory *tex = (GstGLBaseMemory *) priv->out_tex[i];
 
-    /* needed? */
-    gl->BindTexture (gl_target, priv->out_tex[i]->tex_id);
-    gl->FramebufferTexture2D (GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0 + i,
-        gl_target, priv->out_tex[i]->tex_id, 0);
+    gst_gl_framebuffer_attach (viewconvert->fbo, GL_COLOR_ATTACHMENT0 + i, tex);
   }
 
   if (gl->DrawBuffers)
     gl->DrawBuffers (out_views, multipleRT);
   else if (gl->DrawBuffer)
     gl->DrawBuffer (GL_COLOR_ATTACHMENT0);
+
+  gst_gl_framebuffer_get_effective_dimensions (viewconvert->fbo, &out_width,
+      &out_height);
   gl->GetIntegerv (GL_VIEWPORT, viewport_dim);
   gl->Viewport (0, 0, out_width, out_height);
 
@@ -1911,6 +1855,7 @@
     gl->BindVertexArray (priv->vao);
   else
     _bind_buffer (viewconvert);
+
   if (in_mode == GST_VIDEO_MULTIVIEW_MODE_SEPARATED ||
       in_mode == GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME) {
     if (priv->in_tex[1] == NULL) {
@@ -1924,7 +1869,9 @@
 
   gl->ActiveTexture (GL_TEXTURE0);
   gl->BindTexture (from_gl_target, priv->in_tex[0]->tex_id);
+
   gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, NULL);
+
   if (gl->BindVertexArray)
     gl->BindVertexArray (0);
   else
@@ -1935,8 +1882,8 @@
   gst_gl_context_clear_shader (context);
   gl->Viewport (viewport_dim[0], viewport_dim[1], viewport_dim[2],
       viewport_dim[3]);
-  gst_gl_context_check_framebuffer_status (context);
-  gl->BindFramebuffer (GL_FRAMEBUFFER, 0);
+  gst_gl_context_clear_framebuffer (context);
+
   return TRUE;
 }
 
@@ -2144,15 +2091,13 @@
       GstMapInfo to_info, from_info;
       if (!gst_memory_map ((GstMemory *) priv->out_tex[j],
               &from_info, GST_MAP_READ | GST_MAP_GL)) {
-        gst_gl_context_set_error (viewconvert->context,
-            "Failed to map " "intermediate memory");
+        GST_ERROR_OBJECT (viewconvert, "Failed to map intermediate memory");
         res = FALSE;
         continue;
       }
       if (!gst_memory_map ((GstMemory *) out_tex, &to_info,
               GST_MAP_WRITE | GST_MAP_GL)) {
-        gst_gl_context_set_error (viewconvert->context, "Failed to map "
-            "intermediate memory");
+        GST_ERROR_OBJECT (viewconvert, "Failed to map intermediate memory");
         res = FALSE;
         continue;
       }
diff --git a/gst-libs/gst/gl/gstglviewconvert.h b/gst-libs/gst/gl/gstglviewconvert.h
index 8cfa1b2..ee1166c 100644
--- a/gst-libs/gst/gl/gstglviewconvert.h
+++ b/gst-libs/gst/gl/gstglviewconvert.h
@@ -68,8 +68,7 @@
   gboolean initted;
   gboolean reconfigure;
 
-  GLuint fbo;
-  GLuint depth_buffer;
+  GstGLFramebuffer *fbo;
 
   GstGLViewConvertPrivate *priv;
 };
diff --git a/gst-libs/gst/gl/gstglwindow.c b/gst-libs/gst/gl/gstglwindow.c
index 410bc86..b74d397 100644
--- a/gst-libs/gst/gl/gstglwindow.c
+++ b/gst-libs/gst/gl/gstglwindow.c
@@ -487,8 +487,6 @@
   }
 
   window_class->draw (window);
-
-  window->queue_resize = FALSE;
 }
 
 /**
@@ -1164,14 +1162,38 @@
     window_class->queue_resize (window);
 }
 
+struct resize_data
+{
+  GstGLWindow *window;
+  guint width, height;
+};
+
+static void
+_on_resize (gpointer data)
+{
+  struct resize_data *resize = data;
+
+  resize->window->resize (resize->window->resize_data, resize->width,
+      resize->height);
+}
+
 void
 gst_gl_window_resize (GstGLWindow * window, guint width, guint height)
 {
   g_return_if_fail (GST_IS_GL_WINDOW (window));
 
-  if (window->resize)
-    window->resize (window->resize_data, width, height);
+  if (window->resize) {
+    struct resize_data resize = { 0, };
+
+    resize.window = window;
+    resize.width = width;
+    resize.height = height;
+
+    gst_gl_window_send_message (window, (GstGLWindowCB) _on_resize, &resize);
+  }
 
   window->priv->surface_width = width;
   window->priv->surface_height = height;
+
+  window->queue_resize = FALSE;
 }
diff --git a/gst-libs/gst/gl/wayland/Makefile.in b/gst-libs/gst/gl/wayland/Makefile.in
index ee594bf..3f5be32 100644
--- a/gst-libs/gst/gl/wayland/Makefile.in
+++ b/gst-libs/gst/gl/wayland/Makefile.in
@@ -298,6 +298,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -347,6 +349,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/gl/wayland/gstgldisplay_wayland.c b/gst-libs/gst/gl/wayland/gstgldisplay_wayland.c
index c5c5094..6654280 100644
--- a/gst-libs/gst/gl/wayland/gstgldisplay_wayland.c
+++ b/gst-libs/gst/gl/wayland/gstgldisplay_wayland.c
@@ -117,7 +117,12 @@
   ret->display = wl_display_connect (name);
 
   if (!ret->display) {
-    GST_ERROR ("Failed to open X11 display connection with name, \'%s\'", name);
+    if (name != NULL) {
+      GST_ERROR ("Failed to open Wayland display connection with name \'%s\'",
+          name);
+    } else {
+      GST_ERROR ("Failed to open Wayland display connection.");
+    }
     return NULL;
   }
 
diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
index e0166da..a88955f 100644
--- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
+++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
@@ -103,4 +103,4 @@
 
 G_END_DECLS
 
-#endif /* __GST_GL_WINDOW_X11_H__ */
+#endif /* __GST_GL_WINDOW_WAYLAND_EGL_H__ */
diff --git a/gst-libs/gst/gl/wayland/wayland_event_source.c b/gst-libs/gst/gl/wayland/wayland_event_source.c
index 114977a..ffb1503 100644
--- a/gst-libs/gst/gl/wayland/wayland_event_source.c
+++ b/gst-libs/gst/gl/wayland/wayland_event_source.c
@@ -51,19 +51,30 @@
   sync_callback
 };
 
+/* only thread safe iff called on the same thread @queue is being dispatched on */
 gint
 gst_gl_wl_display_roundtrip_queue (struct wl_display *display,
     struct wl_event_queue *queue)
 {
-  struct wl_callback *callback = wl_display_sync (display);
+  struct wl_callback *callback;
   gboolean done = FALSE;
   gint ret = 0;
 
-  if (callback == NULL)
+  if (queue) {
+    /* creating a wl_proxy and setting the queue is racy with the dispatching
+     * of the default queue */
+    while (wl_display_prepare_read_queue (display, queue) != 0) {
+      if ((ret = wl_display_dispatch_queue_pending (display, queue)) < 0)
+        return ret;
+    }
+  }
+  if (!(callback = wl_display_sync (display))) {
     return -1;
+  }
   wl_callback_add_listener (callback, &sync_listener, &done);
   if (queue) {
     wl_proxy_set_queue ((struct wl_proxy *) callback, queue);
+    wl_display_cancel_read (display);
     while (!done && ret >= 0)
       ret = wl_display_dispatch_queue (display, queue);
   } else {
@@ -84,6 +95,7 @@
   uint32_t mask;
   struct wl_display *display;
   struct wl_event_queue *queue;
+  gboolean reading;
 } WaylandEventSource;
 
 static gboolean
@@ -93,10 +105,29 @@
 
   *timeout = -1;
 
-  /* We have to add/remove the GPollFD if we want to update our
-   * poll event mask dynamically.  Instead, let's just flush all
-   * writes on idle */
-  wl_display_flush (source->display);
+  /* we may be called multiple times for prepare */
+  if (source->reading)
+    wl_display_cancel_read (source->display);
+
+  if (source->queue) {
+    while (wl_display_prepare_read_queue (source->display, source->queue) != 0) {
+      if (wl_display_dispatch_queue_pending (source->display,
+              source->queue) < 0) {
+        g_critical ("Failed to dispatch pending events\n");
+      }
+    }
+  } else {
+    while (wl_display_prepare_read (source->display) != 0) {
+      if (wl_display_dispatch_pending (source->display) < 0) {
+        g_critical ("Failed to dispatch pending events\n");
+      }
+    }
+  }
+  source->reading = TRUE;
+
+  /* FIXME: this may return EAGAIN if the fd is full */
+  if (wl_display_flush (source->display) < 0)
+    g_critical ("Failed to flush Wayland connection\n");
 
   return FALSE;
 }
@@ -109,6 +140,13 @@
 
   retval = source->pfd.revents;
 
+  if (source->pfd.revents & G_IO_IN) {
+    wl_display_read_events (source->display);
+  } else {
+    wl_display_cancel_read (source->display);
+  }
+  source->reading = FALSE;
+
   return retval;
 }
 
@@ -118,13 +156,11 @@
 {
   WaylandEventSource *source = (WaylandEventSource *) base;
 
-  if (source->pfd.revents) {
-    if (source->queue)
-      wl_display_dispatch_queue_pending (source->display, source->queue);
-    else
-      wl_display_dispatch_pending (source->display);
-    source->pfd.revents = 0;
-  }
+  if (source->queue)
+    wl_display_dispatch_queue_pending (source->display, source->queue);
+  else
+    wl_display_dispatch_pending (source->display);
+  source->pfd.revents = 0;
 
   if (callback)
     callback (data);
@@ -132,11 +168,22 @@
   return TRUE;
 }
 
+static void
+wayland_event_source_finalize (GSource * base)
+{
+  WaylandEventSource *source = (WaylandEventSource *) base;
+
+  if (source->reading) {
+    wl_display_cancel_read (source->display);
+  }
+  source->reading = FALSE;
+}
+
 static GSourceFuncs wayland_event_source_funcs = {
   wayland_event_source_prepare,
   wayland_event_source_check,
   wayland_event_source_dispatch,
-  NULL
+  wayland_event_source_finalize
 };
 
 GSource *
diff --git a/gst-libs/gst/gl/win32/Makefile.in b/gst-libs/gst/gl/win32/Makefile.in
index 9857cd0..78f80a5 100644
--- a/gst-libs/gst/gl/win32/Makefile.in
+++ b/gst-libs/gst/gl/win32/Makefile.in
@@ -303,6 +303,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -352,6 +354,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/gl/x11/Makefile.in b/gst-libs/gst/gl/x11/Makefile.in
index b2e7071..6652f19 100644
--- a/gst-libs/gst/gl/x11/Makefile.in
+++ b/gst-libs/gst/gl/x11/Makefile.in
@@ -332,6 +332,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -381,6 +383,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/gl/x11/gstglwindow_x11.c b/gst-libs/gst/gl/x11/gstglwindow_x11.c
index a330825..d08b757 100644
--- a/gst-libs/gst/gl/x11/gstglwindow_x11.c
+++ b/gst-libs/gst/gl/x11/gstglwindow_x11.c
@@ -391,6 +391,7 @@
   GstGLWindow *window = GST_GL_WINDOW (window_x11);
 
   if (gst_gl_window_is_running (window)) {
+    guint width, height;
     XWindowAttributes attr;
 
     XGetWindowAttributes (window_x11->device, window_x11->internal_win_id,
@@ -414,13 +415,16 @@
       }
     }
 
-    if (window_x11->allow_extra_expose_events) {
-      if (window->queue_resize) {
-        guint width, height;
+    gst_gl_window_get_surface_dimensions (window, &width, &height);
+    if (attr.width != width || attr.height != height) {
+      width = attr.width;
+      height = attr.height;
+      gst_gl_window_queue_resize (window);
+    }
 
-        gst_gl_window_get_surface_dimensions (window, &width, &height);
+    if (window_x11->allow_extra_expose_events) {
+      if (window->queue_resize)
         gst_gl_window_resize (window, width, height);
-      }
 
       if (window->draw) {
         GstGLContext *context = gst_gl_window_get_context (window);
diff --git a/gst-libs/gst/insertbin/Makefile.in b/gst-libs/gst/insertbin/Makefile.in
index 507b2e6..f14c347 100644
--- a/gst-libs/gst/insertbin/Makefile.in
+++ b/gst-libs/gst/insertbin/Makefile.in
@@ -315,6 +315,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -364,6 +366,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/interfaces/Makefile.in b/gst-libs/gst/interfaces/Makefile.in
index b4bc22e..90ed7b8 100644
--- a/gst-libs/gst/interfaces/Makefile.in
+++ b/gst-libs/gst/interfaces/Makefile.in
@@ -345,6 +345,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -394,6 +396,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/mpegts/Makefile.in b/gst-libs/gst/mpegts/Makefile.in
index 07d58c9..a23c1b6 100644
--- a/gst-libs/gst/mpegts/Makefile.in
+++ b/gst-libs/gst/mpegts/Makefile.in
@@ -353,6 +353,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -402,6 +404,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/player/Makefile.in b/gst-libs/gst/player/Makefile.in
index 715ffb1..12813a5 100644
--- a/gst-libs/gst/player/Makefile.in
+++ b/gst-libs/gst/player/Makefile.in
@@ -338,6 +338,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -387,6 +389,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/player/gstplayer.c b/gst-libs/gst/player/gstplayer.c
index 15d7d34..7c5c57d 100644
--- a/gst-libs/gst/player/gstplayer.c
+++ b/gst-libs/gst/player/gstplayer.c
@@ -78,6 +78,26 @@
   return quark;
 }
 
+static GQuark QUARK_CONFIG;
+
+/* Keep ConfigQuarkId and _config_quark_strings ordered and synced */
+typedef enum
+{
+  CONFIG_QUARK_USER_AGENT = 0,
+  CONFIG_QUARK_POSITION_INTERVAL_UPDATE,
+
+  CONFIG_QUARK_MAX
+} ConfigQuarkId;
+
+static const gchar *_config_quark_strings[] = {
+  "user-agent",
+  "position-interval-update",
+};
+
+GQuark _config_quark_table[CONFIG_QUARK_MAX];
+
+#define CONFIG_QUARK(q) _config_quark_table[CONFIG_QUARK_##q]
+
 enum
 {
   PROP_0,
@@ -95,7 +115,6 @@
   PROP_MUTE,
   PROP_RATE,
   PROP_PIPELINE,
-  PROP_POSITION_UPDATE_INTERVAL,
   PROP_VIDEO_MULTIVIEW_MODE,
   PROP_VIDEO_MULTIVIEW_FLAGS,
   PROP_AUDIO_VIDEO_OFFSET,
@@ -136,6 +155,7 @@
   GstPlayerSignalDispatcher *signal_dispatcher;
 
   gchar *uri;
+  gchar *redirect_uri;
   gchar *suburi;
 
   GThread *thread;
@@ -151,7 +171,6 @@
   GSource *tick_source, *ready_timeout_source;
 
   gdouble rate;
-  guint position_update_interval_ms;
 
   GstPlayerState app_state;
   gint buffering;
@@ -161,6 +180,8 @@
 
   GstElement *current_vis_element;
 
+  GstStructure *config;
+
   /* Protected by lock */
   gboolean seek_pending;        /* Only set from main context */
   GstClockTime last_seek_time;  /* Only set from main context */
@@ -194,12 +215,11 @@
 static gpointer gst_player_main (gpointer data);
 
 static void gst_player_seek_internal_locked (GstPlayer * self);
-static gboolean gst_player_stop_internal (gpointer user_data);
+static void gst_player_stop_internal (GstPlayer * self, gboolean transient);
 static gboolean gst_player_pause_internal (gpointer user_data);
 static gboolean gst_player_play_internal (gpointer user_data);
-static gboolean gst_player_set_rate_internal (gpointer user_data);
-static gboolean gst_player_set_position_update_interval_internal (gpointer
-    user_data);
+static gboolean gst_player_seek_internal (gpointer user_data);
+static void gst_player_set_rate_internal (GstPlayer * self);
 static void change_state (GstPlayer * self, GstPlayerState state);
 
 static GstPlayerMediaInfo *gst_player_media_info_create (GstPlayer * self);
@@ -243,7 +263,12 @@
   self->context = g_main_context_new ();
   self->loop = g_main_loop_new (self->context, FALSE);
 
-  self->position_update_interval_ms = DEFAULT_POSITION_UPDATE_INTERVAL_MS;
+  /* *INDENT-OFF* */
+  self->config = gst_structure_new_id (QUARK_CONFIG,
+      CONFIG_QUARK (POSITION_INTERVAL_UPDATE), G_TYPE_UINT, DEFAULT_POSITION_UPDATE_INTERVAL_MS,
+      NULL);
+  /* *INDENT-ON* */
+
   self->seek_pending = FALSE;
   self->seek_position = GST_CLOCK_TIME_NONE;
   self->last_seek_time = GST_CLOCK_TIME_NONE;
@@ -253,6 +278,23 @@
 }
 
 static void
+config_quark_initialize (void)
+{
+  gint i;
+
+  QUARK_CONFIG = g_quark_from_static_string ("player-config");
+
+  if (G_N_ELEMENTS (_config_quark_strings) != CONFIG_QUARK_MAX)
+    g_warning ("the quark table is not consistent! %d != %d",
+        (int) G_N_ELEMENTS (_config_quark_strings), CONFIG_QUARK_MAX);
+
+  for (i = 0; i < CONFIG_QUARK_MAX; i++) {
+    _config_quark_table[i] =
+        g_quark_from_static_string (_config_quark_strings[i]);
+  }
+}
+
+static void
 gst_player_class_init (GstPlayerClass * klass)
 {
   GObjectClass *gobject_class = (GObjectClass *) klass;
@@ -328,13 +370,6 @@
       g_param_spec_double ("rate", "rate", "Playback rate",
       -64.0, 64.0, DEFAULT_RATE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
 
-  param_specs[PROP_POSITION_UPDATE_INTERVAL] =
-      g_param_spec_uint ("position-update-interval", "Position update interval",
-      "Interval in milliseconds between two position-updated signals."
-      "Pass 0 to stop updating the position.",
-      0, 10000, DEFAULT_POSITION_UPDATE_INTERVAL_MS,
-      G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
-
   param_specs[PROP_VIDEO_MULTIVIEW_MODE] =
       g_param_spec_enum ("video-multiview-mode",
       "Multiview Mode Override",
@@ -421,6 +456,8 @@
       g_signal_new ("seek-done", G_TYPE_FROM_CLASS (klass),
       G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS, 0, NULL,
       NULL, NULL, G_TYPE_NONE, 1, GST_TYPE_CLOCK_TIME);
+
+  config_quark_initialize ();
 }
 
 static void
@@ -454,6 +491,7 @@
   GST_TRACE_OBJECT (self, "Finalizing");
 
   g_free (self->uri);
+  g_free (self->redirect_uri);
   g_free (self->suburi);
   if (self->global_tags)
     gst_tag_list_unref (self->global_tags);
@@ -463,6 +501,8 @@
     g_object_unref (self->signal_dispatcher);
   if (self->current_vis_element)
     gst_object_unref (self->current_vis_element);
+  if (self->config)
+    gst_structure_free (self->config);
   g_mutex_clear (&self->lock);
   g_cond_clear (&self->cond);
 
@@ -512,7 +552,7 @@
 {
   GstPlayer *self = user_data;
 
-  gst_player_stop_internal (self);
+  gst_player_stop_internal (self, FALSE);
 
   g_mutex_lock (&self->lock);
 
@@ -554,14 +594,15 @@
   target_state = self->target_state;
   position = gst_player_get_position (self);
 
-  gst_player_stop_internal (self);
+  gst_player_stop_internal (self, TRUE);
   g_mutex_lock (&self->lock);
 
   GST_DEBUG_OBJECT (self, "Changing SUBURI to '%s'",
       GST_STR_NULL (self->suburi));
 
   g_object_set (self->playbin, "suburi", self->suburi, NULL);
-  g_object_set (self->playbin, "uri", self->uri, NULL);
+  g_object_set (self->playbin, "uri",
+      self->redirect_uri ? self->redirect_uri : self->uri, NULL);
 
   g_mutex_unlock (&self->lock);
 
@@ -577,6 +618,26 @@
 }
 
 static void
+gst_player_set_rate_internal (GstPlayer * self)
+{
+  self->seek_position = gst_player_get_position (self);
+
+  /* If there is no seek being dispatch to the main context currently do that,
+   * otherwise we just updated the rate so that it will be taken by
+   * the seek handler from the main context instead of the old one.
+   */
+  if (!self->seek_source) {
+    /* If no seek is pending then create new seek source */
+    if (!self->seek_pending) {
+      self->seek_source = g_idle_source_new ();
+      g_source_set_callback (self->seek_source,
+          (GSourceFunc) gst_player_seek_internal, self, NULL);
+      g_source_attach (self->seek_source, self->context);
+    }
+  }
+}
+
+static void
 gst_player_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec)
 {
@@ -592,6 +653,8 @@
     case PROP_URI:{
       g_mutex_lock (&self->lock);
       g_free (self->uri);
+      g_free (self->redirect_uri);
+      self->redirect_uri = NULL;
 
       self->uri = g_value_dup_string (value);
       GST_DEBUG_OBJECT (self, "Set uri=%s", self->uri);
@@ -621,23 +684,13 @@
       g_mutex_lock (&self->lock);
       self->rate = g_value_get_double (value);
       GST_DEBUG_OBJECT (self, "Set rate=%lf", g_value_get_double (value));
-      g_mutex_unlock (&self->lock);
-
       gst_player_set_rate_internal (self);
+      g_mutex_unlock (&self->lock);
       break;
     case PROP_MUTE:
       GST_DEBUG_OBJECT (self, "Set mute=%d", g_value_get_boolean (value));
       g_object_set_property (G_OBJECT (self->playbin), "mute", value);
       break;
-    case PROP_POSITION_UPDATE_INTERVAL:
-      g_mutex_lock (&self->lock);
-      self->position_update_interval_ms = g_value_get_uint (value);
-      GST_DEBUG_OBJECT (self, "Set position update interval=%u ms",
-          g_value_get_uint (value));
-      g_mutex_unlock (&self->lock);
-
-      gst_player_set_position_update_interval_internal (self);
-      break;
     case PROP_VIDEO_MULTIVIEW_MODE:
       GST_DEBUG_OBJECT (self, "Set multiview mode=%u",
           g_value_get_enum (value));
@@ -730,7 +783,7 @@
       break;
     case PROP_RATE:
       g_mutex_lock (&self->lock);
-      g_value_set_double (value, gst_player_get_rate (self));
+      g_value_set_double (value, self->rate);
       g_mutex_unlock (&self->lock);
       break;
     case PROP_MUTE:
@@ -740,11 +793,6 @@
     case PROP_PIPELINE:
       g_value_set_object (value, self->playbin);
       break;
-    case PROP_POSITION_UPDATE_INTERVAL:
-      g_mutex_lock (&self->lock);
-      g_value_set_uint (value, gst_player_get_position_update_interval (self));
-      g_mutex_unlock (&self->lock);
-      break;
     case PROP_VIDEO_MULTIVIEW_MODE:{
       g_object_get_property (G_OBJECT (self->playbin), "video-multiview-mode",
           value);
@@ -889,13 +937,17 @@
 static void
 add_tick_source (GstPlayer * self)
 {
+  guint position_update_interval_ms;
+
   if (self->tick_source)
     return;
 
-  if (!self->position_update_interval_ms)
+  position_update_interval_ms =
+      gst_player_config_get_position_update_interval (self->config);
+  if (!position_update_interval_ms)
     return;
 
-  self->tick_source = g_timeout_source_new (self->position_update_interval_ms);
+  self->tick_source = g_timeout_source_new (position_update_interval_ms);
   g_source_set_callback (self->tick_source, (GSourceFunc) tick_cb, self, NULL);
   g_source_attach (self->tick_source, self->context);
 }
@@ -1751,14 +1803,14 @@
       /* Remember target state and restore after setting the URI */
       target_state = self->target_state;
 
+      gst_player_stop_internal (self, TRUE);
+
       g_mutex_lock (&self->lock);
-      g_free (self->uri);
-
-      self->uri = g_strdup (new_location);
+      g_free (self->redirect_uri);
+      self->redirect_uri = g_strdup (new_location);
+      g_object_set (self->playbin, "uri", self->redirect_uri, NULL);
       g_mutex_unlock (&self->lock);
 
-      gst_player_set_uri_internal (self);
-
       if (target_state == GST_STATE_PAUSED)
         gst_player_pause_internal (self);
       else if (target_state == GST_STATE_PLAYING)
@@ -2488,6 +2540,26 @@
   }
 }
 
+static void
+source_setup_cb (GstElement * playbin, GstElement * source, GstPlayer * self)
+{
+  gchar *user_agent;
+
+  user_agent = gst_player_config_get_user_agent (self->config);
+  if (user_agent) {
+    GParamSpec *prop;
+
+    prop = g_object_class_find_property (G_OBJECT_GET_CLASS (source),
+        "user-agent");
+    if (prop && prop->value_type == G_TYPE_STRING) {
+      GST_INFO_OBJECT (self, "Setting source user-agent: %s", user_agent);
+      g_object_set (source, "user-agent", user_agent, NULL);
+    }
+
+    g_free (user_agent);
+  }
+}
+
 static gpointer
 gst_player_main (gpointer data)
 {
@@ -2577,6 +2649,8 @@
       G_CALLBACK (volume_notify_cb), self);
   g_signal_connect (self->playbin, "notify::mute",
       G_CALLBACK (mute_notify_cb), self);
+  g_signal_connect (self->playbin, "source-setup",
+      G_CALLBACK (source_setup_cb), self);
 
   self->target_state = GST_STATE_NULL;
   self->current_state = GST_STATE_NULL;
@@ -2584,6 +2658,7 @@
   self->buffering = 100;
   self->is_eos = FALSE;
   self->is_live = FALSE;
+  self->rate = 1.0;
 
   GST_TRACE_OBJECT (self, "Starting main loop");
   g_main_loop_run (self->loop);
@@ -2721,7 +2796,7 @@
         GST_SEEK_FLAG_FLUSH, 0);
     if (!ret) {
       GST_ERROR_OBJECT (self, "Seek to beginning failed");
-      gst_player_stop_internal (self);
+      gst_player_stop_internal (self, TRUE);
       gst_player_play_internal (self);
     }
   }
@@ -2792,7 +2867,7 @@
         GST_SEEK_FLAG_FLUSH, 0);
     if (!ret) {
       GST_ERROR_OBJECT (self, "Seek to beginning failed");
-      gst_player_stop_internal (self);
+      gst_player_stop_internal (self, TRUE);
       gst_player_pause_internal (self);
     }
   }
@@ -2819,12 +2894,10 @@
       gst_player_pause_internal, self, NULL);
 }
 
-static gboolean
-gst_player_stop_internal (gpointer user_data)
+static void
+gst_player_stop_internal (GstPlayer * self, gboolean transient)
 {
-  GstPlayer *self = GST_PLAYER (user_data);
-
-  GST_DEBUG_OBJECT (self, "Stop");
+  GST_DEBUG_OBJECT (self, "Stop (transient %d)", transient);
 
   tick_cb (self);
   remove_tick_source (self);
@@ -2838,7 +2911,10 @@
   gst_bus_set_flushing (self->bus, TRUE);
   gst_element_set_state (self->playbin, GST_STATE_READY);
   gst_bus_set_flushing (self->bus, FALSE);
-  change_state (self, GST_PLAYER_STATE_STOPPED);
+  change_state (self, transient
+      && self->app_state !=
+      GST_PLAYER_STATE_STOPPED ? GST_PLAYER_STATE_BUFFERING :
+      GST_PLAYER_STATE_STOPPED);
   self->buffering = 100;
   g_mutex_lock (&self->lock);
   if (self->media_info) {
@@ -2859,10 +2935,19 @@
   self->last_seek_time = GST_CLOCK_TIME_NONE;
   self->rate = 1.0;
   g_mutex_unlock (&self->lock);
+}
+
+static gboolean
+gst_player_stop_internal_dispatch (gpointer user_data)
+{
+  GstPlayer *self = GST_PLAYER (user_data);
+
+  gst_player_stop_internal (self, FALSE);
 
   return G_SOURCE_REMOVE;
 }
 
+
 /**
  * gst_player_stop:
  * @player: #GstPlayer instance
@@ -2880,7 +2965,7 @@
   g_mutex_unlock (&self->lock);
 
   g_main_context_invoke_full (self->context, G_PRIORITY_DEFAULT,
-      gst_player_stop_internal, self, NULL);
+      gst_player_stop_internal_dispatch, self, NULL);
 }
 
 /* Must be called with lock from main context, releases lock! */
@@ -2965,34 +3050,6 @@
   return G_SOURCE_REMOVE;
 }
 
-static gboolean
-gst_player_set_rate_internal (gpointer user_data)
-{
-  GstPlayer *self = user_data;
-
-  g_mutex_lock (&self->lock);
-
-  self->seek_position = gst_player_get_position (self);
-
-  /* If there is no seek being dispatch to the main context currently do that,
-   * otherwise we just updated the rate so that it will be taken by
-   * the seek handler from the main context instead of the old one.
-   */
-  if (!self->seek_source) {
-    /* If no seek is pending then create new seek source */
-    if (!self->seek_pending) {
-      self->seek_source = g_idle_source_new ();
-      g_source_set_callback (self->seek_source,
-          (GSourceFunc) gst_player_seek_internal, self, NULL);
-      g_source_attach (self->seek_source, self->context);
-    }
-  }
-
-  g_mutex_unlock (&self->lock);
-
-  return G_SOURCE_REMOVE;
-}
-
 /**
  * gst_player_set_rate:
  * @player: #GstPlayer instance
@@ -3006,11 +3063,7 @@
   g_return_if_fail (GST_IS_PLAYER (self));
   g_return_if_fail (rate != 0.0);
 
-  g_mutex_lock (&self->lock);
-  self->rate = rate;
-  g_mutex_unlock (&self->lock);
-
-  gst_player_set_rate_internal (self);
+  g_object_set (self, "rate", rate, NULL);
 }
 
 /**
@@ -3022,62 +3075,13 @@
 gdouble
 gst_player_get_rate (GstPlayer * self)
 {
+  gdouble val;
+
   g_return_val_if_fail (GST_IS_PLAYER (self), DEFAULT_RATE);
 
-  return self->rate;
-}
+  g_object_get (self, "rate", &val, NULL);
 
-static gboolean
-gst_player_set_position_update_interval_internal (gpointer user_data)
-{
-  GstPlayer *self = user_data;
-
-  g_mutex_lock (&self->lock);
-
-  if (self->tick_source) {
-    remove_tick_source (self);
-    add_tick_source (self);
-  }
-
-  g_mutex_unlock (&self->lock);
-
-  return G_SOURCE_REMOVE;
-}
-
-/**
- * gst_player_set_position_update_interval:
- * @player: #GstPlayer instance
- * @interval: interval in ms
- *
- * Set interval in milliseconds between two position-updated signals.
- * Pass 0 to stop updating the position.
- */
-void
-gst_player_set_position_update_interval (GstPlayer * self, guint interval)
-{
-  g_return_if_fail (GST_IS_PLAYER (self));
-  g_return_if_fail (interval <= 10000);
-
-  g_mutex_lock (&self->lock);
-  self->position_update_interval_ms = interval;
-  g_mutex_unlock (&self->lock);
-
-  gst_player_set_position_update_interval_internal (self);
-}
-
-/**
- * gst_player_get_position_update_interval:
- * @player: #GstPlayer instance
- *
- * Returns: current position update interval in milliseconds
- */
-guint
-gst_player_get_position_update_interval (GstPlayer * self)
-{
-  g_return_val_if_fail (GST_IS_PLAYER (self),
-      DEFAULT_POSITION_UPDATE_INTERVAL_MS);
-
-  return self->position_update_interval_ms;
+  return val;
 }
 
 /**
@@ -3174,6 +3178,46 @@
 }
 
 /**
+ * gst_player_set_subtitle_uri:
+ * @player: #GstPlayer instance
+ * @uri: subtitle URI
+ *
+ * Returns: %TRUE or %FALSE
+ *
+ * Sets the external subtitle URI.
+ */
+gboolean
+gst_player_set_subtitle_uri (GstPlayer * self, const gchar * suburi)
+{
+  g_return_val_if_fail (GST_IS_PLAYER (self), FALSE);
+
+  g_object_set (self, "suburi", suburi, NULL);
+
+  return TRUE;
+}
+
+/**
+ * gst_player_get_subtitle_uri:
+ * @player: #GstPlayer instance
+ *
+ * current subtitle URI
+ *
+ * Returns: (transfer full): URI of the current external subtitle.
+ *   g_free() after usage.
+ */
+gchar *
+gst_player_get_subtitle_uri (GstPlayer * self)
+{
+  gchar *val = NULL;
+
+  g_return_val_if_fail (GST_IS_PLAYER (self), NULL);
+
+  g_object_get (self, "suburi", &val, NULL);
+
+  return val;
+}
+
+/**
  * gst_player_get_position:
  * @player: #GstPlayer instance
  *
@@ -3553,46 +3597,6 @@
 }
 
 /**
- * gst_player_set_subtitle_uri:
- * @player: #GstPlayer instance
- * @uri: subtitle URI
- *
- * Returns: %TRUE or %FALSE
- *
- * Sets the external subtitle URI.
- */
-gboolean
-gst_player_set_subtitle_uri (GstPlayer * self, const gchar * suburi)
-{
-  g_return_val_if_fail (GST_IS_PLAYER (self), FALSE);
-
-  g_object_set (self, "suburi", suburi, NULL);
-
-  return TRUE;
-}
-
-/**
- * gst_player_get_subtitle_uri:
- * @player: #GstPlayer instance
- *
- * current subtitle URI
- *
- * Returns: (transfer full): URI of the current external subtitle.
- *   g_free() after usage.
- */
-gchar *
-gst_player_get_subtitle_uri (GstPlayer * self)
-{
-  gchar *val = NULL;
-
-  g_return_val_if_fail (GST_IS_PLAYER (self), NULL);
-
-  g_object_get (self, "suburi", &val, NULL);
-
-  return val;
-}
-
-/**
  * gst_player_set_visualization:
  * @player: #GstPlayer instance
  * @name: visualization element obtained from
@@ -3921,8 +3925,6 @@
  *
  * Sets audio-video-offset property by value of @offset
  *
- * Returns: void
- *
  * Since 1.10
  */
 void
@@ -4061,3 +4063,156 @@
   g_assert_not_reached ();
   return NULL;
 }
+
+/**
+ * gst_player_set_config:
+ * @player: #GstPlayer instance
+ * @config: (transfer full): a #GstStructure
+ *
+ * Set the configuration of the player. If the player is already configured, and
+ * the configuration haven't change, this function will return %TRUE. If the
+ * player is not in the GST_PLAYER_STATE_STOPPED, this method will return %FALSE
+ * and active configuration will remain.
+ *
+ * @config is a #GstStructure that contains the configuration parameters for
+ * the player.
+ *
+ * This function takes ownership of @config.
+ *
+ * Returns: %TRUE when the configuration could be set.
+ * Since 1.10
+ */
+gboolean
+gst_player_set_config (GstPlayer * self, GstStructure * config)
+{
+  g_return_val_if_fail (GST_IS_PLAYER (self), FALSE);
+  g_return_val_if_fail (config != NULL, FALSE);
+
+  g_mutex_lock (&self->lock);
+
+  if (self->app_state != GST_PLAYER_STATE_STOPPED) {
+    GST_INFO_OBJECT (self, "can't change config while player is %s",
+        gst_player_state_get_name (self->app_state));
+    g_mutex_unlock (&self->lock);
+    return FALSE;
+  }
+
+  if (self->config)
+    gst_structure_free (self->config);
+  self->config = config;
+  g_mutex_unlock (&self->lock);
+
+  return TRUE;
+}
+
+/**
+ * gst_player_get_config:
+ * @player: #GstPlayer instance
+ *
+ * Get a copy of the current configuration of the player. This configuration
+ * can either be modified and used for the gst_player_set_config() call
+ * or it must be freed after usage.
+ *
+ * Returns: (transfer full): a copy of the current configuration of @player. Use
+ * gst_structure_free() after usage or gst_player_set_config().
+ *
+ * Since 1.10
+ */
+GstStructure *
+gst_player_get_config (GstPlayer * self)
+{
+  GstStructure *ret;
+
+  g_return_val_if_fail (GST_IS_PLAYER (self), NULL);
+
+  g_mutex_lock (&self->lock);
+  ret = gst_structure_copy (self->config);
+  g_mutex_unlock (&self->lock);
+
+  return ret;
+}
+
+/**
+ * gst_player_config_set_user_agent:
+ * @config: a #GstPlayer configuration
+ * @agent: the string to use as user agent
+ *
+ * Set the user agent to pass to the server if @player needs to connect
+ * to a server during playback. This is typically used when playing HTTP
+ * or RTSP streams.
+ *
+ * Since 1.10
+ */
+void
+gst_player_config_set_user_agent (GstStructure * config, const gchar * agent)
+{
+  g_return_if_fail (config != NULL);
+  g_return_if_fail (agent != NULL);
+
+  gst_structure_id_set (config,
+      CONFIG_QUARK (USER_AGENT), G_TYPE_STRING, agent, NULL);
+}
+
+/**
+ * gst_player_config_get_user_agent:
+ * @config: a #GstPlayer configuration
+ *
+ * Return the user agent which has been configured using
+ * gst_player_config_set_user_agent() if any.
+ *
+ * Returns: (transfer full): the configured agent, or %NULL
+ * Since 1.10
+ */
+gchar *
+gst_player_config_get_user_agent (const GstStructure * config)
+{
+  gchar *agent = NULL;
+
+  g_return_val_if_fail (config != NULL, NULL);
+
+  gst_structure_id_get (config,
+      CONFIG_QUARK (USER_AGENT), G_TYPE_STRING, &agent, NULL);
+
+  return agent;
+}
+
+/**
+ * gst_player_config_set_position_update_interval:
+ * @config: a #GstPlayer configuration
+ * @interval: interval in ms
+ *
+ * set interval in milliseconds between two position-updated signals.
+ * pass 0 to stop updating the position.
+ * Since 1.10
+ */
+void
+gst_player_config_set_position_update_interval (GstStructure * config,
+    guint interval)
+{
+  g_return_if_fail (config != NULL);
+  g_return_if_fail (interval <= 10000);
+
+  gst_structure_id_set (config,
+      CONFIG_QUARK (POSITION_INTERVAL_UPDATE), G_TYPE_UINT, interval, NULL);
+}
+
+/**
+ * gst_player_config_get_position_update_interval:
+ * @config: a #GstPlayer configuration
+ *
+ * Returns: current position update interval in milliseconds
+ *
+ * Since 1.10
+ */
+guint
+gst_player_config_get_position_update_interval (const GstStructure * config)
+{
+  guint interval = DEFAULT_POSITION_UPDATE_INTERVAL_MS;
+
+  g_return_val_if_fail (config != NULL, DEFAULT_POSITION_UPDATE_INTERVAL_MS);
+
+  gst_structure_id_get (config,
+      CONFIG_QUARK (POSITION_INTERVAL_UPDATE), G_TYPE_UINT, &interval, NULL);
+
+  return interval;
+}
diff --git a/gst-libs/gst/player/gstplayer.h b/gst-libs/gst/player/gstplayer.h
index 0ab4233..e51d8c5 100644
--- a/gst-libs/gst/player/gstplayer.h
+++ b/gst-libs/gst/player/gstplayer.h
@@ -118,6 +118,10 @@
 void         gst_player_set_uri                       (GstPlayer    * player,
                                                        const gchar  * uri);
 
+gchar *      gst_player_get_subtitle_uri              (GstPlayer    * player);
+gboolean     gst_player_set_subtitle_uri              (GstPlayer    * player,
+                                                       const gchar *uri);
+
 GstClockTime gst_player_get_position                  (GstPlayer    * player);
 GstClockTime gst_player_get_duration                  (GstPlayer    * player);
 
@@ -160,10 +164,6 @@
 GstPlayerSubtitleInfo * gst_player_get_current_subtitle_track
                                                       (GstPlayer    * player);
 
-gboolean     gst_player_set_subtitle_uri              (GstPlayer    * player,
-                                                       const gchar *uri);
-gchar *      gst_player_get_subtitle_uri              (GstPlayer    * player);
-
 gboolean     gst_player_set_visualization             (GstPlayer    * player,
                                                        const gchar *name);
 
@@ -192,6 +192,20 @@
 void         gst_player_set_audio_video_offset        (GstPlayer    * player,
                                                        gint64 offset);
 
+gboolean       gst_player_set_config                  (GstPlayer * player,
+                                                       GstStructure * config);
+GstStructure * gst_player_get_config                  (GstPlayer * player);
+
+/* helpers for configuring the config structure */
+
+void           gst_player_config_set_user_agent       (GstStructure * config,
+                                                       const gchar * agent);
+gchar *        gst_player_config_get_user_agent       (const GstStructure * config);
+
+void           gst_player_config_set_position_update_interval  (GstStructure * config,
+                                                                guint          interval);
+guint          gst_player_config_get_position_update_interval  (const GstStructure * config);
+
 G_END_DECLS
 
 #endif /* __GST_PLAYER_H__ */
diff --git a/gst-libs/gst/uridownloader/Makefile.in b/gst-libs/gst/uridownloader/Makefile.in
index 320d227..cd272fc 100644
--- a/gst-libs/gst/uridownloader/Makefile.in
+++ b/gst-libs/gst/uridownloader/Makefile.in
@@ -313,6 +313,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -362,6 +364,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/video/Makefile.in b/gst-libs/gst/video/Makefile.in
index 46b029b..8fe794c 100644
--- a/gst-libs/gst/video/Makefile.in
+++ b/gst-libs/gst/video/Makefile.in
@@ -317,6 +317,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -366,6 +368,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-libs/gst/video/gstvideoaggregator.c b/gst-libs/gst/video/gstvideoaggregator.c
index 9046252..cd42d7e 100644
--- a/gst-libs/gst/video/gstvideoaggregator.c
+++ b/gst-libs/gst/video/gstvideoaggregator.c
@@ -133,7 +133,7 @@
   gst_object_unref (vagg);
 }
 
-static gboolean
+static GstFlowReturn
 _flush_pad (GstAggregatorPad * aggpad, GstAggregator * aggregator)
 {
   GstVideoAggregator *vagg = GST_VIDEO_AGGREGATOR (aggregator);
@@ -144,7 +144,7 @@
   pad->priv->start_time = -1;
   pad->priv->end_time = -1;
 
-  return TRUE;
+  return GST_FLOW_OK;
 }
 
 static gboolean
@@ -737,7 +737,8 @@
     GST_DEBUG_OBJECT (vagg, "updating caps from %" GST_PTR_FORMAT,
         downstream_caps);
     GST_DEBUG_OBJECT (vagg, "       with filter %" GST_PTR_FORMAT, peercaps);
-    if (!(caps = vagg_klass->update_caps (vagg, downstream_caps, peercaps))) {
+    if (!(caps = vagg_klass->update_caps (vagg, downstream_caps, peercaps)) ||
+        gst_caps_is_empty (caps)) {
       GST_WARNING_OBJECT (vagg, "Subclass failed to update provided caps");
       gst_caps_unref (downstream_caps);
       if (peercaps)
diff --git a/gst-libs/gst/wayland/Makefile.in b/gst-libs/gst/wayland/Makefile.in
index a657f4c..ce15520 100644
--- a/gst-libs/gst/wayland/Makefile.in
+++ b/gst-libs/gst/wayland/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst-plugins-bad.doap b/gst-plugins-bad.doap
index 97eeb8a..832fc1d 100644
--- a/gst-plugins-bad.doap
+++ b/gst-plugins-bad.doap
@@ -35,6 +35,16 @@
 
  <release>
   <Version>
+   <revision>1.9.2</revision>
+   <branch>master</branch>
+   <name></name>
+   <created>2016-09-01</created>
+   <file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.9.2.tar.xz" />
+  </Version>
+ </release>
+
+ <release>
+  <Version>
    <revision>1.9.1</revision>
    <branch>master</branch>
    <name></name>
diff --git a/gst-plugins-bad.spec b/gst-plugins-bad.spec
index d5b7698..214aa7d 100644
--- a/gst-plugins-bad.spec
+++ b/gst-plugins-bad.spec
@@ -6,7 +6,7 @@
 
 Summary: GStreamer streaming media framework "bad" plug-ins
 Name: %{gstreamer}-plugins-bad
-Version: 1.9.1
+Version: 1.9.2
 Release: 1.gst
 # The freeze and nfs plugins are LGPLv2 (only)
 License: LGPLv2+ and LGPLv2
diff --git a/gst/Makefile.in b/gst/Makefile.in
index c86b66b..4e514fb 100644
--- a/gst/Makefile.in
+++ b/gst/Makefile.in
@@ -304,6 +304,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -353,6 +355,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/accurip/Makefile.in b/gst/accurip/Makefile.in
index 95f90ce..dc25a0e 100644
--- a/gst/accurip/Makefile.in
+++ b/gst/accurip/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/adpcmdec/Makefile.in b/gst/adpcmdec/Makefile.in
index f0eebbb..dbdb94c 100644
--- a/gst/adpcmdec/Makefile.in
+++ b/gst/adpcmdec/Makefile.in
@@ -322,6 +322,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -371,6 +373,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/adpcmenc/Makefile.in b/gst/adpcmenc/Makefile.in
index 2ad407c..010d8f3 100644
--- a/gst/adpcmenc/Makefile.in
+++ b/gst/adpcmenc/Makefile.in
@@ -322,6 +322,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -371,6 +373,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/aiff/Makefile.am b/gst/aiff/Makefile.am
index ebe4230..ee13fcf 100644
--- a/gst/aiff/Makefile.am
+++ b/gst/aiff/Makefile.am
@@ -9,7 +9,7 @@
 	$(GST_BASE_CFLAGS) \
 	$(GST_CFLAGS)
 libgstaiff_la_LIBADD = \
-	$(GST_PLUGINS_BASE_LIBS) -lgsttag-$(GST_API_VERSION) -lgstaudio-$(GST_API_VERSION)\
+	$(GST_PLUGINS_BASE_LIBS) -lgsttag-$(GST_API_VERSION) -lgstaudio-$(GST_API_VERSION) -lgstpbutils-$(GST_API_VERSION) \
 	$(GST_BASE_LIBS) \
 	$(LIBM)
 libgstaiff_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
diff --git a/gst/aiff/Makefile.in b/gst/aiff/Makefile.in
index d59580c..d013cd8 100644
--- a/gst/aiff/Makefile.in
+++ b/gst/aiff/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -792,7 +796,7 @@
 	$(GST_CFLAGS)
 
 libgstaiff_la_LIBADD = \
-	$(GST_PLUGINS_BASE_LIBS) -lgsttag-$(GST_API_VERSION) -lgstaudio-$(GST_API_VERSION)\
+	$(GST_PLUGINS_BASE_LIBS) -lgsttag-$(GST_API_VERSION) -lgstaudio-$(GST_API_VERSION) -lgstpbutils-$(GST_API_VERSION) \
 	$(GST_BASE_LIBS) \
 	$(LIBM)
 
diff --git a/gst/aiff/aiffparse.c b/gst/aiff/aiffparse.c
index 27c8313..faa2647 100644
--- a/gst/aiff/aiffparse.c
+++ b/gst/aiff/aiffparse.c
@@ -59,6 +59,7 @@
 #include "aiffparse.h"
 #include <gst/audio/audio.h>
 #include <gst/tag/tag.h>
+#include <gst/pbutils/descriptions.h>
 #include <gst/gst-i18n-plugin.h>
 
 GST_DEBUG_CATEGORY (aiffparse_debug);
@@ -995,6 +996,32 @@
         aiff->bytes_per_sample = aiff->channels * aiff->width / 8;
         aiff->bps = aiff->bytes_per_sample * aiff->rate;
 
+        if (!aiff->tags)
+          aiff->tags = gst_tag_list_new_empty ();
+
+        {
+          GstCaps *templ_caps = gst_pad_get_pad_template_caps (aiff->sinkpad);
+          gst_pb_utils_add_codec_description_to_tag_list (aiff->tags,
+              GST_TAG_CONTAINER_FORMAT, templ_caps);
+          gst_caps_unref (templ_caps);
+        }
+
+        if (aiff->bps) {
+          guint bitrate = aiff->bps * 8;
+
+          GST_DEBUG_OBJECT (aiff, "adding bitrate of %u bps to tag list",
+              bitrate);
+
+          /* At the moment, aiffparse only supports uncompressed PCM data.
+           * Therefore, nominal, actual, minimum, maximum bitrate are the same.
+           * XXX: If AIFF-C support is extended to include compression,
+           * make sure that aiff->bps is set properly. */
+          gst_tag_list_add (aiff->tags, GST_TAG_MERGE_REPLACE,
+              GST_TAG_BITRATE, bitrate, GST_TAG_NOMINAL_BITRATE, bitrate,
+              GST_TAG_MINIMUM_BITRATE, bitrate, GST_TAG_MAXIMUM_BITRATE,
+              bitrate, NULL);
+        }
+
         if (aiff->bytes_per_sample <= 0)
           goto no_bytes_per_sample;
 
@@ -1500,9 +1527,7 @@
     } else if (ret < GST_FLOW_EOS || ret == GST_FLOW_NOT_LINKED) {
       /* for fatal errors we post an error message, post the error
        * first so the app knows about the error first. */
-      GST_ELEMENT_ERROR (aiff, STREAM, FAILED,
-          (_("Internal data flow error.")),
-          ("streaming task paused, reason %s (%d)", reason, ret));
+      GST_ELEMENT_FLOW_ERROR (aiff, ret);
       gst_pad_push_event (aiff->srcpad, gst_event_new_eos ());
     }
     return;
@@ -1906,6 +1931,15 @@
 
       aiff->start_segment = gst_event_new_segment (&segment);
 
+      /* If the seek is within the same SSND chunk and there is no new
+       * end_offset defined keep the previous end_offset. This will avoid noise
+       * at the end of playback if e.g. a metadata chunk is located at the end
+       * of the file. */
+      if (aiff->end_offset > 0 && offset < aiff->end_offset &&
+          offset >= aiff->datastart && end_offset == -1) {
+        end_offset = aiff->end_offset;
+      }
+
       /* stream leftover data in current segment */
       if (aiff->state == AIFF_PARSE_DATA)
         gst_aiff_parse_flush_data (aiff);
diff --git a/gst/asfmux/Makefile.in b/gst/asfmux/Makefile.in
index b6b100b..adae8ba 100644
--- a/gst/asfmux/Makefile.in
+++ b/gst/asfmux/Makefile.in
@@ -330,6 +330,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -379,6 +381,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/audiofxbad/Makefile.in b/gst/audiofxbad/Makefile.in
index 5972f58..05d0feb 100644
--- a/gst/audiofxbad/Makefile.in
+++ b/gst/audiofxbad/Makefile.in
@@ -324,6 +324,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -373,6 +375,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/audiomixer/Makefile.in b/gst/audiomixer/Makefile.in
index 814cebc..cbe3065 100644
--- a/gst/audiomixer/Makefile.in
+++ b/gst/audiomixer/Makefile.in
@@ -355,6 +355,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -404,6 +406,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/audiovisualizers/Makefile.in b/gst/audiovisualizers/Makefile.in
index 75c29ee..925a461 100644
--- a/gst/audiovisualizers/Makefile.in
+++ b/gst/audiovisualizers/Makefile.in
@@ -333,6 +333,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -382,6 +384,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/autoconvert/Makefile.in b/gst/autoconvert/Makefile.in
index d674bc3..5a56ce6 100644
--- a/gst/autoconvert/Makefile.in
+++ b/gst/autoconvert/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/bayer/Makefile.in b/gst/bayer/Makefile.in
index 547253a..3d1213f 100644
--- a/gst/bayer/Makefile.in
+++ b/gst/bayer/Makefile.in
@@ -351,6 +351,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -400,6 +402,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/bayer/gstbayer2rgb.c b/gst/bayer/gstbayer2rgb.c
index e159ca2..0b6f232 100644
--- a/gst/bayer/gstbayer2rgb.c
+++ b/gst/bayer/gstbayer2rgb.c
@@ -80,7 +80,11 @@
 #include <gst/video/video.h>
 #include <string.h>
 #include <stdlib.h>
-#include <_stdint.h>
+
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
 #include "gstbayerorc.h"
 
 #define GST_CAT_DEFAULT gst_bayer2rgb_debug
diff --git a/gst/camerabin2/Makefile.in b/gst/camerabin2/Makefile.in
index 900fdb2..554a2f5 100644
--- a/gst/camerabin2/Makefile.in
+++ b/gst/camerabin2/Makefile.in
@@ -333,6 +333,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -382,6 +384,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/camerabin2/gstcamerabin2.c b/gst/camerabin2/gstcamerabin2.c
index d0876d5..24bb4fb 100644
--- a/gst/camerabin2/gstcamerabin2.c
+++ b/gst/camerabin2/gstcamerabin2.c
@@ -17,17 +17,16 @@
  * Boston, MA 02110-1301, USA.
  */
 /**
- * SECTION:element-camerabin2
+ * SECTION:element-camerabin
  *
- * CameraBin2 is a high-level camera object that encapsulates gstreamer
+ * CameraBin is a high-level camera object that encapsulates gstreamer
  * elements, providing an API for controlling a digital camera.
  *
  * <note>
- * Note that camerabin2 is still UNSTABLE and under
- * development.
+ * Note that camerabin is still UNSTABLE and under development.
  * </note>
  *
- * CameraBin2 has the following main features:
+ * CameraBin has the following main features:
  * <itemizedlist>
  * <listitem>
  * Record videos
@@ -46,12 +45,12 @@
  * <refsect2>
  * <title>Usage</title>
  * <para>
- * Camerabin2 can be created using gst_element_factory_make() just like
+ * Camerabin can be created using gst_element_factory_make() just like
  * any other element. Video or image capture mode can be selected using
  * the #GstCameraBin:mode property and the file to save the capture is
  * selected using #GstCameraBin:location property.
  *
- * After creating camerabin2, applications might want to do some
+ * After creating camerabin, applications might want to do some
  * customization (there's a section about this below), then select
  * the desired mode and start capturing.
  *
@@ -76,11 +75,11 @@
  * <refsect2>
  * <title>Customization</title>
  * <para>
- * Camerabin2 provides various customization properties, allowing the user
+ * Camerabin provides various customization properties, allowing the user
  * to set custom filters, selecting the viewfinder sink and formats to
  * use to encode the captured images/videos.
  *
- * #GstEncodingProfile<!-- -->s are used to tell camerabin2 which formats it
+ * #GstEncodingProfile<!-- -->s are used to tell camerabin which formats it
  * should encode the captures to, those should be set to
  * #GstCameraBin:image-profile and #GstCameraBin:video-profile. Default is
  * jpeg for images, and ogg (theora and vorbis) for video. If a profile without
@@ -89,7 +88,7 @@
  * #GstCameraBin:preview-caps can be used to select which format preview
  * images should be posted on the #GstBus. It has to be a raw video format.
  *
- * Camerabin2 has a #GstCameraBin:camera-source property so applications can
+ * Camerabin has a #GstCameraBin:camera-source property so applications can
  * set their source that will provide buffers for the viewfinder and for
  * captures. This camera source is a special type of source that has 3 pads.
  * To use a 'regular' source with a single pad you should use
@@ -103,7 +102,7 @@
  * #GstCameraBin:viewfinder-caps, these #GstCaps should be a subset of
  * #GstCameraBin:viewfinder-supported-caps.
  *
- * To select the desired resolution for captures, camerabin2 provides
+ * To select the desired resolution for captures, camerabin provides
  * #GstCameraBin:image-capture-caps and #GstCameraBin:video-capture-caps,
  * these caps must be a subset of what the source can produce. The allowed
  * caps can be probed using #GstCameraBin:image-capture-supported-caps and
@@ -121,8 +120,8 @@
  * <refsect2>
  * <title>Example launch line</title>
  * <para>
- * Unfortunately, camerabin can't be really used from gst-launch-1.0, as you need
- * to send signals to control it. The following pipeline might be able
+ * Unfortunately, camerabin can't be really used from gst-launch-1.0, as you
+ * need to send signals to control it. The following pipeline might be able
  * to show the viewfinder using all the default elements.
  * |[
  * gst-launch-1.0 -v -m camerabin
diff --git a/gst/cdxaparse/Makefile.in b/gst/cdxaparse/Makefile.in
index 34de1a4..ea2cc0c 100644
--- a/gst/cdxaparse/Makefile.in
+++ b/gst/cdxaparse/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/coloreffects/Makefile.in b/gst/coloreffects/Makefile.in
index c637219..5175637 100644
--- a/gst/coloreffects/Makefile.in
+++ b/gst/coloreffects/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/compositor/Makefile.in b/gst/compositor/Makefile.in
index f87fa3d..b3e7666 100644
--- a/gst/compositor/Makefile.in
+++ b/gst/compositor/Makefile.in
@@ -356,6 +356,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -405,6 +407,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/dataurisrc/Makefile.in b/gst/dataurisrc/Makefile.in
index 408eca8..a6635b6 100644
--- a/gst/dataurisrc/Makefile.in
+++ b/gst/dataurisrc/Makefile.in
@@ -322,6 +322,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -371,6 +373,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/dccp/Makefile.in b/gst/dccp/Makefile.in
index f21618b..c3461f1 100644
--- a/gst/dccp/Makefile.in
+++ b/gst/dccp/Makefile.in
@@ -332,6 +332,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -381,6 +383,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/dccp/gstdccp_common.h b/gst/dccp/gstdccp_common.h
index 3851e51..c88f8ef 100644
--- a/gst/dccp/gstdccp_common.h
+++ b/gst/dccp/gstdccp_common.h
@@ -38,9 +38,19 @@
 #define socklen_t int
 #endif
 #endif
+
+#ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
-#include <_stdint.h>
+#endif
+
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
+
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
+#endif
+
 #include <string.h>
 
 #endif /* __GST_DCCP_NET_H__ */
diff --git a/gst/debugutils/Makefile.in b/gst/debugutils/Makefile.in
index 393485f..ca14b4e 100644
--- a/gst/debugutils/Makefile.in
+++ b/gst/debugutils/Makefile.in
@@ -333,6 +333,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -382,6 +384,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/dvbsuboverlay/Makefile.in b/gst/dvbsuboverlay/Makefile.in
index 4cacb4f..71d7354 100644
--- a/gst/dvbsuboverlay/Makefile.in
+++ b/gst/dvbsuboverlay/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/dvdspu/Makefile.in b/gst/dvdspu/Makefile.in
index 458b085..e34728c 100644
--- a/gst/dvdspu/Makefile.in
+++ b/gst/dvdspu/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/dvdspu/gstdvdspu.c b/gst/dvdspu/gstdvdspu.c
index 52d1038..fb21748 100644
--- a/gst/dvdspu/gstdvdspu.c
+++ b/gst/dvdspu/gstdvdspu.c
@@ -664,7 +664,9 @@
 {
   GstVideoFrame frame;
 
-  gst_video_frame_map (&frame, &dvdspu->spu_state.info, buf, GST_MAP_READWRITE);
+  if (!gst_video_frame_map (&frame, &dvdspu->spu_state.info, buf,
+          GST_MAP_READWRITE))
+    return;
 
   switch (dvdspu->spu_input_type) {
     case SPU_INPUT_TYPE_VOBSUB:
diff --git a/gst/faceoverlay/Makefile.in b/gst/faceoverlay/Makefile.in
index 6492262..ddf88dd 100644
--- a/gst/faceoverlay/Makefile.in
+++ b/gst/faceoverlay/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/festival/Makefile.in b/gst/festival/Makefile.in
index 91853f4..49c95ed 100644
--- a/gst/festival/Makefile.in
+++ b/gst/festival/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/fieldanalysis/Makefile.in b/gst/fieldanalysis/Makefile.in
index a480ba9..8f76739 100644
--- a/gst/fieldanalysis/Makefile.in
+++ b/gst/fieldanalysis/Makefile.in
@@ -354,6 +354,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -403,6 +405,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/freeverb/Makefile.in b/gst/freeverb/Makefile.in
index 0ced9c9..2b54f45 100644
--- a/gst/freeverb/Makefile.in
+++ b/gst/freeverb/Makefile.in
@@ -328,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/frei0r/Makefile.in b/gst/frei0r/Makefile.in
index ce3fd52..606a7c7 100644
--- a/gst/frei0r/Makefile.in
+++ b/gst/frei0r/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/gaudieffects/Makefile.in b/gst/gaudieffects/Makefile.in
index 63f754d..f9c07c9 100644
--- a/gst/gaudieffects/Makefile.in
+++ b/gst/gaudieffects/Makefile.in
@@ -360,6 +360,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -409,6 +411,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/gaudieffects/gstchromium.h b/gst/gaudieffects/gstchromium.h
index 4d54e2a..8c3b4a0 100644
--- a/gst/gaudieffects/gstchromium.h
+++ b/gst/gaudieffects/gstchromium.h
@@ -62,10 +62,10 @@
 #define GST_IS_CHROMIUM_CLASS(klass) \
   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_CHROMIUM))
 
-typedef struct GstChromium      GstChromium;
-typedef struct GstChromiumClass GstChromiumClass;
+typedef struct _GstChromium      GstChromium;
+typedef struct _GstChromiumClass GstChromiumClass;
 
-struct GstChromium
+struct _GstChromium
 {
   GstVideoFilter videofilter;
 
@@ -73,7 +73,7 @@
   gint edge_a, edge_b;
 };
 
-struct GstChromiumClass
+struct _GstChromiumClass
 {
   GstVideoFilterClass parent_class;
 };
diff --git a/gst/gaudieffects/gstgaussblur.h b/gst/gaudieffects/gstgaussblur.h
index 84688b9..33cbb02 100644
--- a/gst/gaudieffects/gstgaussblur.h
+++ b/gst/gaudieffects/gstgaussblur.h
@@ -58,10 +58,10 @@
 #define GST_GAUSSIANBLUR(obj) \
     (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GAUSSIANBLUR, GstGaussianBlur))
 
-typedef struct GstGaussianBlur GstGaussianBlur;
-typedef struct GstGaussianBlurClass GstGaussianBlurClass;
+typedef struct _GstGaussianBlur GstGaussianBlur;
+typedef struct _GstGaussianBlurClass GstGaussianBlurClass;
 
-struct GstGaussianBlur
+struct _GstGaussianBlur
 {
   GstVideoFilter videofilter;
   gint width, height, stride;
@@ -75,7 +75,7 @@
   gint16 *smoothedim;
 };
 
-struct GstGaussianBlurClass
+struct _GstGaussianBlurClass
 {
   GstVideoFilterClass parent_class;
 };
diff --git a/gst/gdp/Makefile.in b/gst/gdp/Makefile.in
index aa131e5..a5d24b2 100644
--- a/gst/gdp/Makefile.in
+++ b/gst/gdp/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/geometrictransform/Makefile.in b/gst/geometrictransform/Makefile.in
index bb8458b..f5186b5 100644
--- a/gst/geometrictransform/Makefile.in
+++ b/gst/geometrictransform/Makefile.in
@@ -348,6 +348,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -397,6 +399,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/hdvparse/Makefile.in b/gst/hdvparse/Makefile.in
index eb329f1..429a566 100644
--- a/gst/hdvparse/Makefile.in
+++ b/gst/hdvparse/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/id3tag/Makefile.in b/gst/id3tag/Makefile.in
index 163fb43..d26a95d 100644
--- a/gst/id3tag/Makefile.in
+++ b/gst/id3tag/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/inter/Makefile.in b/gst/inter/Makefile.in
index f8db455..65f9478 100644
--- a/gst/inter/Makefile.in
+++ b/gst/inter/Makefile.in
@@ -342,6 +342,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -391,6 +393,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/interlace/Makefile.in b/gst/interlace/Makefile.in
index f53c3a6..e4b2770 100644
--- a/gst/interlace/Makefile.in
+++ b/gst/interlace/Makefile.in
@@ -322,6 +322,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -371,6 +373,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/ivfparse/Makefile.in b/gst/ivfparse/Makefile.in
index 77c0f8d..c063c19 100644
--- a/gst/ivfparse/Makefile.in
+++ b/gst/ivfparse/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/ivtc/Makefile.in b/gst/ivtc/Makefile.in
index 722b535..6daaafa 100644
--- a/gst/ivtc/Makefile.in
+++ b/gst/ivtc/Makefile.in
@@ -323,6 +323,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -372,6 +374,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/jp2kdecimator/Makefile.in b/gst/jp2kdecimator/Makefile.in
index d64158e..7c04639 100644
--- a/gst/jp2kdecimator/Makefile.in
+++ b/gst/jp2kdecimator/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/jpegformat/Makefile.in b/gst/jpegformat/Makefile.in
index cb7b85d..852b83e 100644
--- a/gst/jpegformat/Makefile.in
+++ b/gst/jpegformat/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/librfb/Makefile.in b/gst/librfb/Makefile.in
index ecbbf43..da90a30 100644
--- a/gst/librfb/Makefile.in
+++ b/gst/librfb/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/librfb/d3des.c b/gst/librfb/d3des.c
index c05fea3..377670e 100644
--- a/gst/librfb/d3des.c
+++ b/gst/librfb/d3des.c
@@ -26,8 +26,13 @@
  * (GEnie : OUTER; CIS : [71755,204]) Graven Imagery, 1992.
  */
 
+#ifdef HAVE_CONFIG_H
 #include "config.h"
-#include "_stdint.h"
+#endif
+
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
 
 #include "d3des.h"
 
diff --git a/gst/midi/Makefile.in b/gst/midi/Makefile.in
index 1199978..c875eb6 100644
--- a/gst/midi/Makefile.in
+++ b/gst/midi/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/midi/midiparse.c b/gst/midi/midiparse.c
index d52539b..d58ea3f 100644
--- a/gst/midi/midiparse.c
+++ b/gst/midi/midiparse.c
@@ -1282,9 +1282,7 @@
       event = gst_event_new_eos ();
       /* for fatal errors we post an error message, post the error
        * first so the app knows about the error first. */
-      GST_ELEMENT_ERROR (midiparse, STREAM, FAILED,
-          ("Internal data flow error."),
-          ("streaming task paused, reason %s (%d)", reason, ret));
+      GST_ELEMENT_FLOW_ERROR (midiparse, ret);
       gst_pad_push_event (midiparse->srcpad, event);
     }
   }
diff --git a/gst/mpegdemux/Makefile.in b/gst/mpegdemux/Makefile.in
index a7b6e29..99a9319 100644
--- a/gst/mpegdemux/Makefile.in
+++ b/gst/mpegdemux/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/mpegdemux/gstmpegdemux.c b/gst/mpegdemux/gstmpegdemux.c
index 68985b2..b608db8 100644
--- a/gst/mpegdemux/gstmpegdemux.c
+++ b/gst/mpegdemux/gstmpegdemux.c
@@ -3005,9 +3005,7 @@
         }
       }
     } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_EOS) {
-      GST_ELEMENT_ERROR (demux, STREAM, FAILED,
-          ("Internal data stream error."),
-          ("stream stopped, reason %s", reason));
+      GST_ELEMENT_FLOW_ERROR (demux, ret);
       gst_ps_demux_send_event (demux, gst_event_new_eos ());
     }
 
diff --git a/gst/mpegpsmux/Makefile.in b/gst/mpegpsmux/Makefile.in
index ae79453..329e2d8 100644
--- a/gst/mpegpsmux/Makefile.in
+++ b/gst/mpegpsmux/Makefile.in
@@ -328,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/mpegtsdemux/Makefile.in b/gst/mpegtsdemux/Makefile.in
index 05b1780..d31ac11 100644
--- a/gst/mpegtsdemux/Makefile.in
+++ b/gst/mpegtsdemux/Makefile.in
@@ -333,6 +333,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -382,6 +384,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/mpegtsdemux/gstmpegdefs.h b/gst/mpegtsdemux/gstmpegdefs.h
index e179f7d..5947d71 100644
--- a/gst/mpegtsdemux/gstmpegdefs.h
+++ b/gst/mpegtsdemux/gstmpegdefs.h
@@ -48,6 +48,7 @@
 /* private stream types */
 #define ST_PS_VIDEO_MPEG2_DCII          0x80
 #define ST_PS_AUDIO_AC3                 0x81
+#define ST_PS_AUDIO_LPCM2               0x83
 #define ST_PS_AUDIO_DTS                 0x8a
 #define ST_PS_AUDIO_LPCM                0x8b
 #define ST_PS_DVD_SUBPICTURE            0xff
diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c
index 481695a..e736f9b 100644
--- a/gst/mpegtsdemux/mpegtsbase.c
+++ b/gst/mpegtsdemux/mpegtsbase.c
@@ -1326,7 +1326,7 @@
   mpegts_packetizer_clear (base->packetizer);
   GST_WARNING_OBJECT (base, "Couldn't find any PCR within the first %d bytes",
       10 * 65536);
-  return GST_FLOW_ERROR;
+  return GST_FLOW_OK;
 }
 
 
@@ -1382,9 +1382,7 @@
             (_("Internal data stream error.")),
             ("No program activated before EOS"));
     } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_EOS) {
-      GST_ELEMENT_ERROR (base, STREAM, FAILED,
-          (_("Internal data stream error.")),
-          ("stream stopped, reason %s", reason));
+      GST_ELEMENT_FLOW_ERROR (base, ret);
       GST_MPEGTS_BASE_GET_CLASS (base)->push_event (base, gst_event_new_eos ());
     }
     gst_pad_pause_task (base->sinkpad);
diff --git a/gst/mpegtsdemux/mpegtspacketizer.c b/gst/mpegtsdemux/mpegtspacketizer.c
index a7e0798..16fb8ff 100644
--- a/gst/mpegtsdemux/mpegtspacketizer.c
+++ b/gst/mpegtsdemux/mpegtspacketizer.c
@@ -557,6 +557,7 @@
 mpegts_packetizer_clear (MpegTSPacketizer2 * packetizer)
 {
   guint i;
+  MpegTSPCR *pcrtable;
 
   packetizer->packet_size = 0;
 
@@ -579,6 +580,10 @@
   packetizer->map_offset = 0;
   packetizer->last_in_time = GST_CLOCK_TIME_NONE;
 
+  pcrtable = packetizer->observations[packetizer->pcrtablelut[0x1fff]];
+  if (pcrtable)
+    pcrtable->base_time = GST_CLOCK_TIME_NONE;
+
   /* Close current PCR group */
   PACKETIZER_GROUP_LOCK (packetizer);
 
@@ -595,6 +600,7 @@
 mpegts_packetizer_flush (MpegTSPacketizer2 * packetizer, gboolean hard)
 {
   guint i;
+  MpegTSPCR *pcrtable;
   GST_DEBUG ("Flushing");
 
   if (packetizer->streams) {
@@ -614,6 +620,10 @@
   packetizer->map_offset = 0;
   packetizer->last_in_time = GST_CLOCK_TIME_NONE;
 
+  pcrtable = packetizer->observations[packetizer->pcrtablelut[0x1fff]];
+  if (pcrtable)
+    pcrtable->base_time = GST_CLOCK_TIME_NONE;
+
   /* Close current PCR group */
   PACKETIZER_GROUP_LOCK (packetizer);
   for (i = 0; i < MAX_PCR_OBS_CHANNELS; i++) {
@@ -2189,6 +2199,12 @@
   PACKETIZER_GROUP_LOCK (packetizer);
   pcrtable = get_pcr_table (packetizer, pcr_pid);
 
+  if (!GST_CLOCK_TIME_IS_VALID (pcrtable->base_time) && pcr_pid == 0x1fff &&
+      GST_CLOCK_TIME_IS_VALID (packetizer->last_in_time)) {
+    pcrtable->base_time = packetizer->last_in_time;
+    pcrtable->base_pcrtime = pts;
+  }
+
   /* Use clock skew if present */
   if (packetizer->calculate_skew
       && GST_CLOCK_TIME_IS_VALID (pcrtable->base_time)) {
@@ -2206,7 +2222,8 @@
      * That being said, this will only happen for the small interval of time
      * where PTS/DTS are wrapping just before we see the first reset/wrap PCR
      */
-    if (G_UNLIKELY (ABSDIFF (res, pcrtable->last_pcrtime) > 15 * GST_SECOND))
+    if (G_UNLIKELY (pcr_pid != 0x1fff &&
+            ABSDIFF (res, pcrtable->last_pcrtime) > 15 * GST_SECOND))
       res = GST_CLOCK_TIME_NONE;
     else {
       GstClockTime tmp = pcrtable->base_time + pcrtable->skew;
diff --git a/gst/mpegtsdemux/tsdemux.c b/gst/mpegtsdemux/tsdemux.c
index 91d3776..7a396cd 100644
--- a/gst/mpegtsdemux/tsdemux.c
+++ b/gst/mpegtsdemux/tsdemux.c
@@ -305,7 +305,8 @@
     GValue * value, GParamSpec * pspec);
 static void gst_ts_demux_flush_streams (GstTSDemux * tsdemux, gboolean hard);
 static GstFlowReturn
-gst_ts_demux_push_pending_data (GstTSDemux * demux, TSDemuxStream * stream);
+gst_ts_demux_push_pending_data (GstTSDemux * demux, TSDemuxStream * stream,
+    MpegTSBaseProgram * program);
 static void gst_ts_demux_stream_flush (TSDemuxStream * stream,
     GstTSDemux * demux, gboolean hard);
 
@@ -972,7 +973,7 @@
       /* If we are pushing out EOS, flush out pending data first */
       if (GST_EVENT_TYPE (event) == GST_EVENT_EOS &&
           gst_pad_is_active (stream->pad))
-        gst_ts_demux_push_pending_data (demux, stream);
+        gst_ts_demux_push_pending_data (demux, stream, NULL);
 
       gst_event_ref (event);
       gst_pad_push_event (stream->pad, event);
@@ -1505,6 +1506,10 @@
       is_audio = TRUE;
       caps = gst_caps_new_empty_simple ("audio/x-ac3");
       break;
+    case ST_PS_AUDIO_LPCM2:
+      is_audio = TRUE;
+      caps = gst_caps_new_empty_simple ("audio/x-private2-lpcm");
+      break;
     case ST_PS_AUDIO_DTS:
       is_audio = TRUE;
       caps = gst_caps_new_empty_simple ("audio/x-dts");
@@ -1647,6 +1652,8 @@
     stream->nb_out_buffers = 0;
     stream->gap_ref_buffers = 0;
     stream->gap_ref_pts = GST_CLOCK_TIME_NONE;
+    /* Only wait for a valid timestamp if we have a PCR_PID */
+    stream->pending_ts = program->pcr_pid < 0x1fff;
     stream->continuity_counter = CONTINUITY_UNSET;
   }
 }
@@ -1677,7 +1684,7 @@
       if (gst_pad_is_active (stream->pad)) {
         /* Flush out all data */
         GST_DEBUG_OBJECT (stream->pad, "Flushing out pending data");
-        gst_ts_demux_push_pending_data ((GstTSDemux *) base, stream);
+        gst_ts_demux_push_pending_data ((GstTSDemux *) base, stream, NULL);
 
         GST_DEBUG_OBJECT (stream->pad, "Pushing out EOS");
         gst_pad_push_event (stream->pad, gst_event_new_eos ());
@@ -1825,7 +1832,8 @@
       for (tmp = demux->previous_program->stream_list; tmp; tmp = tmp->next) {
         TSDemuxStream *stream = (TSDemuxStream *) tmp->data;
         if (stream->pad)
-          gst_ts_demux_push_pending_data (demux, stream);
+          gst_ts_demux_push_pending_data (demux, stream,
+              demux->previous_program);
       }
     }
 
@@ -2225,7 +2233,8 @@
 }
 
 static void
-calculate_and_push_newsegment (GstTSDemux * demux, TSDemuxStream * stream)
+calculate_and_push_newsegment (GstTSDemux * demux, TSDemuxStream * stream,
+    MpegTSBaseProgram * target_program)
 {
   MpegTSBase *base = (MpegTSBase *) demux;
   GstClockTime lowest_pts = GST_CLOCK_TIME_NONE;
@@ -2234,12 +2243,15 @@
 
   GST_DEBUG ("Creating new newsegment for stream %p", stream);
 
+  if (target_program == NULL)
+    target_program = demux->program;
+
   /* Speedup : if we don't need to calculate anything, go straight to pushing */
   if (demux->segment_event)
     goto push_new_segment;
 
   /* Calculate the 'new_start' value, used for newsegment */
-  for (tmp = demux->program->stream_list; tmp; tmp = tmp->next) {
+  for (tmp = target_program->stream_list; tmp; tmp = tmp->next) {
     TSDemuxStream *pstream = (TSDemuxStream *) tmp->data;
 
     if (GST_CLOCK_TIME_IS_VALID (pstream->first_pts)) {
@@ -2288,7 +2300,7 @@
   }
 
 push_new_segment:
-  for (tmp = demux->program->stream_list; tmp; tmp = tmp->next) {
+  for (tmp = target_program->stream_list; tmp; tmp = tmp->next) {
     stream = (TSDemuxStream *) tmp->data;
     if (stream->pad == NULL)
       continue;
@@ -2363,7 +2375,7 @@
           "Stream needs update. Pushing GAP event to TS %" GST_TIME_FORMAT,
           GST_TIME_ARGS (time));
       if (G_UNLIKELY (ps->need_newsegment))
-        calculate_and_push_newsegment (demux, ps);
+        calculate_and_push_newsegment (demux, ps, NULL);
 
       /* Now send gap event */
       gst_pad_push_event (ps->pad, gst_event_new_gap (time, 0));
@@ -2471,13 +2483,15 @@
 }
 
 static GstFlowReturn
-gst_ts_demux_push_pending_data (GstTSDemux * demux, TSDemuxStream * stream)
+gst_ts_demux_push_pending_data (GstTSDemux * demux, TSDemuxStream * stream,
+    MpegTSBaseProgram * target_program)
 {
   GstFlowReturn res = GST_FLOW_OK;
   MpegTSBaseStream *bs = (MpegTSBaseStream *) stream;
   GstBuffer *buffer = NULL;
   GstBufferList *buffer_list = NULL;
 
+
   GST_DEBUG_OBJECT (stream->pad,
       "stream:%p, pid:0x%04x stream_type:%d state:%d", stream, bs->pid,
       bs->stream_type, stream->state);
@@ -2591,7 +2605,7 @@
   }
 
   if (G_UNLIKELY (stream->need_newsegment))
-    calculate_and_push_newsegment (demux, stream);
+    calculate_and_push_newsegment (demux, stream, target_program);
 
   /* FIXME : Push pending buffers if any */
   if (G_UNLIKELY (stream->pending)) {
@@ -2685,13 +2699,19 @@
      * hit this will trigger a gap check */
     if (G_UNLIKELY (stream->pts != GST_CLOCK_TIME_NONE &&
             stream->pts > stream->gap_ref_pts + 2 * GST_SECOND)) {
-      GstClockTime curpcr =
-          mpegts_packetizer_get_current_time (MPEG_TS_BASE_PACKETIZER (demux),
-          demux->program->pcr_pid);
-      if (curpcr == GST_CLOCK_TIME_NONE || curpcr < 800 * GST_MSECOND)
-        goto beach;
-      curpcr -= 800 * GST_MSECOND;
-      gst_ts_demux_check_and_sync_streams (demux, curpcr);
+      if (demux->program->pcr_pid != 0x1fff) {
+        GstClockTime curpcr =
+            mpegts_packetizer_get_current_time (MPEG_TS_BASE_PACKETIZER (demux),
+            demux->program->pcr_pid);
+        if (curpcr == GST_CLOCK_TIME_NONE || curpcr < 800 * GST_MSECOND)
+          goto beach;
+        curpcr -= 800 * GST_MSECOND;
+        /* Use the current PCR (with a safety margin) to sync against */
+        gst_ts_demux_check_and_sync_streams (demux, curpcr);
+      } else {
+        /* If we don't have a PCR track, just use the current stream PTS */
+        gst_ts_demux_check_and_sync_streams (demux, stream->pts);
+      }
     }
   }
 
@@ -2719,7 +2739,7 @@
   if (G_UNLIKELY (packet->payload_unit_start_indicator) &&
       FLAGS_HAS_PAYLOAD (packet->scram_afc_cc))
     /* Flush previous data */
-    res = gst_ts_demux_push_pending_data (demux, stream);
+    res = gst_ts_demux_push_pending_data (demux, stream, NULL);
 
   if (packet->payload && (res == GST_FLOW_OK || res == GST_FLOW_NOT_LINKED)
       && stream->pad) {
@@ -2729,7 +2749,7 @@
     /* Finally check if the data we queued completes a packet */
     if (stream->expected_size && stream->current_size == stream->expected_size) {
       GST_LOG ("pushing complete packet");
-      res = gst_ts_demux_push_pending_data (demux, stream);
+      res = gst_ts_demux_push_pending_data (demux, stream, NULL);
     }
   }
 
@@ -2777,7 +2797,7 @@
   for (tmp = demux->program->stream_list; tmp; tmp = tmp->next) {
     TSDemuxStream *stream = (TSDemuxStream *) tmp->data;
     if (stream->pad) {
-      res = gst_ts_demux_push_pending_data (demux, stream);
+      res = gst_ts_demux_push_pending_data (demux, stream, NULL);
       if (G_UNLIKELY (res != GST_FLOW_OK))
         break;
     }
diff --git a/gst/mpegtsmux/Makefile.in b/gst/mpegtsmux/Makefile.in
index 4b0a2ef..f426a2b 100644
--- a/gst/mpegtsmux/Makefile.in
+++ b/gst/mpegtsmux/Makefile.in
@@ -372,6 +372,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -421,6 +423,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/mpegtsmux/tsmux/Makefile.in b/gst/mpegtsmux/tsmux/Makefile.in
index 92b64e0..4ceb024 100644
--- a/gst/mpegtsmux/tsmux/Makefile.in
+++ b/gst/mpegtsmux/tsmux/Makefile.in
@@ -297,6 +297,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -346,6 +348,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/mve/Makefile.in b/gst/mve/Makefile.in
index ed8cafb..9d6fc66 100644
--- a/gst/mve/Makefile.in
+++ b/gst/mve/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/mxf/Makefile.in b/gst/mxf/Makefile.in
index 78cec92..a971f53 100644
--- a/gst/mxf/Makefile.in
+++ b/gst/mxf/Makefile.in
@@ -334,6 +334,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -383,6 +385,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/mxf/mxfdemux.c b/gst/mxf/mxfdemux.c
index ca09cc7..823b1b6 100644
--- a/gst/mxf/mxfdemux.c
+++ b/gst/mxf/mxfdemux.c
@@ -3098,9 +3098,7 @@
     } else if (flow == GST_FLOW_NOT_LINKED || flow < GST_FLOW_EOS) {
       GstEvent *e;
 
-      GST_ELEMENT_ERROR (demux, STREAM, FAILED,
-          ("Internal data stream error."),
-          ("stream stopped, reason %s", reason));
+      GST_ELEMENT_FLOW_ERROR (demux, flow);
       e = gst_event_new_eos ();
       gst_event_set_seqnum (e, demux->seqnum);
       gst_mxf_demux_push_src_event (demux, e);
diff --git a/gst/netsim/Makefile.in b/gst/netsim/Makefile.in
index 70a2f75..22b3865 100644
--- a/gst/netsim/Makefile.in
+++ b/gst/netsim/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/nuvdemux/Makefile.in b/gst/nuvdemux/Makefile.in
index f270c92..3fab7dc 100644
--- a/gst/nuvdemux/Makefile.in
+++ b/gst/nuvdemux/Makefile.in
@@ -324,6 +324,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -373,6 +375,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/nuvdemux/gstnuvdemux.c b/gst/nuvdemux/gstnuvdemux.c
index b98d35d..88968f0 100644
--- a/gst/nuvdemux/gstnuvdemux.c
+++ b/gst/nuvdemux/gstnuvdemux.c
@@ -729,9 +729,7 @@
   if (res == GST_FLOW_UNEXPECTED) {
     gst_nuv_demux_send_eos (nuv);
   } else if (res == GST_FLOW_NOT_LINKED || res < GST_FLOW_UNEXPECTED) {
-    GST_ELEMENT_ERROR (nuv, STREAM, FAILED,
-        (_("Internal data stream error.")),
-        ("streaming stopped, reason %s", gst_flow_get_name (res)));
+    GST_ELEMENT_FLOW_ERROR (nuv, res);
 
     gst_nuv_demux_send_eos (nuv);
   }
diff --git a/gst/onvif/Makefile.in b/gst/onvif/Makefile.in
index b4fa711..9985535 100644
--- a/gst/onvif/Makefile.in
+++ b/gst/onvif/Makefile.in
@@ -324,6 +324,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -373,6 +375,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/patchdetect/Makefile.in b/gst/patchdetect/Makefile.in
index 1c72039..ce7bf67 100644
--- a/gst/patchdetect/Makefile.in
+++ b/gst/patchdetect/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/pcapparse/Makefile.in b/gst/pcapparse/Makefile.in
index 466349b..00bea88 100644
--- a/gst/pcapparse/Makefile.in
+++ b/gst/pcapparse/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/pnm/Makefile.in b/gst/pnm/Makefile.in
index db106aa..01c71c2 100644
--- a/gst/pnm/Makefile.in
+++ b/gst/pnm/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/rawparse/Makefile.am b/gst/rawparse/Makefile.am
index 3bd8438..623dc94 100644
--- a/gst/rawparse/Makefile.am
+++ b/gst/rawparse/Makefile.am
@@ -2,10 +2,13 @@
 plugin_LTLIBRARIES = libgstrawparse.la
 
 libgstrawparse_la_SOURCES = \
-	gstrawparse.c \
 	gstunalignedaudioparse.c \
+	gstunalignedvideoparse.c \
 	gstaudioparse.c \
 	gstvideoparse.c \
+	gstrawbaseparse.c \
+	gstrawaudioparse.c \
+	gstrawvideoparse.c \
 	plugin.c
 libgstrawparse_la_CFLAGS = \
 		$(GST_PLUGINS_BASE_CFLAGS) \
@@ -21,7 +24,11 @@
 
 noinst_HEADERS = \
 	unalignedaudio.h \
+	unalignedvideo.h \
 	gstunalignedaudioparse.h \
+	gstunalignedvideoparse.h \
 	gstaudioparse.h \
-	gstrawparse.h \
-	gstvideoparse.h
+	gstvideoparse.h \
+	gstrawbaseparse.h \
+	gstrawaudioparse.h \
+	gstrawvideoparse.h
diff --git a/gst/rawparse/Makefile.in b/gst/rawparse/Makefile.in
index 1883e2a..a49d9b4 100644
--- a/gst/rawparse/Makefile.in
+++ b/gst/rawparse/Makefile.in
@@ -165,10 +165,15 @@
 am__DEPENDENCIES_1 =
 libgstrawparse_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am_libgstrawparse_la_OBJECTS = libgstrawparse_la-gstrawparse.lo \
+am_libgstrawparse_la_OBJECTS =  \
 	libgstrawparse_la-gstunalignedaudioparse.lo \
+	libgstrawparse_la-gstunalignedvideoparse.lo \
 	libgstrawparse_la-gstaudioparse.lo \
-	libgstrawparse_la-gstvideoparse.lo libgstrawparse_la-plugin.lo
+	libgstrawparse_la-gstvideoparse.lo \
+	libgstrawparse_la-gstrawbaseparse.lo \
+	libgstrawparse_la-gstrawaudioparse.lo \
+	libgstrawparse_la-gstrawvideoparse.lo \
+	libgstrawparse_la-plugin.lo
 libgstrawparse_la_OBJECTS = $(am_libgstrawparse_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -328,6 +333,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +384,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -786,10 +795,13 @@
 wayland_scanner = @wayland_scanner@
 plugin_LTLIBRARIES = libgstrawparse.la
 libgstrawparse_la_SOURCES = \
-	gstrawparse.c \
 	gstunalignedaudioparse.c \
+	gstunalignedvideoparse.c \
 	gstaudioparse.c \
 	gstvideoparse.c \
+	gstrawbaseparse.c \
+	gstrawaudioparse.c \
+	gstrawvideoparse.c \
 	plugin.c
 
 libgstrawparse_la_CFLAGS = \
@@ -807,10 +819,14 @@
 libgstrawparse_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
 noinst_HEADERS = \
 	unalignedaudio.h \
+	unalignedvideo.h \
 	gstunalignedaudioparse.h \
+	gstunalignedvideoparse.h \
 	gstaudioparse.h \
-	gstrawparse.h \
-	gstvideoparse.h
+	gstvideoparse.h \
+	gstrawbaseparse.h \
+	gstrawaudioparse.h \
+	gstrawvideoparse.h
 
 all: all-am
 
@@ -891,8 +907,11 @@
 	-rm -f *.tab.c
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrawparse_la-gstaudioparse.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrawparse_la-gstrawparse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrawparse_la-gstrawaudioparse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrawparse_la-gstrawbaseparse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrawparse_la-gstrawvideoparse.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrawparse_la-gstunalignedaudioparse.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrawparse_la-gstunalignedvideoparse.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrawparse_la-gstvideoparse.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstrawparse_la-plugin.Plo@am__quote@
 
@@ -920,13 +939,6 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
-libgstrawparse_la-gstrawparse.lo: gstrawparse.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -MT libgstrawparse_la-gstrawparse.lo -MD -MP -MF $(DEPDIR)/libgstrawparse_la-gstrawparse.Tpo -c -o libgstrawparse_la-gstrawparse.lo `test -f 'gstrawparse.c' || echo '$(srcdir)/'`gstrawparse.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstrawparse_la-gstrawparse.Tpo $(DEPDIR)/libgstrawparse_la-gstrawparse.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstrawparse.c' object='libgstrawparse_la-gstrawparse.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 $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -c -o libgstrawparse_la-gstrawparse.lo `test -f 'gstrawparse.c' || echo '$(srcdir)/'`gstrawparse.c
-
 libgstrawparse_la-gstunalignedaudioparse.lo: gstunalignedaudioparse.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -MT libgstrawparse_la-gstunalignedaudioparse.lo -MD -MP -MF $(DEPDIR)/libgstrawparse_la-gstunalignedaudioparse.Tpo -c -o libgstrawparse_la-gstunalignedaudioparse.lo `test -f 'gstunalignedaudioparse.c' || echo '$(srcdir)/'`gstunalignedaudioparse.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstrawparse_la-gstunalignedaudioparse.Tpo $(DEPDIR)/libgstrawparse_la-gstunalignedaudioparse.Plo
@@ -934,6 +946,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 $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -c -o libgstrawparse_la-gstunalignedaudioparse.lo `test -f 'gstunalignedaudioparse.c' || echo '$(srcdir)/'`gstunalignedaudioparse.c
 
+libgstrawparse_la-gstunalignedvideoparse.lo: gstunalignedvideoparse.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -MT libgstrawparse_la-gstunalignedvideoparse.lo -MD -MP -MF $(DEPDIR)/libgstrawparse_la-gstunalignedvideoparse.Tpo -c -o libgstrawparse_la-gstunalignedvideoparse.lo `test -f 'gstunalignedvideoparse.c' || echo '$(srcdir)/'`gstunalignedvideoparse.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstrawparse_la-gstunalignedvideoparse.Tpo $(DEPDIR)/libgstrawparse_la-gstunalignedvideoparse.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstunalignedvideoparse.c' object='libgstrawparse_la-gstunalignedvideoparse.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 $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -c -o libgstrawparse_la-gstunalignedvideoparse.lo `test -f 'gstunalignedvideoparse.c' || echo '$(srcdir)/'`gstunalignedvideoparse.c
+
 libgstrawparse_la-gstaudioparse.lo: gstaudioparse.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -MT libgstrawparse_la-gstaudioparse.lo -MD -MP -MF $(DEPDIR)/libgstrawparse_la-gstaudioparse.Tpo -c -o libgstrawparse_la-gstaudioparse.lo `test -f 'gstaudioparse.c' || echo '$(srcdir)/'`gstaudioparse.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstrawparse_la-gstaudioparse.Tpo $(DEPDIR)/libgstrawparse_la-gstaudioparse.Plo
@@ -948,6 +967,27 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -c -o libgstrawparse_la-gstvideoparse.lo `test -f 'gstvideoparse.c' || echo '$(srcdir)/'`gstvideoparse.c
 
+libgstrawparse_la-gstrawbaseparse.lo: gstrawbaseparse.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -MT libgstrawparse_la-gstrawbaseparse.lo -MD -MP -MF $(DEPDIR)/libgstrawparse_la-gstrawbaseparse.Tpo -c -o libgstrawparse_la-gstrawbaseparse.lo `test -f 'gstrawbaseparse.c' || echo '$(srcdir)/'`gstrawbaseparse.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstrawparse_la-gstrawbaseparse.Tpo $(DEPDIR)/libgstrawparse_la-gstrawbaseparse.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstrawbaseparse.c' object='libgstrawparse_la-gstrawbaseparse.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 $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -c -o libgstrawparse_la-gstrawbaseparse.lo `test -f 'gstrawbaseparse.c' || echo '$(srcdir)/'`gstrawbaseparse.c
+
+libgstrawparse_la-gstrawaudioparse.lo: gstrawaudioparse.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -MT libgstrawparse_la-gstrawaudioparse.lo -MD -MP -MF $(DEPDIR)/libgstrawparse_la-gstrawaudioparse.Tpo -c -o libgstrawparse_la-gstrawaudioparse.lo `test -f 'gstrawaudioparse.c' || echo '$(srcdir)/'`gstrawaudioparse.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstrawparse_la-gstrawaudioparse.Tpo $(DEPDIR)/libgstrawparse_la-gstrawaudioparse.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstrawaudioparse.c' object='libgstrawparse_la-gstrawaudioparse.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 $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -c -o libgstrawparse_la-gstrawaudioparse.lo `test -f 'gstrawaudioparse.c' || echo '$(srcdir)/'`gstrawaudioparse.c
+
+libgstrawparse_la-gstrawvideoparse.lo: gstrawvideoparse.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -MT libgstrawparse_la-gstrawvideoparse.lo -MD -MP -MF $(DEPDIR)/libgstrawparse_la-gstrawvideoparse.Tpo -c -o libgstrawparse_la-gstrawvideoparse.lo `test -f 'gstrawvideoparse.c' || echo '$(srcdir)/'`gstrawvideoparse.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstrawparse_la-gstrawvideoparse.Tpo $(DEPDIR)/libgstrawparse_la-gstrawvideoparse.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstrawvideoparse.c' object='libgstrawparse_la-gstrawvideoparse.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 $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -c -o libgstrawparse_la-gstrawvideoparse.lo `test -f 'gstrawvideoparse.c' || echo '$(srcdir)/'`gstrawvideoparse.c
+
 libgstrawparse_la-plugin.lo: plugin.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstrawparse_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstrawparse_la_CFLAGS) $(CFLAGS) -MT libgstrawparse_la-plugin.lo -MD -MP -MF $(DEPDIR)/libgstrawparse_la-plugin.Tpo -c -o libgstrawparse_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstrawparse_la-plugin.Tpo $(DEPDIR)/libgstrawparse_la-plugin.Plo
diff --git a/gst/rawparse/gstaudioparse.c b/gst/rawparse/gstaudioparse.c
index b60118b..4e7f694 100644
--- a/gst/rawparse/gstaudioparse.c
+++ b/gst/rawparse/gstaudioparse.c
@@ -22,6 +22,8 @@
  * SECTION:element-audioparse
  *
  * Converts a byte stream into audio frames.
+ *
+ * <note>This element is deprecated. Use #GstRawAudioParse instead.</note>
  */
 
 #ifdef HAVE_CONFIG_H
@@ -32,11 +34,34 @@
  * for now with newer GLib versions (>= 2.31.0) */
 #define GLIB_DISABLE_DEPRECATION_WARNINGS
 
+#include <gst/gst.h>
+#include <gst/audio/audio.h>
 #include "gstaudioparse.h"
+#include "gstrawaudioparse.h"
 #include "unalignedaudio.h"
 
 #include <string.h>
 
+
+static GstStaticPadTemplate static_sink_template =
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS_ANY);
+
+
+static GstStaticPadTemplate static_src_template =
+    GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_AUDIO_CAPS_MAKE (GST_AUDIO_FORMATS_ALL)
+        ", layout = (string) { interleaved, non-interleaved }; "
+        GST_UNALIGNED_RAW_AUDIO_CAPS "; "
+        "audio/x-alaw, rate=(int)[1,MAX], channels=(int)[1,MAX]; "
+        "audio/x-mulaw, rate=(int)[1,MAX], channels=(int)[1,MAX]")
+    );
+
+
 typedef enum
 {
   GST_AUDIO_PARSE_FORMAT_RAW,
@@ -44,21 +69,10 @@
   GST_AUDIO_PARSE_FORMAT_ALAW
 } GstAudioParseFormat;
 
-typedef enum
-{
-  GST_AUDIO_PARSE_ENDIANNESS_LITTLE = 1234,
-  GST_AUDIO_PARSE_ENDIANNESS_BIG = 4321
-} GstAudioParseEndianness;
-
 static void gst_audio_parse_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
 static void gst_audio_parse_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
-static void gst_audio_parse_finalize (GObject * object);
-
-static GstCaps *gst_audio_parse_get_caps (GstRawParse * rp);
-
-static void gst_audio_parse_update_frame_size (GstAudioParse * ap);
 
 GST_DEBUG_CATEGORY_STATIC (gst_audio_parse_debug);
 #define GST_CAT_DEFAULT gst_audio_parse_debug
@@ -97,21 +111,16 @@
 
 
 #define gst_audio_parse_parent_class parent_class
-G_DEFINE_TYPE (GstAudioParse, gst_audio_parse, GST_TYPE_RAW_PARSE);
+G_DEFINE_TYPE (GstAudioParse, gst_audio_parse, GST_TYPE_BIN);
 
 static void
 gst_audio_parse_class_init (GstAudioParseClass * klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
-  GstRawParseClass *rp_class = GST_RAW_PARSE_CLASS (klass);
-  GstCaps *caps;
 
   gobject_class->set_property = gst_audio_parse_set_property;
   gobject_class->get_property = gst_audio_parse_get_property;
-  gobject_class->finalize = gst_audio_parse_finalize;
-
-  rp_class->get_caps = gst_audio_parse_get_caps;
 
   g_object_class_install_property (gobject_class, PROP_FORMAT,
       g_param_spec_enum ("format", "Format",
@@ -155,18 +164,13 @@
 
   gst_element_class_set_static_metadata (gstelement_class, "Audio Parse",
       "Filter/Audio",
-      "Converts stream into audio frames",
+      "Converts stream into audio frames (deprecated: use rawaudioparse instead)",
       "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
 
-  caps = gst_caps_from_string (GST_AUDIO_CAPS_MAKE (GST_AUDIO_FORMATS_ALL)
-      ", layout = (string) { interleaved, non-interleaved }; "
-      GST_UNALIGNED_RAW_AUDIO_CAPS "; "
-      "audio/x-alaw, rate=(int)[1,MAX], channels=(int)[1,MAX]; "
-      "audio/x-mulaw, rate=(int)[1,MAX], channels=(int)[1,MAX]");
-
-  gst_raw_parse_class_set_src_pad_template (rp_class, caps);
-  gst_raw_parse_class_set_multiple_frames_per_buffer (rp_class, TRUE);
-  gst_caps_unref (caps);
+  gst_element_class_add_pad_template (gstelement_class,
+      gst_static_pad_template_get (&static_sink_template));
+  gst_element_class_add_pad_template (gstelement_class,
+      gst_static_pad_template_get (&static_src_template));
 
   GST_DEBUG_CATEGORY_INIT (gst_audio_parse_debug, "audioparse", 0,
       "audioparse element");
@@ -175,13 +179,28 @@
 static void
 gst_audio_parse_init (GstAudioParse * ap)
 {
-  ap->format = GST_AUDIO_PARSE_FORMAT_RAW;
-  ap->raw_format = GST_AUDIO_FORMAT_S16;
-  ap->channels = 2;
-  ap->interleaved = TRUE;
+  GstPad *inner_pad;
+  GstPad *ghostpad;
 
-  gst_audio_parse_update_frame_size (ap);
-  gst_raw_parse_set_fps (GST_RAW_PARSE (ap), 44100, 1);
+  ap->rawaudioparse =
+      gst_element_factory_make ("rawaudioparse", "inner_rawaudioparse");
+  g_assert (ap->rawaudioparse != NULL);
+
+  gst_bin_add (GST_BIN (ap), ap->rawaudioparse);
+
+  inner_pad = gst_element_get_static_pad (ap->rawaudioparse, "sink");
+  ghostpad =
+      gst_ghost_pad_new_from_template ("sink", inner_pad,
+      gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (ap), "sink"));
+  gst_element_add_pad (GST_ELEMENT (ap), ghostpad);
+  gst_object_unref (GST_OBJECT (inner_pad));
+
+  inner_pad = gst_element_get_static_pad (ap->rawaudioparse, "src");
+  ghostpad =
+      gst_ghost_pad_new_from_template ("src", inner_pad,
+      gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (ap), "src"));
+  gst_element_add_pad (GST_ELEMENT (ap), ghostpad);
+  gst_object_unref (GST_OBJECT (inner_pad));
 }
 
 static void
@@ -190,39 +209,68 @@
 {
   GstAudioParse *ap = GST_AUDIO_PARSE (object);
 
-  g_return_if_fail (!gst_raw_parse_is_negotiated (GST_RAW_PARSE (ap)));
-
   switch (prop_id) {
-    case PROP_FORMAT:
-      ap->format = g_value_get_enum (value);
-      break;
-    case PROP_RAW_FORMAT:
-      ap->raw_format = g_value_get_enum (value);
-      break;
-    case PROP_RATE:
-      gst_raw_parse_set_fps (GST_RAW_PARSE (ap), g_value_get_int (value), 1);
-      break;
-    case PROP_CHANNELS:
-      ap->channels = g_value_get_int (value);
-      break;
-    case PROP_INTERLEAVED:
-      ap->interleaved = g_value_get_boolean (value);
-      break;
-    case PROP_CHANNEL_POSITIONS:
-      if (ap->channel_positions)
-        g_value_array_free (ap->channel_positions);
+    case PROP_FORMAT:{
+      GstRawAudioParseFormat raw_parse_format;
 
-      ap->channel_positions = g_value_dup_boxed (value);
+      switch (g_value_get_enum (value)) {
+        case GST_AUDIO_PARSE_FORMAT_RAW:
+          raw_parse_format = GST_RAW_AUDIO_PARSE_FORMAT_PCM;
+          break;
+
+        case GST_AUDIO_PARSE_FORMAT_MULAW:
+          raw_parse_format = GST_RAW_AUDIO_PARSE_FORMAT_MULAW;
+          break;
+
+        case GST_AUDIO_PARSE_FORMAT_ALAW:
+          raw_parse_format = GST_RAW_AUDIO_PARSE_FORMAT_ALAW;
+          break;
+
+        default:
+          g_assert_not_reached ();
+          break;
+      }
+
+      g_object_set (G_OBJECT (ap->rawaudioparse), "format", raw_parse_format,
+          NULL);
+
       break;
+    }
+
+    case PROP_RAW_FORMAT:
+      g_object_set (G_OBJECT (ap->rawaudioparse), "pcm-format",
+          g_value_get_enum (value), NULL);
+      break;
+
+    case PROP_RATE:
+      g_object_set (G_OBJECT (ap->rawaudioparse), "sample-rate",
+          g_value_get_int (value), NULL);
+      break;
+
+    case PROP_CHANNELS:
+      g_object_set (G_OBJECT (ap->rawaudioparse), "num-channels",
+          g_value_get_int (value), NULL);
+      break;
+
+    case PROP_INTERLEAVED:
+      g_object_set (G_OBJECT (ap->rawaudioparse), "interleaved",
+          g_value_get_boolean (value), NULL);
+      break;
+
+    case PROP_CHANNEL_POSITIONS:
+      g_object_set (G_OBJECT (ap->rawaudioparse), "channel-positions",
+          g_value_get_boxed (value), NULL);
+      break;
+
     case PROP_USE_SINK_CAPS:
-      ap->use_sink_caps = g_value_get_boolean (value);
+      g_object_set (G_OBJECT (ap->rawaudioparse), "use-sink-caps",
+          g_value_get_boolean (value), NULL);
       break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
   }
-
-  gst_audio_parse_update_frame_size (ap);
 }
 
 static void
@@ -232,226 +280,85 @@
   GstAudioParse *ap = GST_AUDIO_PARSE (object);
 
   switch (prop_id) {
-    case PROP_FORMAT:
-      g_value_set_enum (value, ap->format);
-      break;
-    case PROP_RAW_FORMAT:
-      g_value_set_enum (value, ap->raw_format);
-      break;
-    case PROP_RATE:{
-      gint fps_n, fps_d;
+    case PROP_FORMAT:{
+      GstRawAudioParseFormat raw_parse_format;
+      GstAudioParseFormat format;
 
-      gst_raw_parse_get_fps (GST_RAW_PARSE (ap), &fps_n, &fps_d);
-      g_value_set_int (value, fps_n);
+      g_object_get (G_OBJECT (ap->rawaudioparse), "format", &raw_parse_format,
+          NULL);
+
+      switch (raw_parse_format) {
+        case GST_RAW_AUDIO_PARSE_FORMAT_PCM:
+          format = GST_AUDIO_PARSE_FORMAT_RAW;
+          break;
+
+        case GST_RAW_AUDIO_PARSE_FORMAT_MULAW:
+          format = GST_AUDIO_PARSE_FORMAT_MULAW;
+          break;
+
+        case GST_RAW_AUDIO_PARSE_FORMAT_ALAW:
+          format = GST_AUDIO_PARSE_FORMAT_ALAW;
+          break;
+
+        default:
+          g_assert_not_reached ();
+          break;
+      }
+
+      g_value_set_enum (value, format);
+
       break;
     }
-    case PROP_CHANNELS:
-      g_value_set_int (value, ap->channels);
+
+    case PROP_RAW_FORMAT:{
+      GstAudioFormat format;
+      g_object_get (G_OBJECT (ap->rawaudioparse), "pcm-format", &format, NULL);
+      g_value_set_enum (value, format);
       break;
-    case PROP_INTERLEAVED:
-      g_value_set_boolean (value, ap->interleaved);
+    }
+
+    case PROP_RATE:{
+      gint sample_rate;
+      g_object_get (G_OBJECT (ap->rawaudioparse), "sample-rate", &sample_rate,
+          NULL);
+      g_value_set_int (value, sample_rate);
       break;
-    case PROP_CHANNEL_POSITIONS:
-      g_value_set_boxed (value, ap->channel_positions);
+    }
+
+    case PROP_CHANNELS:{
+      gint num_channels;
+      g_object_get (G_OBJECT (ap->rawaudioparse), "num-channels", &num_channels,
+          NULL);
+      g_value_set_int (value, num_channels);
       break;
-    case PROP_USE_SINK_CAPS:
-      g_value_set_boolean (value, ap->use_sink_caps);
+    }
+
+    case PROP_INTERLEAVED:{
+      gboolean interleaved;
+      g_object_get (G_OBJECT (ap->rawaudioparse), "interleaved", &interleaved,
+          NULL);
+      g_value_set_boolean (value, interleaved);
       break;
+    }
+
+    case PROP_CHANNEL_POSITIONS:{
+      gpointer channel_positions;
+      g_object_get (G_OBJECT (ap->rawaudioparse), "channel-positions",
+          &channel_positions, NULL);
+      g_value_set_boxed (value, channel_positions);
+      break;
+    }
+
+    case PROP_USE_SINK_CAPS:{
+      gboolean use_sink_caps;
+      g_object_get (G_OBJECT (ap->rawaudioparse), "use-sink-caps",
+          &use_sink_caps, NULL);
+      g_value_set_boolean (value, use_sink_caps);
+      break;
+    }
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
   }
 }
-
-static void
-gst_audio_parse_finalize (GObject * object)
-{
-  GstAudioParse *ap = GST_AUDIO_PARSE (object);
-
-  if (ap->channel_positions) {
-    g_value_array_free (ap->channel_positions);
-    ap->channel_positions = NULL;
-  }
-
-  g_free (ap->channel_pos);
-  g_free (ap->channel_order);
-
-  G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-void
-gst_audio_parse_update_frame_size (GstAudioParse * ap)
-{
-  gint framesize, width;
-
-  switch (ap->format) {
-    case GST_AUDIO_PARSE_FORMAT_ALAW:
-    case GST_AUDIO_PARSE_FORMAT_MULAW:
-      width = 8;
-      break;
-    case GST_AUDIO_PARSE_FORMAT_RAW:
-    default:
-    {
-      GstAudioInfo info;
-
-      gst_audio_info_init (&info);
-      /* rate, etc do not really matter here */
-      gst_audio_info_set_format (&info, ap->raw_format, 44100, ap->channels,
-          NULL);
-      width = GST_AUDIO_INFO_WIDTH (&info);
-      break;
-    }
-  }
-
-  framesize = (width / 8) * ap->channels;
-
-  gst_raw_parse_set_framesize (GST_RAW_PARSE (ap), framesize);
-}
-
-static GstAudioChannelPosition *
-gst_audio_parse_get_channel_positions (GValueArray * positions)
-{
-  gint i;
-  guint channels;
-  GstAudioChannelPosition *pos;
-
-  channels = positions->n_values;
-  pos = g_new (GstAudioChannelPosition, positions->n_values);
-
-  for (i = 0; i < channels; i++) {
-    GValue *v = g_value_array_get_nth (positions, i);
-
-    pos[i] = g_value_get_enum (v);
-  }
-
-  return pos;
-}
-
-static void
-gst_audio_parse_setup_channel_positions (GstAudioParse * ap)
-{
-  GstAudioChannelPosition *pos, *to;
-
-  g_free (ap->channel_pos);
-  g_free (ap->channel_order);
-  ap->channel_pos = NULL;
-  ap->channel_order = NULL;
-
-  if (!ap->channel_positions) {
-    GST_DEBUG_OBJECT (ap, "no channel positions");
-    /* implicit mapping for 1- and 2-channel audio is okay */
-    /* will come up with one in other cases also */
-    return;
-  }
-
-  pos = gst_audio_parse_get_channel_positions (ap->channel_positions);
-  if (ap->channels != ap->channel_positions->n_values ||
-      !gst_audio_check_valid_channel_positions (pos, ap->channels, FALSE)) {
-    GST_DEBUG_OBJECT (ap, "invalid channel position");
-    g_free (pos);
-    return;
-  }
-
-  /* ok, got something we can work with now */
-  to = g_new (GstAudioChannelPosition, ap->channels);
-  memcpy (to, pos, ap->channels * sizeof (to[0]));
-  gst_audio_channel_positions_to_valid_order (to, ap->channels);
-
-  ap->channel_pos = pos;
-  ap->channel_order = to;
-}
-
-static GstCaps *
-gst_audio_parse_get_caps (GstRawParse * rp)
-{
-  GstAudioParse *ap = GST_AUDIO_PARSE (rp);
-  GstCaps *caps, *ncaps;
-  GstAudioInfo info;
-  gint fps_n, fps_d;
-  const GValue *val;
-
-  if (ap->use_sink_caps) {
-    gint rate;
-    GstCaps *caps = gst_pad_get_current_caps (rp->sinkpad);
-    GstStructure *structure;
-
-    if (!caps) {
-      GST_WARNING_OBJECT (ap,
-          "Sink pad has no caps, but we were asked to use its caps");
-      return NULL;
-    }
-
-    /* For unaligned raw data, the output caps stay the same,
-     * except that audio/x-unaligned-raw becomes audio/x-raw,
-     * since audioparse aligns the sample data */
-    structure = gst_caps_get_structure (caps, 0);
-    if (gst_structure_has_name (structure, "audio/x-unaligned-raw")) {
-      caps = gst_caps_make_writable (caps);
-      structure = gst_caps_get_structure (caps, 0);
-      gst_structure_set_name (structure, "audio/x-raw");
-    }
-
-    if (!gst_audio_info_from_caps (&info, caps)) {
-      GST_WARNING_OBJECT (ap, "Failed to parse caps %" GST_PTR_FORMAT, caps);
-      gst_caps_unref (caps);
-      return NULL;
-    }
-
-    ap->format = GST_AUDIO_PARSE_FORMAT_RAW;
-    ap->raw_format = GST_AUDIO_INFO_FORMAT (&info);
-    ap->channels = GST_AUDIO_INFO_CHANNELS (&info);
-    ap->interleaved = info.layout == GST_AUDIO_LAYOUT_INTERLEAVED;
-
-    rate = GST_AUDIO_INFO_RATE (&info);
-    gst_raw_parse_set_fps (GST_RAW_PARSE (ap), rate, 1);
-    gst_audio_parse_update_frame_size (ap);
-
-    return caps;
-  }
-
-  gst_raw_parse_get_fps (rp, &fps_n, &fps_d);
-  gst_audio_parse_setup_channel_positions (ap);
-
-  /* yes, even when format not raw */
-  gst_audio_info_init (&info);
-  gst_audio_info_set_format (&info, ap->raw_format, fps_n, ap->channels,
-      ap->channel_order);
-  info.layout = ap->interleaved ? GST_AUDIO_LAYOUT_INTERLEAVED :
-      GST_AUDIO_LAYOUT_NON_INTERLEAVED;
-  caps = gst_audio_info_to_caps (&info);
-
-  switch (ap->format) {
-    case GST_AUDIO_PARSE_FORMAT_RAW:
-      break;
-    case GST_AUDIO_PARSE_FORMAT_ALAW:
-      ncaps = gst_caps_new_simple ("audio/x-alaw",
-          "rate", G_TYPE_INT, fps_n,
-          "channels", G_TYPE_INT, ap->channels, NULL);
-      /* pick mask stuff from faked raw format */
-      val = gst_structure_get_value (gst_caps_get_structure (caps, 0),
-          "channel-mask");
-      if (val)
-        gst_caps_set_value (ncaps, "channel-mask", val);
-      gst_caps_unref (caps);
-      caps = ncaps;
-      break;
-    case GST_AUDIO_PARSE_FORMAT_MULAW:
-      ncaps = gst_caps_new_simple ("audio/x-mulaw",
-          "rate", G_TYPE_INT, fps_n,
-          "channels", G_TYPE_INT, ap->channels, NULL);
-      /* pick mask stuff from faked raw format */
-      val = gst_structure_get_value (gst_caps_get_structure (caps, 0),
-          "channel-mask");
-      if (val)
-        gst_caps_set_value (ncaps, "channel-mask", val);
-      gst_caps_unref (caps);
-      caps = ncaps;
-      break;
-    default:
-      caps = gst_caps_new_empty ();
-      GST_ERROR_OBJECT (rp, "unexpected format %d", ap->format);
-      break;
-  }
-
-  return caps;
-}
diff --git a/gst/rawparse/gstaudioparse.h b/gst/rawparse/gstaudioparse.h
index 2a357d9..efa5730 100644
--- a/gst/rawparse/gstaudioparse.h
+++ b/gst/rawparse/gstaudioparse.h
@@ -23,11 +23,6 @@
 #define __GST_AUDIO_PARSE_H__
 
 #include <gst/gst.h>
-#include <gst/base/gstbasetransform.h>
-#include <gst/base/gstadapter.h>
-#include <gst/audio/audio.h>
-
-#include "gstrawparse.h"
 
 #define GST_TYPE_AUDIO_PARSE \
   (gst_audio_parse_get_type())
@@ -45,23 +40,13 @@
 
 struct _GstAudioParse
 {
-  GstRawParse parent;
-
-  /* properties */
-  gboolean use_sink_caps;
-  gint format;
-  GstAudioFormat raw_format;
-  gint channels;
-  gboolean interleaved;
-  GValueArray *channel_positions;
-
-  GstAudioChannelPosition *channel_pos;
-  GstAudioChannelPosition *channel_order;
+  GstBin parent;
+  GstElement *rawaudioparse;
 };
 
 struct _GstAudioParseClass
 {
-  GstRawParseClass parent_class;
+  GstBinClass parent_class;
 };
 
 
diff --git a/gst/rawparse/gstrawaudioparse.c b/gst/rawparse/gstrawaudioparse.c
new file mode 100644
index 0000000..98575dd
--- /dev/null
+++ b/gst/rawparse/gstrawaudioparse.c
@@ -0,0 +1,1088 @@
+/* GStreamer
+ * Copyright (C) <2016> Carlos Rafael Giani <dv at pseudoterminal dot org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:element-rawaudioparse
+ *
+ * This element parses incoming data as raw audio samples and timestamps it.
+ * It also handles seek queries in said raw audio data, and ensures that output
+ * buffers contain an integer number of samples, even if the input buffers don't.
+ * For example, with sample format S16LE and 2 channels, an input buffer of 411
+ * bytes contains 102.75 samples. rawaudioparse will then output 102 samples
+ * (= 408 bytes) and keep the remaining 3 bytes. These will then be prepended to
+ * the next input data.
+ *
+ * The element implements the properties and sink caps configuration as specified
+ * in the #GstRawBaseParse documentation. The properties configuration can be
+ * modified by using the sample-rate, num-channels, channel-positions, format,
+ * and pcm-format properties.
+ *
+ * Currently, this parser supports raw data in a-law, mu-law, or linear PCM format.
+ *
+ * To facilitate operation with the unalignedaudioparse element, rawaudioparse
+ * supports the "audio/x-unaligned-raw" media type. This is treated identically to
+ * "audio/x-raw", except that it is used by source elements which do not guarantee
+ * that the buffers they push out are timestamped and contain an integer amount of
+ * samples (see the 411 bytes example above). By using a different media type, it
+ * is guaranteed that unalignedaudioparse is autoplugged, making sure that the
+ * autoplugged chain does not push unparsed content downstream. The source caps'
+ * media type with linear PCM data is always "audio/x-raw", even if the sink caps
+ * use "audio/x-unaligned-raw".
+ *
+ * The channel-positions property can be used to set explicit position information
+ * for each channel. If the array that is passed to this property does not match
+ * the number of channels indicated by num-channels, then said number of channels
+ * is updated to the array length. If channel-positions is NULL, then the default
+ * GStreamer positioning is used. This property is also useful for swapping left
+ * and right in a stereo signal for example.
+ *
+ * <refsect2>
+ * <title>Example pipelines</title>
+ * |[
+ * gst-launch-1.0 souphttpsrc http://my-dlna-server/track.l16 \
+ *     rawaudioparse ! audioconvert ! audioresample ! autoaudiosink
+ * ]| Receive L16 data from a DLNA server, parse and timestamp it with
+ * rawaudioparse, and play it. use-sink-caps is set to true since souphttpsrc
+ * will set its source pad's caps to audio/x-unaligned-raw for the L16 stream.
+ * |[
+ * gst-launch-1.0 filesrc location=audio.raw ! rawaudioparse use-sink-caps=false \
+ *         format=pcm pcm-format=s16le sample-rate=48000 num-channels=2 \
+ *         audioconvert ! audioresample ! autoaudiosink
+ * ]| Read raw data from a local file and parse it as PCM data with 48000 Hz sample
+ * rate, signed 16 bit integer samples, and 2 channels. use-sink-caps is set to
+ * false to ensure the property information is used and the parser does not expect
+ * audio/x-raw or audio/x-unaligned-raw caps.
+ * </refsect2>
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+/* FIXME: GValueArray is deprecated, but there is currently no viabla alternative
+ * See https://bugzilla.gnome.org/show_bug.cgi?id=667228 */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
+#include <string.h>
+#include "gstrawaudioparse.h"
+#include "unalignedaudio.h"
+
+
+GST_DEBUG_CATEGORY_STATIC (raw_audio_parse_debug);
+#define GST_CAT_DEFAULT raw_audio_parse_debug
+
+
+enum
+{
+  PROP_0,
+  PROP_FORMAT,
+  PROP_PCM_FORMAT,
+  PROP_SAMPLE_RATE,
+  PROP_NUM_CHANNELS,
+  PROP_INTERLEAVED,
+  PROP_CHANNEL_POSITIONS
+};
+
+
+#define DEFAULT_FORMAT         GST_RAW_AUDIO_PARSE_FORMAT_PCM
+#define DEFAULT_PCM_FORMAT     GST_AUDIO_FORMAT_S16
+#define DEFAULT_SAMPLE_RATE    44100
+#define DEFAULT_NUM_CHANNELS   2
+#define DEFAULT_INTERLEAVED    TRUE
+
+
+#define GST_RAW_AUDIO_PARSE_CAPS \
+  GST_AUDIO_CAPS_MAKE(GST_AUDIO_FORMATS_ALL) \
+  ", layout = (string) { interleaved, non-interleaved }; " \
+  "audio/x-alaw, rate = (int) [ 1, MAX ], channels = (int) [ 1, MAX ]; " \
+  "audio/x-mulaw, rate = (int) [ 1, MAX ], channels = (int) [ 1, MAX ]; "
+
+
+static GstStaticPadTemplate static_sink_template =
+    GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_UNALIGNED_RAW_AUDIO_CAPS "; " GST_RAW_AUDIO_PARSE_CAPS)
+    );
+
+
+static GstStaticPadTemplate static_src_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_RAW_AUDIO_PARSE_CAPS)
+    );
+
+
+#define gst_raw_audio_parse_parent_class parent_class
+G_DEFINE_TYPE (GstRawAudioParse, gst_raw_audio_parse, GST_TYPE_RAW_BASE_PARSE);
+
+
+static void gst_raw_audio_parse_set_property (GObject * object, guint prop_id,
+    GValue const *value, GParamSpec * pspec);
+static void gst_raw_audio_parse_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+
+static gboolean gst_raw_audio_parse_stop (GstBaseParse * parse);
+
+static gboolean gst_raw_audio_parse_set_current_config (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config);
+static GstRawBaseParseConfig
+gst_raw_audio_parse_get_current_config (GstRawBaseParse * raw_base_parse);
+static gboolean gst_raw_audio_parse_set_config_from_caps (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config, GstCaps * caps);
+static gboolean gst_raw_audio_parse_get_caps_from_config (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config, GstCaps ** caps);
+static gsize gst_raw_audio_parse_get_config_frame_size (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config);
+static gboolean gst_raw_audio_parse_is_config_ready (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config);
+static gboolean gst_raw_audio_parse_process (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config, GstBuffer * in_data, gsize total_num_in_bytes,
+    gsize num_valid_in_bytes, GstBuffer ** processed_data);
+static gboolean gst_raw_audio_parse_is_unit_format_supported (GstRawBaseParse *
+    raw_base_parse, GstFormat format);
+static void gst_raw_audio_parse_get_units_per_second (GstRawBaseParse *
+    raw_base_parse, GstFormat format, GstRawBaseParseConfig config,
+    gsize * units_per_sec_n, gsize * units_per_sec_d);
+
+static gboolean gst_raw_audio_parse_is_using_sink_caps (GstRawAudioParse *
+    raw_audio_parse);
+static GstRawAudioParseConfig
+    * gst_raw_audio_parse_get_config_ptr (GstRawAudioParse * raw_audio_parse,
+    GstRawBaseParseConfig config);
+
+static void gst_raw_audio_parse_init_config (GstRawAudioParseConfig * config);
+static gboolean gst_raw_audio_parse_set_config_channels (GstRawAudioParseConfig
+    * config, guint num_channels, guint64 channel_mask, gboolean set_positions);
+static gboolean
+gst_raw_audio_parse_update_channel_reordering_flag (GstRawAudioParseConfig *
+    config);
+static void gst_raw_audio_parse_update_config_bpf (GstRawAudioParseConfig *
+    config);
+static gboolean gst_raw_audio_parse_caps_to_config (GstRawAudioParse *
+    raw_audio_parse, GstCaps * caps, GstRawAudioParseConfig * config);
+static gboolean gst_raw_audio_parse_config_to_caps (GstRawAudioParse *
+    raw_audio_parse, GstCaps ** caps, GstRawAudioParseConfig * config);
+
+
+
+static void
+gst_raw_audio_parse_class_init (GstRawAudioParseClass * klass)
+{
+  GObjectClass *object_class;
+  GstElementClass *element_class;
+  GstBaseParseClass *baseparse_class;
+  GstRawBaseParseClass *rawbaseparse_class;
+
+  GST_DEBUG_CATEGORY_INIT (raw_audio_parse_debug, "rawaudioparse", 0,
+      "rawaudioparse element");
+
+  object_class = G_OBJECT_CLASS (klass);
+  element_class = GST_ELEMENT_CLASS (klass);
+  baseparse_class = GST_BASE_PARSE_CLASS (klass);
+  rawbaseparse_class = GST_RAW_BASE_PARSE_CLASS (klass);
+
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&static_sink_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&static_src_template));
+
+  object_class->set_property =
+      GST_DEBUG_FUNCPTR (gst_raw_audio_parse_set_property);
+  object_class->get_property =
+      GST_DEBUG_FUNCPTR (gst_raw_audio_parse_get_property);
+
+  baseparse_class->stop = GST_DEBUG_FUNCPTR (gst_raw_audio_parse_stop);
+
+  rawbaseparse_class->set_current_config =
+      GST_DEBUG_FUNCPTR (gst_raw_audio_parse_set_current_config);
+  rawbaseparse_class->get_current_config =
+      GST_DEBUG_FUNCPTR (gst_raw_audio_parse_get_current_config);
+  rawbaseparse_class->set_config_from_caps =
+      GST_DEBUG_FUNCPTR (gst_raw_audio_parse_set_config_from_caps);
+  rawbaseparse_class->get_caps_from_config =
+      GST_DEBUG_FUNCPTR (gst_raw_audio_parse_get_caps_from_config);
+  rawbaseparse_class->get_config_frame_size =
+      GST_DEBUG_FUNCPTR (gst_raw_audio_parse_get_config_frame_size);
+  rawbaseparse_class->is_config_ready =
+      GST_DEBUG_FUNCPTR (gst_raw_audio_parse_is_config_ready);
+  rawbaseparse_class->process = GST_DEBUG_FUNCPTR (gst_raw_audio_parse_process);
+  rawbaseparse_class->is_unit_format_supported =
+      GST_DEBUG_FUNCPTR (gst_raw_audio_parse_is_unit_format_supported);
+  rawbaseparse_class->get_units_per_second =
+      GST_DEBUG_FUNCPTR (gst_raw_audio_parse_get_units_per_second);
+
+  g_object_class_install_property (object_class,
+      PROP_FORMAT,
+      g_param_spec_enum ("format",
+          "Format",
+          "Format of the raw audio stream",
+          gst_raw_audio_parse_format_get_type (),
+          GST_RAW_AUDIO_PARSE_FORMAT_PCM,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_PCM_FORMAT,
+      g_param_spec_enum ("pcm-format",
+          "PCM format",
+          "Format of audio samples in PCM stream (ignored if format property is not set to pcm)",
+          GST_TYPE_AUDIO_FORMAT,
+          GST_RAW_AUDIO_PARSE_FORMAT_PCM,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_SAMPLE_RATE,
+      g_param_spec_int ("sample-rate",
+          "Sample rate",
+          "Rate of audio samples in raw stream",
+          1, INT_MAX,
+          DEFAULT_SAMPLE_RATE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_NUM_CHANNELS,
+      g_param_spec_int ("num-channels",
+          "Number of channels",
+          "Number of channels in raw stream",
+          1, INT_MAX,
+          DEFAULT_NUM_CHANNELS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_INTERLEAVED,
+      g_param_spec_boolean ("interleaved",
+          "Interleaved layout",
+          "True if audio has interleaved layout",
+          DEFAULT_INTERLEAVED, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_CHANNEL_POSITIONS,
+      g_param_spec_value_array ("channel-positions",
+          "Channel positions",
+          "Channel positions used on the output",
+          g_param_spec_enum ("channel-position",
+              "Channel position",
+              "Channel position of the n-th input",
+              GST_TYPE_AUDIO_CHANNEL_POSITION,
+              GST_AUDIO_CHANNEL_POSITION_NONE,
+              G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS),
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+
+  gst_element_class_set_static_metadata (element_class,
+      "rawaudioparse",
+      "Codec/Parser/Audio",
+      "Converts unformatted data streams into timestamped raw audio frames",
+      "Carlos Rafael Giani <dv@pseudoterminal.org>");
+}
+
+
+static void
+gst_raw_audio_parse_init (GstRawAudioParse * raw_audio_parse)
+{
+  /* Setup configs and select which one shall be the current one from the start. */
+  gst_raw_audio_parse_init_config (&(raw_audio_parse->properties_config));
+  gst_raw_audio_parse_init_config (&(raw_audio_parse->sink_caps_config));
+  /* As required by GstRawBaseParse, ensure that the current configuration
+   * is initially set to be the properties config */
+  raw_audio_parse->current_config = &(raw_audio_parse->properties_config);
+
+  /* Properties config must be valid from the start, so set its ready value
+   * to TRUE, and make sure its bpf value is valid. */
+  raw_audio_parse->properties_config.ready = TRUE;
+  gst_raw_audio_parse_update_config_bpf (&(raw_audio_parse->properties_config));
+}
+
+
+static void
+gst_raw_audio_parse_set_property (GObject * object, guint prop_id,
+    GValue const *value, GParamSpec * pspec)
+{
+  GstBaseParse *base_parse = GST_BASE_PARSE (object);
+  GstRawBaseParse *raw_base_parse = GST_RAW_BASE_PARSE (object);
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (object);
+
+  /* All properties are handled similarly:
+   * - if the new value is the same as the current value, nothing is done
+   * - the parser lock is held while the new value is set
+   * - if the properties config is the current config, the source caps are
+   *   invalidated to ensure that the code in handle_frame pushes a new CAPS
+   *   event out
+   * - properties that affect the bpf value call the function to update
+   *   the bpf and also call gst_base_parse_set_min_frame_size() to ensure
+   *   that the minimum frame size can hold 1 frame (= one sample for each
+   *   channel)
+   */
+
+  switch (prop_id) {
+    case PROP_FORMAT:
+    {
+      GstRawAudioParseFormat new_format = g_value_get_enum (value);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      if (new_format != raw_audio_parse->properties_config.format) {
+        raw_audio_parse->properties_config.format = new_format;
+        gst_raw_audio_parse_update_config_bpf (&
+            (raw_audio_parse->properties_config));
+
+        if (!gst_raw_audio_parse_is_using_sink_caps (raw_audio_parse)) {
+          gst_raw_base_parse_invalidate_src_caps (raw_base_parse);
+          gst_base_parse_set_min_frame_size (base_parse,
+              raw_audio_parse->properties_config.bpf);
+        }
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_PCM_FORMAT:
+    {
+      GstAudioFormat new_pcm_format = g_value_get_enum (value);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      if (new_pcm_format != raw_audio_parse->properties_config.pcm_format) {
+        raw_audio_parse->properties_config.pcm_format = new_pcm_format;
+        gst_raw_audio_parse_update_config_bpf (&
+            (raw_audio_parse->properties_config));
+
+        if (!gst_raw_audio_parse_is_using_sink_caps (raw_audio_parse)) {
+          gst_raw_base_parse_invalidate_src_caps (raw_base_parse);
+          gst_base_parse_set_min_frame_size (base_parse,
+              raw_audio_parse->properties_config.bpf);
+        }
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_SAMPLE_RATE:
+    {
+      guint new_sample_rate = g_value_get_int (value);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      if (new_sample_rate != raw_audio_parse->properties_config.sample_rate) {
+        raw_audio_parse->properties_config.sample_rate = new_sample_rate;
+
+        if (!gst_raw_audio_parse_is_using_sink_caps (raw_audio_parse))
+          gst_raw_base_parse_invalidate_src_caps (raw_base_parse);
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_NUM_CHANNELS:
+    {
+      guint new_num_channels = g_value_get_int (value);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      if (new_num_channels != raw_audio_parse->properties_config.num_channels) {
+        gst_raw_audio_parse_set_config_channels (&
+            (raw_audio_parse->properties_config), new_num_channels, 0, TRUE);
+
+        raw_audio_parse->properties_config.num_channels = new_num_channels;
+        gst_raw_audio_parse_update_config_bpf (&
+            (raw_audio_parse->properties_config));
+
+        if (!gst_raw_audio_parse_is_using_sink_caps (raw_audio_parse)) {
+          gst_raw_base_parse_invalidate_src_caps (raw_base_parse);
+          gst_base_parse_set_min_frame_size (base_parse,
+              raw_audio_parse->properties_config.bpf);
+        }
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_INTERLEAVED:
+    {
+      gboolean new_interleaved = g_value_get_boolean (value);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      if (new_interleaved != raw_audio_parse->properties_config.interleaved) {
+        raw_audio_parse->properties_config.interleaved = new_interleaved;
+
+        if (!gst_raw_audio_parse_is_using_sink_caps (raw_audio_parse))
+          gst_raw_base_parse_invalidate_src_caps (raw_base_parse);
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_CHANNEL_POSITIONS:
+    {
+      GValueArray *valarray = g_value_get_boxed (value);
+      GstRawAudioParseConfig *config = &(raw_audio_parse->properties_config);
+
+      /* Sanity check - reject empty arrays */
+      if ((valarray != NULL) && (valarray->n_values == 0)) {
+        GST_ELEMENT_ERROR (raw_audio_parse, LIBRARY, SETTINGS,
+            ("channel position property holds an empty array"), (NULL));
+        break;
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      if ((valarray == NULL) && (config->num_channels > 0)) {
+        /* NULL value given, and number of channels is nonzero.
+         * Use the default GStreamer positioning. Call
+         * set_config_channels with the set_positions parameter
+         * set to TRUE to ensure the position values are filled. */
+        gst_raw_audio_parse_set_config_channels (&
+            (raw_audio_parse->properties_config), config->num_channels, 0,
+            TRUE);
+      } else {
+        /* Non-NULL value given. Make sure the channel_positions
+         * array in the properties config has enough room, and that
+         * the num_channels value equals the array length. Then copy
+         * the values from the valarray to channel_positions, and
+         * produce a copy of that array in case its channel positions
+         * are not in a valid GStreamer order (to be able to apply
+         * channel reordering later).
+         */
+
+        guint i;
+
+        if (valarray->n_values != config->num_channels) {
+          /* Call with set_positions == FALSE to ensure that
+           * the array is properly allocated but not filled
+           * (it is filled below) */
+          gst_raw_audio_parse_set_config_channels (config, valarray->n_values,
+              0, FALSE);
+        }
+
+        for (i = 0; i < config->num_channels; ++i) {
+          GValue *val = g_value_array_get_nth (valarray, i);
+          config->channel_positions[i] = g_value_get_enum (val);
+        }
+
+        gst_raw_audio_parse_update_channel_reordering_flag (config);
+      }
+
+      gst_raw_audio_parse_update_config_bpf (&
+          (raw_audio_parse->properties_config));
+
+      if (!gst_raw_audio_parse_is_using_sink_caps (raw_audio_parse)) {
+        gst_raw_base_parse_invalidate_src_caps (raw_base_parse);
+        gst_base_parse_set_min_frame_size (base_parse,
+            raw_audio_parse->properties_config.bpf);
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+
+static void
+gst_raw_audio_parse_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (object);
+
+  switch (prop_id) {
+    case PROP_FORMAT:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_enum (value, raw_audio_parse->properties_config.format);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_PCM_FORMAT:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_enum (value, raw_audio_parse->properties_config.pcm_format);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_SAMPLE_RATE:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_int (value, raw_audio_parse->properties_config.sample_rate);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_NUM_CHANNELS:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_int (value, raw_audio_parse->properties_config.num_channels);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_INTERLEAVED:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_boolean (value,
+          raw_audio_parse->properties_config.interleaved);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_CHANNEL_POSITIONS:
+    {
+      GstRawAudioParseConfig *config;
+      GValueArray *valarray;
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      valarray = NULL;
+      config = &(raw_audio_parse->properties_config);
+
+      /* Copy channel positions into the valuearray */
+      if (config->num_channels > 0) {
+        guint i;
+        GValue val = G_VALUE_INIT;
+        g_assert (config->channel_positions);
+
+        g_value_init (&val, GST_TYPE_AUDIO_CHANNEL_POSITION);
+        valarray = g_value_array_new (config->num_channels);
+
+        for (i = 0; i < config->num_channels; ++i) {
+          g_value_set_enum (&val, config->channel_positions[i]);
+          g_value_array_insert (valarray, i, &val);
+        }
+
+        g_value_unset (&val);
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+
+      /* Pass on ownership to the value array,
+       * since we don't need it anymore */
+      g_value_take_boxed (value, valarray);
+
+      break;
+    }
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+
+static gboolean
+gst_raw_audio_parse_stop (GstBaseParse * parse)
+{
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (parse);
+
+  /* Sink caps config is not ready until caps come in.
+   * We are stopping processing, the element is being reset,
+   * so the config has to be un-readied.
+   * (Since the properties config is not depending on caps,
+   * its ready status is always TRUE.) */
+  raw_audio_parse->sink_caps_config.ready = FALSE;
+
+  return GST_BASE_PARSE_CLASS (parent_class)->stop (parse);
+}
+
+
+static gboolean
+gst_raw_audio_parse_set_current_config (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config)
+{
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (raw_base_parse);
+
+  switch (config) {
+    case GST_RAW_BASE_PARSE_CONFIG_PROPERTIES:
+      raw_audio_parse->current_config = &(raw_audio_parse->properties_config);
+      break;
+
+    case GST_RAW_BASE_PARSE_CONFIG_SINKCAPS:
+      raw_audio_parse->current_config = &(raw_audio_parse->sink_caps_config);
+      break;
+
+    default:
+      g_assert_not_reached ();
+  }
+
+  return TRUE;
+}
+
+
+static GstRawBaseParseConfig
+gst_raw_audio_parse_get_current_config (GstRawBaseParse * raw_base_parse)
+{
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (raw_base_parse);
+  return gst_raw_audio_parse_is_using_sink_caps (raw_audio_parse) ?
+      GST_RAW_BASE_PARSE_CONFIG_SINKCAPS : GST_RAW_BASE_PARSE_CONFIG_PROPERTIES;
+}
+
+
+static gboolean
+gst_raw_audio_parse_set_config_from_caps (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config, GstCaps * caps)
+{
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (raw_base_parse);
+  return gst_raw_audio_parse_caps_to_config (raw_audio_parse, caps,
+      gst_raw_audio_parse_get_config_ptr (raw_audio_parse, config));
+}
+
+
+static gboolean
+gst_raw_audio_parse_get_caps_from_config (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config, GstCaps ** caps)
+{
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (raw_base_parse);
+  return gst_raw_audio_parse_config_to_caps (raw_audio_parse, caps,
+      gst_raw_audio_parse_get_config_ptr (raw_audio_parse, config));
+}
+
+
+static gsize
+gst_raw_audio_parse_get_config_frame_size (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config)
+{
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (raw_base_parse);
+  return gst_raw_audio_parse_get_config_ptr (raw_audio_parse, config)->bpf;
+}
+
+
+static gboolean
+gst_raw_audio_parse_is_config_ready (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config)
+{
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (raw_base_parse);
+  return gst_raw_audio_parse_get_config_ptr (raw_audio_parse, config)->ready;
+}
+
+
+static gboolean
+gst_raw_audio_parse_process (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config, GstBuffer * in_data, gsize total_num_in_bytes,
+    gsize num_valid_in_bytes, GstBuffer ** processed_data)
+{
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (raw_base_parse);
+  GstRawAudioParseConfig *config_ptr =
+      gst_raw_audio_parse_get_config_ptr (raw_audio_parse, config);
+
+  if ((config_ptr->format == GST_RAW_AUDIO_PARSE_FORMAT_PCM)
+      && config_ptr->needs_channel_reordering) {
+    /* Need to reorder samples, since they are in an invalid
+     * channel order. */
+
+    GstBuffer *outbuf;
+
+    GST_LOG_OBJECT (raw_audio_parse,
+        "using %" G_GSIZE_FORMAT " bytes out of the %" G_GSIZE_FORMAT
+        " bytes from the input buffer with reordering", num_valid_in_bytes,
+        total_num_in_bytes);
+
+    outbuf =
+        gst_buffer_copy_region (in_data,
+        GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS |
+        GST_BUFFER_COPY_META | GST_BUFFER_COPY_MEMORY, 0, num_valid_in_bytes);
+
+    gst_audio_buffer_reorder_channels (outbuf,
+        config_ptr->pcm_format,
+        config_ptr->num_channels,
+        config_ptr->channel_positions, config_ptr->reordered_channel_positions);
+
+    *processed_data = outbuf;
+  } else {
+    /* Nothing needs to be done with the sample data.
+     * Instruct the baseparse class to just take out_size bytes
+     * from the input buffer */
+
+    GST_LOG_OBJECT (raw_audio_parse,
+        "using %" G_GSIZE_FORMAT " bytes out of the %" G_GSIZE_FORMAT
+        " bytes from the input buffer without reordering", num_valid_in_bytes,
+        total_num_in_bytes);
+
+    *processed_data = NULL;
+  }
+
+  return TRUE;
+}
+
+
+static gboolean
+gst_raw_audio_parse_is_unit_format_supported (G_GNUC_UNUSED GstRawBaseParse *
+    raw_base_parse, GstFormat format)
+{
+  switch (format) {
+    case GST_FORMAT_BYTES:
+    case GST_FORMAT_DEFAULT:
+      return TRUE;
+    default:
+      return FALSE;
+  }
+}
+
+
+static void
+gst_raw_audio_parse_get_units_per_second (GstRawBaseParse * raw_base_parse,
+    GstFormat format, GstRawBaseParseConfig config, gsize * units_per_sec_n,
+    gsize * units_per_sec_d)
+{
+  GstRawAudioParse *raw_audio_parse = GST_RAW_AUDIO_PARSE (raw_base_parse);
+  GstRawAudioParseConfig *config_ptr =
+      gst_raw_audio_parse_get_config_ptr (raw_audio_parse, config);
+
+  switch (format) {
+    case GST_FORMAT_BYTES:
+      *units_per_sec_n = config_ptr->sample_rate * config_ptr->bpf;
+      *units_per_sec_d = 1;
+      break;
+
+    case GST_FORMAT_DEFAULT:
+      *units_per_sec_n = config_ptr->sample_rate;
+      *units_per_sec_d = 1;
+      break;
+
+    default:
+      g_assert_not_reached ();
+  }
+}
+
+
+static gboolean
+gst_raw_audio_parse_is_using_sink_caps (GstRawAudioParse * raw_audio_parse)
+{
+  return raw_audio_parse->current_config ==
+      &(raw_audio_parse->sink_caps_config);
+}
+
+
+static GstRawAudioParseConfig *
+gst_raw_audio_parse_get_config_ptr (GstRawAudioParse * raw_audio_parse,
+    GstRawBaseParseConfig config)
+{
+  g_assert (raw_audio_parse->current_config != NULL);
+
+  switch (config) {
+    case GST_RAW_BASE_PARSE_CONFIG_PROPERTIES:
+      return &(raw_audio_parse->properties_config);
+
+    case GST_RAW_BASE_PARSE_CONFIG_SINKCAPS:
+      return &(raw_audio_parse->sink_caps_config);
+
+    default:
+      g_assert (raw_audio_parse->current_config != NULL);
+      return raw_audio_parse->current_config;
+  }
+}
+
+
+static void
+gst_raw_audio_parse_init_config (GstRawAudioParseConfig * config)
+{
+  config->ready = FALSE;
+  config->format = DEFAULT_FORMAT;
+  config->pcm_format = DEFAULT_PCM_FORMAT;
+  config->bpf = 0;
+  config->sample_rate = DEFAULT_SAMPLE_RATE;
+  config->num_channels = DEFAULT_NUM_CHANNELS;
+  config->interleaved = DEFAULT_INTERLEAVED;
+  config->needs_channel_reordering = FALSE;
+
+  gst_raw_audio_parse_set_config_channels (config, config->num_channels, 0,
+      TRUE);
+}
+
+
+static gboolean
+gst_raw_audio_parse_set_config_channels (GstRawAudioParseConfig * config,
+    guint num_channels, guint64 channel_mask, gboolean set_positions)
+{
+  g_assert (num_channels > 0);
+
+  config->num_channels = num_channels;
+  /* Setting this to FALSE, since initially, after setting the channels,
+   * the default GStreamer channel ordering is used. */
+  config->needs_channel_reordering = FALSE;
+
+  /* Set the channel positions based on the given channel mask if set_positions
+   * is set to TRUE. A channel mask of 0 signifies that a fallback mask should be
+   * used for the given number of channels. */
+  if (set_positions) {
+    if (channel_mask == 0)
+      channel_mask = gst_audio_channel_get_fallback_mask (config->num_channels);
+
+    return gst_audio_channel_positions_from_mask (config->num_channels,
+        channel_mask, config->channel_positions);
+  } else {
+    return TRUE;
+  }
+}
+
+
+static gboolean
+gst_raw_audio_parse_update_channel_reordering_flag (GstRawAudioParseConfig *
+    config)
+{
+  g_assert (config->num_channels > 0);
+
+  /* If the channel_positions array contains channel positions which are in an
+   * order that conforms to the valid GStreamer order, ensure that channel
+   * reordering is disabled.
+   * Otherwise, if the order of the positions in the channel_positions array
+   * does not conform to the GStreamer order, ensure it is enabled.
+   */
+
+  if (gst_audio_check_valid_channel_positions (config->channel_positions,
+          config->num_channels, TRUE)) {
+
+    config->needs_channel_reordering = FALSE;
+
+    return TRUE;
+  } else {
+    config->needs_channel_reordering = TRUE;
+    memcpy (config->reordered_channel_positions, config->channel_positions,
+        sizeof (GstAudioChannelPosition) * config->num_channels);
+    return
+        gst_audio_channel_positions_to_valid_order
+        (config->reordered_channel_positions, config->num_channels);
+  }
+}
+
+
+static void
+gst_raw_audio_parse_update_config_bpf (GstRawAudioParseConfig * config)
+{
+  switch (config->format) {
+    case GST_RAW_AUDIO_PARSE_FORMAT_PCM:
+    {
+      GstAudioFormatInfo const *fmt_info =
+          gst_audio_format_get_info (config->pcm_format);
+      g_assert (fmt_info != NULL);
+
+      config->bpf =
+          GST_AUDIO_FORMAT_INFO_WIDTH (fmt_info) * config->num_channels / 8;
+
+      break;
+    }
+
+    case GST_RAW_AUDIO_PARSE_FORMAT_ALAW:
+    case GST_RAW_AUDIO_PARSE_FORMAT_MULAW:
+      /* A-law and mu-law both use 1 byte per sample */
+      config->bpf = 1 * config->num_channels;
+      break;
+
+    default:
+      g_assert_not_reached ();
+  }
+}
+
+
+static gboolean
+gst_raw_audio_parse_caps_to_config (GstRawAudioParse * raw_audio_parse,
+    GstCaps * caps, GstRawAudioParseConfig * config)
+{
+  gboolean ret = FALSE;
+  GstStructure *structure;
+
+  /* Caps might get copied, and the copy needs to be unref'd.
+   * Also, the caller retains ownership over the original caps.
+   * So, to make this mechanism also work with cases where the
+   * caps are *not* copied, ref the original caps here first. */
+  gst_caps_ref (caps);
+
+  structure = gst_caps_get_structure (caps, 0);
+
+  /* For unaligned raw data, the output caps stay the same,
+   * except that audio/x-unaligned-raw becomes audio/x-raw,
+   * since the parser aligns the sample data */
+  if (gst_structure_has_name (structure, "audio/x-unaligned-raw")) {
+    /* Copy the caps to be able to modify them */
+    GstCaps *new_caps = gst_caps_copy (caps);
+    gst_caps_unref (caps);
+    caps = new_caps;
+
+    /* Change the media type to audio/x-raw , otherwise
+     * gst_audio_info_from_caps() won't work */
+    structure = gst_caps_get_structure (caps, 0);
+    gst_structure_set_name (structure, "audio/x-raw");
+  }
+
+  if (gst_structure_has_name (structure, "audio/x-raw")) {
+    guint num_channels;
+    GstAudioInfo info;
+    if (!gst_audio_info_from_caps (&info, caps)) {
+      GST_ERROR_OBJECT (raw_audio_parse,
+          "failed to parse caps %" GST_PTR_FORMAT, (gpointer) caps);
+      goto done;
+    }
+
+    num_channels = GST_AUDIO_INFO_CHANNELS (&info);
+
+    config->format = GST_RAW_AUDIO_PARSE_FORMAT_PCM;
+    config->pcm_format = GST_AUDIO_INFO_FORMAT (&info);
+    config->bpf = GST_AUDIO_INFO_BPF (&info);
+    config->sample_rate = GST_AUDIO_INFO_RATE (&info);
+    config->interleaved =
+        (GST_AUDIO_INFO_LAYOUT (&info) == GST_AUDIO_LAYOUT_INTERLEAVED);
+
+    gst_raw_audio_parse_set_config_channels (config, num_channels, 0, FALSE);
+    memcpy (config->channel_positions, &(GST_AUDIO_INFO_POSITION (&info, 0)),
+        sizeof (GstAudioChannelPosition) * num_channels);
+  } else if (gst_structure_has_name (structure, "audio/x-alaw")
+      || gst_structure_has_name (structure, "audio/x-mulaw")) {
+    gint i;
+    guint64 channel_mask;
+    guint num_channels;
+
+    config->format =
+        gst_structure_has_name (structure,
+        "audio/x-alaw") ? GST_RAW_AUDIO_PARSE_FORMAT_ALAW :
+        GST_RAW_AUDIO_PARSE_FORMAT_MULAW;
+
+    if (!gst_structure_get_int (structure, "rate", &i)) {
+      GST_ERROR_OBJECT (raw_audio_parse,
+          "missing rate value in caps %" GST_PTR_FORMAT, (gpointer) caps);
+      goto done;
+    }
+    config->sample_rate = i;
+
+    if (!gst_structure_get_int (structure, "channels", &i)) {
+      GST_ERROR_OBJECT (raw_audio_parse,
+          "missing channels value in caps %" GST_PTR_FORMAT, (gpointer) caps);
+      goto done;
+    }
+    num_channels = i;
+
+    if (!gst_structure_get (structure, "channel-mask", GST_TYPE_BITMASK,
+            &channel_mask, NULL)) {
+      channel_mask = gst_audio_channel_get_fallback_mask (num_channels);
+      GST_DEBUG_OBJECT (raw_audio_parse,
+          "input caps have no channel mask - using fallback mask %#"
+          G_GINT64_MODIFIER "x for %u channels", channel_mask, num_channels);
+    }
+
+    if (!gst_raw_audio_parse_set_config_channels (config, num_channels,
+            channel_mask, TRUE)) {
+      GST_ERROR_OBJECT (raw_audio_parse,
+          "could not use channel mask %#" G_GINT64_MODIFIER
+          "x for channel positions", channel_mask);
+      goto done;
+    }
+
+    /* A-law and mu-law both use 1 byte per sample */
+    config->bpf = 1 * num_channels;
+  } else {
+    GST_ERROR_OBJECT (raw_audio_parse,
+        "caps %" GST_PTR_FORMAT " have an unsupported media type",
+        (gpointer) caps);
+    goto done;
+  }
+
+  ret = TRUE;
+
+done:
+  gst_caps_unref (caps);
+  if (ret)
+    config->ready = TRUE;
+  return ret;
+}
+
+
+static gboolean
+gst_raw_audio_parse_config_to_caps (GstRawAudioParse * raw_audio_parse,
+    GstCaps ** caps, GstRawAudioParseConfig * config)
+{
+  gboolean ret = TRUE;
+  GstAudioChannelPosition *channel_positions;
+
+  g_assert (caps != NULL);
+
+  if (config->bpf == 0) {
+    GST_ERROR_OBJECT (raw_audio_parse,
+        "cannot convert config to caps - config not filled with valid values");
+    *caps = NULL;
+    return FALSE;
+  }
+
+  channel_positions =
+      config->needs_channel_reordering ? &(config->
+      reordered_channel_positions[0]) : &(config->channel_positions[0]);
+
+  switch (config->format) {
+    case GST_RAW_AUDIO_PARSE_FORMAT_PCM:
+    {
+      GstAudioInfo info;
+      gst_audio_info_init (&info);
+      gst_audio_info_set_format (&info,
+          config->pcm_format,
+          config->sample_rate, config->num_channels, channel_positions);
+
+      *caps = gst_audio_info_to_caps (&info);
+
+      break;
+    }
+
+    case GST_RAW_AUDIO_PARSE_FORMAT_ALAW:
+    case GST_RAW_AUDIO_PARSE_FORMAT_MULAW:
+    {
+      guint64 channel_mask;
+
+      if (!gst_audio_channel_positions_to_mask (channel_positions,
+              config->num_channels, TRUE, &channel_mask)) {
+        GST_ERROR_OBJECT (raw_audio_parse, "invalid channel positions");
+        ret = FALSE;
+        break;
+      }
+
+      *caps = gst_caps_new_simple (
+          (config->format ==
+              GST_RAW_AUDIO_PARSE_FORMAT_ALAW) ? "audio/x-alaw" :
+          "audio/x-mulaw", "rate", G_TYPE_INT, config->sample_rate, "channels",
+          G_TYPE_INT, config->num_channels, "channel-mask", GST_TYPE_BITMASK,
+          channel_mask, NULL);
+
+      break;
+    }
+
+    default:
+      g_assert_not_reached ();
+      ret = FALSE;
+  }
+
+  if (!ret)
+    *caps = NULL;
+
+  return ret;
+}
+
+
+
+
+GType
+gst_raw_audio_parse_format_get_type (void)
+{
+  static GType audio_parse_format_gtype = 0;
+  static const GEnumValue types[] = {
+    {GST_RAW_AUDIO_PARSE_FORMAT_PCM, "PCM", "pcm"},
+    {GST_RAW_AUDIO_PARSE_FORMAT_ALAW, "A-Law", "alaw"},
+    {GST_RAW_AUDIO_PARSE_FORMAT_MULAW, "\302\265-Law", "mulaw"},
+    {0, NULL, NULL}
+  };
+
+  if (!audio_parse_format_gtype)
+    audio_parse_format_gtype =
+        g_enum_register_static ("GstRawAudioParseFormat", types);
+
+  return audio_parse_format_gtype;
+}
diff --git a/gst/rawparse/gstrawaudioparse.h b/gst/rawparse/gstrawaudioparse.h
new file mode 100644
index 0000000..f1e0766
--- /dev/null
+++ b/gst/rawparse/gstrawaudioparse.h
@@ -0,0 +1,131 @@
+/* GStreamer
+ * Copyright (C) <2016> Carlos Rafael Giani <dv at pseudoterminal dot org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_RAW_AUDIO_PARSE_H__
+#define __GST_RAW_AUDIO_PARSE_H__
+
+#include <gst/gst.h>
+#include <gst/audio/audio.h>
+#include "gstrawbaseparse.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_RAW_AUDIO_PARSE \
+  (gst_raw_audio_parse_get_type())
+#define GST_RAW_AUDIO_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_RAW_AUDIO_PARSE, GstRawAudioParse))
+#define GST_RAW_AUDIO_PARSE_CAST(obj) \
+  ((GstRawAudioParse *)(obj))
+#define GST_RAW_AUDIO_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_RAW_AUDIO_PARSE, GstRawAudioParseClass))
+#define GST_IS_RAW_AUDIO_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_RAW_AUDIO_PARSE))
+#define GST_IS_RAW_AUDIO_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_RAW_AUDIO_PARSE))
+
+
+typedef enum _GstRawAudioParseFormat GstRawAudioParseFormat;
+
+typedef struct _GstRawAudioParseConfig GstRawAudioParseConfig;
+typedef struct _GstRawAudioParse GstRawAudioParse;
+typedef struct _GstRawAudioParseClass GstRawAudioParseClass;
+
+
+enum _GstRawAudioParseFormat
+{
+  GST_RAW_AUDIO_PARSE_FORMAT_PCM,
+  GST_RAW_AUDIO_PARSE_FORMAT_MULAW,
+  GST_RAW_AUDIO_PARSE_FORMAT_ALAW
+};
+
+
+/* Contains information about the sample rate, format, and channel count to use. */
+struct _GstRawAudioParseConfig
+{
+  /* If TRUE, then this configuration is ready to use */
+  gboolean ready;
+  /* Format of the configuration. Can be PCM, a-law, mu-law. */
+  GstRawAudioParseFormat format;
+  /* If format is set to PCM, this specifies the exact PCM format in use.
+   * Meaningless if format is set to anything other than PCM. */
+  GstAudioFormat pcm_format;
+  /* Bytes per frame. Calculated as: bpf = bytes_per_sample * num_channels
+   * Must be nonzero. This is the size of one frame, the value returned
+   * by the GstRawBaseParseClass get_config_frame_size() vfunc. */
+  guint bpf;
+  /* Sample rate in Hz - must be nonzero */
+  guint sample_rate;
+  /* Number of channels - must be nonzero */
+  guint num_channels;
+  /* TRUE if the data is interleaved, FALSE otherwise */
+  gboolean interleaved;
+
+  /* Array of channel positions, one position per channel; its first
+   * num_channels values are valid. They are computed out of the number
+   * of channels if no positions are explicitely given. */
+  GstAudioChannelPosition channel_positions[64];
+
+  /* If the channel_positions are in a valid GStreamer channel order, then
+   * this is not used, and needs_channel_reordering is FALSE. Otherwise,
+   * this contains the same positions as in channel_positions, but in the
+   * order GStreamer expects. needs_channel_reordering will be TRUE in that
+   * case. This is used for reordering samples in outgoing buffers if
+   * necessary. */
+  GstAudioChannelPosition reordered_channel_positions[64];
+
+  /* TRUE if channel reordering is necessary, FALSE otherwise. See above
+   * for details. */
+  gboolean needs_channel_reordering;
+};
+
+
+struct _GstRawAudioParse
+{
+  GstRawBaseParse parent;
+
+  /*< private > */
+
+  /* Configuration controlled by the object properties. Its ready value
+   * is set to TRUE from the start, so it can be used right away.
+   */
+  GstRawAudioParseConfig properties_config;
+  /* Configuration controlled by the sink caps. Its ready value is
+   * initially set to FALSE until valid sink caps come in. It is set to
+   * FALSE again when the stream-start event is observed.
+   */
+  GstRawAudioParseConfig sink_caps_config;
+  /* Currently active configuration. Points either to properties_config
+   * or to sink_caps_config. This is never NULL. */
+  GstRawAudioParseConfig *current_config;
+};
+
+
+struct _GstRawAudioParseClass
+{
+  GstRawBaseParseClass parent_class;
+};
+
+
+GType gst_raw_audio_parse_get_type (void);
+GType gst_raw_audio_parse_format_get_type (void);
+
+
+G_END_DECLS
+
+#endif
diff --git a/gst/rawparse/gstrawbaseparse.c b/gst/rawparse/gstrawbaseparse.c
new file mode 100644
index 0000000..e90f400
--- /dev/null
+++ b/gst/rawparse/gstrawbaseparse.c
@@ -0,0 +1,748 @@
+/* GStreamer
+ * Copyright (C) <2016> Carlos Rafael Giani <dv at pseudoterminal dot org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:gstrawbaseparse
+ * @short_description: Base class for raw media data parsers
+ *
+ * This base class is for parsers which read raw media data and output
+ * timestamped buffers with an integer number of frames inside.
+ *
+ * The format of the raw media data is specified in one of two ways: either,
+ * the information from the sink pad's caps is taken, or the information from
+ * the properties is used (this is chosen by the use-sink-caps property).
+ * These two ways are internally referred to as "configurations". The configuration
+ * that receives its information from the sink pad's caps is called the
+ * "sink caps configuration", while the one that depends on the information from
+ * the properties is the "properties configuration". Configurations have a
+ * "readiness". A configuration is "ready" when it contains valid information.
+ * For example, with an audio parser, a configuration is not ready unless it
+ * contains a valid sample rate, sample format, and channel count.
+ *
+ * The properties configuration must always be ready, even right from the start.
+ * Subclasses must ensure this. The underlying reason is that properties have valid
+ * values right from the start, and with the properties configuration, there is
+ * nothing that readies it before actual data is sent (unlike with the sink caps
+ * configuration, where a sink caps event will ready it before data is pushed
+ * downstream).
+ *
+ * It is possible to switch between the configurations during a stream by
+ * setting the use-sink-caps property. Subclasses typically allow for updating the
+ * properties configuration during a stream by setting the various properties
+ * (like sample-rate for a raw audio parser).
+ * In these cases, the parser will produce a new CAPS event and push it downstream
+ * to announce the caps for the new configuration. This also happens if the sink
+ * caps change.
+ *
+ * A common mistake when trying to parse raw data with no input caps (for example,
+ * a file with raw PCM samples when using rawaudioparse) is to forget to set the
+ * use-sink-caps property to FALSE. In this case, the parser will report an error
+ * when it tries to access the current configuration (because then the sink caps
+ * configuration will be the current one and it will not contain valid values
+ * since no sink caps were seen at this point).
+ *
+ * Subclasses must ensure that the properties configuration is the default one.
+ *
+ * The sink caps configuration is mostly useful with push-based sources, because these
+ * will produce caps events and send them downstream. With pull-based sources, it is
+ * possible that this doesn't happen. Since the sink caps configuration requires a caps
+ * event to arrive at the sinkpad, this will cause the parser to fail then.
+ *
+ * The base class identifies the configurations by means of the GstRawAudioParseConfig
+ * enum. It instructs the subclass to switch between configurations this way, and
+ * also requests information about the current configuration, a configuration's
+ * frame size, its readiness, etc. Subclasses are not required to use any particular
+ * structure for the configuration implementations.
+ *
+ * Use the GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK and GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK
+ * macros to protect configuration modifications.
+ *
+ * <listitem>
+ *   <itemizedlist>
+ *   <title>Summary of the subclass requirements</title>
+ *     <listitem><para>
+ *       Sink caps and properties configurations must both be
+ *       implemented and supported. It must also be ensured that there is a
+ *       "current" configuration.
+ *     </para></listitem>
+ *       Modifications to the configurations must be protected with the
+ *       GstRawBaseParse lock. This is typically necessary when the
+ *       properties configuration is modified by setting new property values.
+ *       (Note that the lock is held during *all* vfunc calls.)
+ *     <listitem><para>
+ *       If the properties configuration is updated (typically by
+ *       setting new property values), gst_raw_base_parse_invalidate_src_caps()
+ *       must be called if the properties config is the current one. This is
+ *       necessary to ensure that GstBaseParse pushes a new caps event downstream
+ *       which contains caps from the updated configuration.
+ *     </para></listitem>
+ *     <listitem><para>
+ *       In case there are bytes in each frame that aren't part of the actual
+ *       payload, the get_overhead_size() vfunc must be defined, and the
+ *       @get_config_frame_size() vfunc must return a frame size that includes
+ *       the number of non-payload bytes (= the overhead). Otherwise, the
+ *       timestamps will incorrectly include the overhead bytes.
+ *     </para></listitem>
+ * </listitem>
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+#include <string.h>
+#include "gstrawbaseparse.h"
+
+
+GST_DEBUG_CATEGORY_STATIC (raw_base_parse_debug);
+#define GST_CAT_DEFAULT raw_base_parse_debug
+
+
+enum
+{
+  PROP_0,
+  PROP_USE_SINK_CAPS
+};
+
+
+#define DEFAULT_USE_SINK_CAPS  FALSE
+#define INITIAL_PARSER_CONFIG \
+  ((DEFAULT_USE_SINK_CAPS) ? GST_RAW_BASE_PARSE_CONFIG_SINKCAPS : \
+   GST_RAW_BASE_PARSE_CONFIG_PROPERTIES)
+
+
+#define gst_raw_base_parse_parent_class parent_class
+G_DEFINE_ABSTRACT_TYPE (GstRawBaseParse, gst_raw_base_parse,
+    GST_TYPE_BASE_PARSE);
+
+
+static void gst_raw_base_parse_finalize (GObject * object);
+static void gst_raw_base_parse_set_property (GObject * object, guint prop_id,
+    GValue const *value, GParamSpec * pspec);
+static void gst_raw_base_parse_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static gboolean gst_raw_base_parse_start (GstBaseParse * parse);
+static gboolean gst_raw_base_parse_stop (GstBaseParse * parse);
+static gboolean gst_raw_base_parse_set_sink_caps (GstBaseParse * parse,
+    GstCaps * caps);
+static GstFlowReturn gst_raw_base_parse_handle_frame (GstBaseParse * parse,
+    GstBaseParseFrame * frame, gint * skipsize);
+static gboolean gst_raw_base_parse_convert (GstBaseParse * parse,
+    GstFormat src_format, gint64 src_value, GstFormat dest_format,
+    gint64 * dest_value);
+
+static gboolean gst_raw_base_parse_is_using_sink_caps (GstRawBaseParse *
+    raw_base_parse);
+static gboolean gst_raw_base_parse_is_gstformat_supported (GstRawBaseParse *
+    raw_base_parse, GstFormat format);
+
+
+
+static void
+gst_raw_base_parse_class_init (GstRawBaseParseClass * klass)
+{
+  GObjectClass *object_class;
+  GstBaseParseClass *baseparse_class;
+
+  GST_DEBUG_CATEGORY_INIT (raw_base_parse_debug, "rawbaseparse", 0,
+      "raw base parse class");
+
+  object_class = G_OBJECT_CLASS (klass);
+  baseparse_class = GST_BASE_PARSE_CLASS (klass);
+
+  object_class->finalize = GST_DEBUG_FUNCPTR (gst_raw_base_parse_finalize);
+  object_class->set_property =
+      GST_DEBUG_FUNCPTR (gst_raw_base_parse_set_property);
+  object_class->get_property =
+      GST_DEBUG_FUNCPTR (gst_raw_base_parse_get_property);
+
+  baseparse_class->start = GST_DEBUG_FUNCPTR (gst_raw_base_parse_start);
+  baseparse_class->stop = GST_DEBUG_FUNCPTR (gst_raw_base_parse_stop);
+  baseparse_class->set_sink_caps =
+      GST_DEBUG_FUNCPTR (gst_raw_base_parse_set_sink_caps);
+  baseparse_class->handle_frame =
+      GST_DEBUG_FUNCPTR (gst_raw_base_parse_handle_frame);
+  baseparse_class->convert = GST_DEBUG_FUNCPTR (gst_raw_base_parse_convert);
+
+  /**
+   * GstRawBaseParse::use-sink-caps:
+   *
+   * Use sink caps configuration. If set to false, the parser
+   * will use the properties configuration instead. It is possible
+   * to switch between these during playback.
+   */
+  g_object_class_install_property (object_class,
+      PROP_USE_SINK_CAPS,
+      g_param_spec_boolean ("use-sink-caps",
+          "Use sink caps",
+          "Use the sink caps for defining the output format",
+          DEFAULT_USE_SINK_CAPS, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+}
+
+
+static void
+gst_raw_base_parse_init (GstRawBaseParse * raw_base_parse)
+{
+  raw_base_parse->src_caps_set = FALSE;
+  g_mutex_init (&(raw_base_parse->config_mutex));
+}
+
+
+static void
+gst_raw_base_parse_finalize (GObject * object)
+{
+  GstRawBaseParse *raw_base_parse = GST_RAW_BASE_PARSE (object);
+
+  g_mutex_clear (&(raw_base_parse->config_mutex));
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+
+static void
+gst_raw_base_parse_set_property (GObject * object, guint prop_id,
+    GValue const *value, GParamSpec * pspec)
+{
+  GstBaseParse *base_parse = GST_BASE_PARSE (object);
+  GstRawBaseParse *raw_base_parse = GST_RAW_BASE_PARSE (object);
+  GstRawBaseParseClass *klass = GST_RAW_BASE_PARSE_GET_CLASS (object);
+
+  g_assert (klass->is_config_ready);
+  g_assert (klass->set_current_config);
+
+  switch (prop_id) {
+    case PROP_USE_SINK_CAPS:
+    {
+      gboolean new_state, cur_state;
+      GstRawBaseParseConfig new_config;
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      /* Check to ensure nothing is done if the value stays the same */
+      new_state = g_value_get_boolean (value);
+      cur_state = gst_raw_base_parse_is_using_sink_caps (raw_base_parse);
+      if (new_state == cur_state) {
+        GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+        break;
+      }
+
+      GST_DEBUG_OBJECT (raw_base_parse, "switching to %s config",
+          new_state ? "sink caps" : "properties");
+      new_config =
+          new_state ? GST_RAW_BASE_PARSE_CONFIG_SINKCAPS :
+          GST_RAW_BASE_PARSE_CONFIG_PROPERTIES;
+
+      if (!klass->set_current_config (raw_base_parse, new_config)) {
+        GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+        GST_ELEMENT_ERROR (raw_base_parse, STREAM, FAILED,
+            ("could not set new current config"), ("use-sink-caps property: %d",
+                new_state));
+        break;
+      }
+
+      /* Update the minimum frame size if the config is ready. This ensures that
+       * the next buffer that is passed to handle_frame contains complete frames.
+       * If the current config is the properties config, then it will always be
+       * ready, and its frame size will be valid. Ensure that the baseparse minimum
+       * frame size is set properly then.
+       * If the current config is the sink caps config, then it will initially not
+       * be ready until the sink caps are set, so the minimum frame size cannot be
+       * set right here. However, since the caps always come in *before* the actual
+       * data, the config will be readied in the set_sink_caps function, and be ready
+       * by the time handle_frame is called. There, the minimum frame size is set as
+       * well. */
+      if (klass->is_config_ready (raw_base_parse,
+              GST_RAW_BASE_PARSE_CONFIG_CURRENT)) {
+        gsize frame_size = klass->get_config_frame_size (raw_base_parse,
+            GST_RAW_BASE_PARSE_CONFIG_CURRENT);
+        gst_base_parse_set_min_frame_size (base_parse, frame_size);
+      }
+
+      /* Since the current config was switched, the source caps change. Ensure the
+       * new caps are pushed downstream by setting src_caps_set to FALSE: This way,
+       * the next handle_frame call will take care of that. */
+      raw_base_parse->src_caps_set = FALSE;
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+
+      break;
+    }
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+
+static void
+gst_raw_base_parse_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstRawBaseParse *raw_base_parse = GST_RAW_BASE_PARSE (object);
+
+  switch (prop_id) {
+    case PROP_USE_SINK_CAPS:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_boolean (value,
+          gst_raw_base_parse_is_using_sink_caps (raw_base_parse));
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+
+static gboolean
+gst_raw_base_parse_start (GstBaseParse * parse)
+{
+  GstBaseParse *base_parse = GST_BASE_PARSE (parse);
+  GstRawBaseParse *raw_base_parse = GST_RAW_BASE_PARSE (parse);
+  GstRawBaseParseClass *klass = GST_RAW_BASE_PARSE_GET_CLASS (parse);
+
+  g_assert (klass->set_current_config);
+
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (raw_base_parse);
+
+  /* If the config is ready from the start, set the min frame size
+   * (this will happen with the properties config) */
+  if (klass->is_config_ready (raw_base_parse,
+          GST_RAW_BASE_PARSE_CONFIG_CURRENT)) {
+    gsize frame_size = klass->get_config_frame_size (raw_base_parse,
+        GST_RAW_BASE_PARSE_CONFIG_CURRENT);
+    gst_base_parse_set_min_frame_size (base_parse, frame_size);
+  }
+
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (raw_base_parse);
+
+  return TRUE;
+}
+
+
+static gboolean
+gst_raw_base_parse_stop (GstBaseParse * parse)
+{
+  GstRawBaseParse *raw_base_parse = GST_RAW_BASE_PARSE (parse);
+
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (raw_base_parse);
+  raw_base_parse->src_caps_set = FALSE;
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (raw_base_parse);
+
+  return TRUE;
+}
+
+
+static gboolean
+gst_raw_base_parse_set_sink_caps (GstBaseParse * parse, GstCaps * caps)
+{
+  gboolean ret = FALSE;
+  GstRawBaseParse *raw_base_parse = GST_RAW_BASE_PARSE (parse);
+  GstRawBaseParseClass *klass = GST_RAW_BASE_PARSE_GET_CLASS (parse);
+
+  g_assert (klass->set_config_from_caps);
+  g_assert (klass->get_caps_from_config);
+  g_assert (klass->get_config_frame_size);
+
+
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (raw_base_parse);
+
+  GST_DEBUG_OBJECT (parse, "getting config from new sink caps");
+
+  /* Convert the new sink caps to sink caps config. This also
+   * readies the config. */
+  ret =
+      klass->set_config_from_caps (raw_base_parse,
+      GST_RAW_BASE_PARSE_CONFIG_SINKCAPS, caps);
+  if (!ret) {
+    GST_ERROR_OBJECT (raw_base_parse, "could not get config from sink caps");
+    goto done;
+  }
+
+  /* If the sink caps config is currently active, push caps downstream,
+   * set the minimum frame size (to guarantee that input buffers hold
+   * complete frames), and update the src_caps_set flag. If the sink
+   * caps config isn't the currently active config, just exit, since in
+   * that case, the caps will always be pushed downstream in handle_frame. */
+  if (gst_raw_base_parse_is_using_sink_caps (raw_base_parse)) {
+    GstCaps *new_src_caps;
+    gsize frame_size;
+
+    GST_DEBUG_OBJECT (parse,
+        "sink caps config is the current one; trying to push new caps downstream");
+
+    /* Convert back to caps. The caps may have changed, for example
+     * audio/x-unaligned-raw may have been replaced with audio/x-raw.
+     * (Also, this keeps the behavior in sync with that of the block
+     * in handle_frame that pushes caps downstream if not done already.) */
+    if (!klass->get_caps_from_config (raw_base_parse,
+            GST_RAW_BASE_PARSE_CONFIG_CURRENT, &new_src_caps)) {
+      GST_ERROR_OBJECT (raw_base_parse,
+          "could not get src caps from current config");
+      goto done;
+    }
+
+    GST_DEBUG_OBJECT (raw_base_parse,
+        "got new sink caps; updating src caps to %" GST_PTR_FORMAT,
+        (gpointer) new_src_caps);
+
+    frame_size =
+        klass->get_config_frame_size (raw_base_parse,
+        GST_RAW_BASE_PARSE_CONFIG_CURRENT);
+    gst_base_parse_set_min_frame_size (parse, frame_size);
+
+    raw_base_parse->src_caps_set = TRUE;
+
+    GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (raw_base_parse);
+
+    /* Push caps outside of the lock */
+    gst_pad_push_event (GST_BASE_PARSE_SRC_PAD (raw_base_parse),
+        gst_event_new_caps (new_src_caps)
+        );
+
+    gst_caps_unref (new_src_caps);
+  } else {
+    GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (raw_base_parse);
+  }
+
+  ret = TRUE;
+
+done:
+  return ret;
+}
+
+
+static GstFlowReturn
+gst_raw_base_parse_handle_frame (GstBaseParse * parse,
+    GstBaseParseFrame * frame, gint * skipsize)
+{
+  gsize in_size, out_size;
+  guint frame_size;
+  guint num_out_frames;
+  gsize units_n, units_d;
+  guint64 buffer_duration;
+  GstFlowReturn flow_ret = GST_FLOW_OK;
+  GstEvent *new_caps_event = NULL;
+  GstRawBaseParse *raw_base_parse = GST_RAW_BASE_PARSE (parse);
+  GstRawBaseParseClass *klass = GST_RAW_BASE_PARSE_GET_CLASS (parse);
+
+  g_assert (klass->is_config_ready);
+  g_assert (klass->get_caps_from_config);
+  g_assert (klass->get_config_frame_size);
+  g_assert (klass->get_units_per_second);
+
+
+  /* We never skip any bytes this way. Instead, subclass takes care
+   * of skipping any overhead (necessary, since the way it needs to
+   * be skipped is completely subclass specific). */
+  *skipsize = 0;
+
+
+  /* The operations below access the current config. Protect
+   * against race conditions by using the object lock. */
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (raw_base_parse);
+
+
+  /* If the source pad caps haven't been set yet, or need to be
+   * set again, do so now, BEFORE any buffers are pushed out */
+  if (G_UNLIKELY (!raw_base_parse->src_caps_set)) {
+    GstCaps *new_src_caps;
+
+    if (G_UNLIKELY (!klass->is_config_ready (raw_base_parse,
+                GST_RAW_BASE_PARSE_CONFIG_CURRENT))) {
+      /* The current configuration is not ready. No caps can be
+       * generated out of it.
+       * The most likely reason for this is that the sink caps config
+       * is the current one and no valid sink caps have been pushed
+       * by upstream. Report the problem and exit. */
+
+      if (gst_raw_base_parse_is_using_sink_caps (raw_base_parse)) {
+        goto config_not_ready;
+      } else {
+        /* This should not be reached if the property config is active */
+        g_assert_not_reached ();
+      }
+    }
+
+    GST_DEBUG_OBJECT (parse,
+        "setting src caps since this has not been done yet");
+
+    /* Convert the current config to a caps structure to
+     * inform downstream about the new format */
+    if (!klass->get_caps_from_config (raw_base_parse,
+            GST_RAW_BASE_PARSE_CONFIG_CURRENT, &new_src_caps)) {
+      GST_ERROR_OBJECT (raw_base_parse,
+          "could not get src caps from current config");
+      flow_ret = GST_FLOW_NOT_NEGOTIATED;
+      goto error_locked;
+    }
+
+    new_caps_event = gst_event_new_caps (new_src_caps);
+    gst_caps_unref (new_src_caps);
+
+    raw_base_parse->src_caps_set = TRUE;
+  }
+
+  frame_size =
+      klass->get_config_frame_size (raw_base_parse,
+      GST_RAW_BASE_PARSE_CONFIG_CURRENT);
+
+
+  in_size = gst_buffer_get_size (frame->buffer);
+
+  /* gst_base_parse_set_min_frame_size() is called when the current
+   * configuration changes and the change affects the frame size. This
+   * means that a buffer must contain at least as many bytes as indicated
+   * by the frame size. If there are fewer inside an error occurred;
+   * either something in the parser went wrong, or the min frame size
+   * wasn't updated properly. */
+  g_assert (in_size >= frame_size);
+
+  /* Determine how many complete frames would fit in the input buffer.
+   * Then check if this amount exceeds the maximum number of frames
+   * as indicated by the subclass. */
+  num_out_frames = (in_size / frame_size);
+  if (klass->get_max_frames_per_buffer) {
+    guint max_num_out_frames = klass->get_max_frames_per_buffer (raw_base_parse,
+        GST_RAW_BASE_PARSE_CONFIG_CURRENT);
+    num_out_frames = MIN (num_out_frames, max_num_out_frames);
+  }
+
+  /* Ensure that the size of the buffers that get pushed downstream
+   * is always an integer multiple of the frame size to prevent cases
+   * where downstream gets buffers with incomplete frames. */
+  out_size = num_out_frames * frame_size;
+
+  /* Set the overhead size to ensure that timestamping excludes these
+   * extra overhead bytes. */
+  frame->overhead =
+      klass->get_overhead_size ? klass->get_overhead_size (raw_base_parse,
+      GST_RAW_BASE_PARSE_CONFIG_CURRENT) : 0;
+
+  g_assert (out_size >= (guint) (frame->overhead));
+  out_size -= frame->overhead;
+
+  GST_LOG_OBJECT (raw_base_parse,
+      "%" G_GSIZE_FORMAT " bytes input  %" G_GSIZE_FORMAT
+      " bytes output (%u frame(s))  %d bytes overhead", in_size, out_size,
+      num_out_frames, frame->overhead);
+
+  /* Calculate buffer duration */
+  klass->get_units_per_second (raw_base_parse, GST_FORMAT_BYTES,
+      GST_RAW_BASE_PARSE_CONFIG_CURRENT, &units_n, &units_d);
+  if (units_n == 0 || units_d == 0)
+    buffer_duration = GST_CLOCK_TIME_NONE;
+  else
+    buffer_duration =
+        gst_util_uint64_scale (out_size, GST_SECOND * units_d, units_n);
+
+  if (klass->process) {
+    GstBuffer *processed_data = NULL;
+
+    if (!klass->process (raw_base_parse, GST_RAW_BASE_PARSE_CONFIG_CURRENT,
+            frame->buffer, in_size, out_size, &processed_data))
+      goto process_error;
+
+    frame->out_buffer = processed_data;
+  } else {
+    frame->out_buffer = NULL;
+  }
+
+  /* Set the duration of the output buffer, or if none exists, of
+   * the input buffer. Do this after the process() call, since in
+   * case out_buffer is set, the subclass has created a new buffer.
+   * Instead of requiring subclasses to set the duration (which
+   * anyway must always be buffer_duration), let's do it here. */
+  if (frame->out_buffer != NULL)
+    GST_BUFFER_DURATION (frame->out_buffer) = buffer_duration;
+  else
+    GST_BUFFER_DURATION (frame->buffer) = buffer_duration;
+
+  /* Access to the current config is not needed in subsequent
+   * operations, so the lock can be released */
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (raw_base_parse);
+
+
+  /* If any new caps have to be pushed downstrean, do so
+   * *before* the frame is finished */
+  if (G_UNLIKELY (new_caps_event != NULL)) {
+    gst_pad_push_event (GST_BASE_PARSE_SRC_PAD (raw_base_parse),
+        new_caps_event);
+    new_caps_event = NULL;
+  }
+
+  gst_base_parse_finish_frame (parse, frame, out_size + frame->overhead);
+
+
+  return flow_ret;
+
+
+config_not_ready:
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (raw_base_parse);
+  GST_ELEMENT_ERROR (parse, STREAM, FORMAT,
+      ("sink caps config is the current config, and it is not ready -"
+          "upstream may not have pushed a caps event yet"), (NULL));
+  flow_ret = GST_FLOW_ERROR;
+  goto error_end;
+
+process_error:
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (raw_base_parse);
+  GST_ELEMENT_ERROR (parse, STREAM, DECODE, ("could not process data"), (NULL));
+  flow_ret = GST_FLOW_ERROR;
+  goto error_end;
+
+error_locked:
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (raw_base_parse);
+  goto error_end;
+
+error_end:
+  frame->flags |= GST_BASE_PARSE_FRAME_FLAG_DROP;
+  if (new_caps_event != NULL)
+    gst_event_unref (new_caps_event);
+  return flow_ret;
+}
+
+
+static gboolean
+gst_raw_base_parse_convert (GstBaseParse * parse, GstFormat src_format,
+    gint64 src_value, GstFormat dest_format, gint64 * dest_value)
+{
+  GstRawBaseParse *raw_base_parse = GST_RAW_BASE_PARSE (parse);
+  GstRawBaseParseClass *klass = GST_RAW_BASE_PARSE_GET_CLASS (parse);
+  gboolean ret = TRUE;
+  gsize units_n, units_d;
+
+  g_assert (klass->is_config_ready);
+  g_assert (klass->get_units_per_second);
+
+
+  /* The operations below access the current config. Protect
+   * against race conditions by using the object lock. */
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (raw_base_parse);
+
+
+  if (!klass->is_config_ready (raw_base_parse,
+          GST_RAW_BASE_PARSE_CONFIG_CURRENT)) {
+    if (gst_raw_base_parse_is_using_sink_caps (raw_base_parse)) {
+      goto config_not_ready;
+    } else {
+      /* This should not be reached if the property config is active */
+      g_assert_not_reached ();
+    }
+  }
+
+  if (G_UNLIKELY (src_format == dest_format)) {
+    *dest_value = src_value;
+  } else if ((src_format == GST_FORMAT_TIME || dest_format == GST_FORMAT_TIME)
+      && gst_raw_base_parse_is_gstformat_supported (raw_base_parse, src_format)
+      && gst_raw_base_parse_is_gstformat_supported (raw_base_parse, src_format)) {
+    /* Perform conversions here if either the src or dest format
+     * are GST_FORMAT_TIME and the other format is supported by
+     * the subclass. This is because we perform TIME<->non-TIME
+     * conversions here. Typically, subclasses only support
+     * BYTES and DEFAULT formats. */
+
+    if (src_format == GST_FORMAT_TIME) {
+      /* The source format is time, so perform a TIME -> non-TIME conversion */
+      klass->get_units_per_second (raw_base_parse, dest_format,
+          GST_RAW_BASE_PARSE_CONFIG_CURRENT, &units_n, &units_d);
+      *dest_value = (units_n == 0
+          || units_d == 0) ? src_value : gst_util_uint64_scale (src_value,
+          units_n, GST_SECOND * units_d);
+    } else {
+      /* The dest format is time, so perform a non-TIME -> TIME conversion */
+      klass->get_units_per_second (raw_base_parse, src_format,
+          GST_RAW_BASE_PARSE_CONFIG_CURRENT, &units_n, &units_d);
+      *dest_value = (units_n == 0
+          || units_d == 0) ? src_value : gst_util_uint64_scale (src_value,
+          GST_SECOND * units_d, units_n);
+    }
+  } else {
+    /* Fallback for other conversions */
+    ret =
+        gst_base_parse_convert_default (parse, src_format, src_value,
+        dest_format, dest_value);
+  }
+
+  GST_DEBUG_OBJECT (parse,
+      "converted %s -> %s  %" G_GINT64_FORMAT " -> %" GST_TIME_FORMAT,
+      gst_format_get_name (src_format), gst_format_get_name (dest_format),
+      src_value, GST_TIME_ARGS (*dest_value));
+
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (raw_base_parse);
+  return ret;
+
+
+config_not_ready:
+  GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (raw_base_parse);
+  GST_ELEMENT_ERROR (parse, STREAM, FORMAT,
+      ("sink caps config is the current config, and it is not ready - "
+          "upstream may not have pushed a caps event yet"), (NULL));
+  return FALSE;
+}
+
+
+static gboolean
+gst_raw_base_parse_is_using_sink_caps (GstRawBaseParse * raw_base_parse)
+{
+  /* must be called with lock */
+  GstRawBaseParseClass *klass = GST_RAW_BASE_PARSE_GET_CLASS (raw_base_parse);
+  g_assert (klass->get_current_config);
+  return klass->get_current_config (raw_base_parse) ==
+      GST_RAW_BASE_PARSE_CONFIG_SINKCAPS;
+}
+
+
+static gboolean
+gst_raw_base_parse_is_gstformat_supported (GstRawBaseParse * raw_base_parse,
+    GstFormat format)
+{
+  /* must be called with lock */
+  GstRawBaseParseClass *klass = GST_RAW_BASE_PARSE_GET_CLASS (raw_base_parse);
+  g_assert (klass->is_unit_format_supported);
+  return klass->is_unit_format_supported (raw_base_parse, format);
+}
+
+
+
+
+
+/**
+ * gst_raw_base_parse_invalidate_src_caps:
+ * @raw_base_parse: a #GstRawBaseParse instance
+ *
+ * Flags the current source caps as invalid. Before the next downstream
+ * buffer push, @get_caps_from_config is called, and the created caps are
+ * pushed downstream in a new caps event, This is used if for example the
+ * properties configuration is modified in the subclass.
+ *
+ * Note that this must be called with the parser lock held. Use the
+ * GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK() and GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK()
+ * macros for this purpose.
+ */
+void
+gst_raw_base_parse_invalidate_src_caps (GstRawBaseParse * raw_base_parse)
+{
+  /* must be called with lock */
+  g_assert (raw_base_parse != NULL);
+  raw_base_parse->src_caps_set = FALSE;
+}
diff --git a/gst/rawparse/gstrawbaseparse.h b/gst/rawparse/gstrawbaseparse.h
new file mode 100644
index 0000000..519b409
--- /dev/null
+++ b/gst/rawparse/gstrawbaseparse.h
@@ -0,0 +1,207 @@
+/* GStreamer
+ * Copyright (C) <2016> Carlos Rafael Giani <dv at pseudoterminal dot org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_RAW_BASE_PARSE_H__
+#define __GST_RAW_BASE_PARSE_H__
+
+#include <gst/gst.h>
+#include <gst/base/base.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_RAW_BASE_PARSE \
+  (gst_raw_base_parse_get_type())
+#define GST_RAW_BASE_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_RAW_BASE_PARSE, GstRawBaseParse))
+#define GST_RAW_BASE_PARSE_CAST(obj) \
+  ((GstRawBaseParse *)(obj))
+#define GST_RAW_BASE_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_RAW_BASE_PARSE, GstRawBaseParseClass))
+#define GST_RAW_BASE_PARSE_GET_CLASS(obj) \
+  (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_RAW_BASE_PARSE, GstRawBaseParseClass))
+#define GST_IS_RAW_BASE_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_RAW_BASE_PARSE))
+#define GST_IS_RAW_BASE_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_RAW_BASE_PARSE))
+
+#define GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK(obj)   g_mutex_lock(&(((GstRawBaseParse *)(obj))->config_mutex))
+#define GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK(obj) g_mutex_unlock(&(((GstRawBaseParse *)(obj))->config_mutex))
+
+
+typedef enum _GstRawBaseParseConfig GstRawBaseParseConfig;
+typedef struct _GstRawBaseParse GstRawBaseParse;
+typedef struct _GstRawBaseParseClass GstRawBaseParseClass;
+
+
+/**
+ * GstRawBaseParseConfig:
+ * @GST_RAW_BASE_PARSE_CONFIG_CURRENT: configuration that is currently active
+ * @GST_RAW_BASE_PARSE_CONFIG_SINKCAPS: configuration that is defined by the input sink caps
+ * @GST_RAW_BASE_PARSE_CONFIG_PROPERTIES: configuration that is defined by class properties
+ *
+ * Identifier for the type of parser configuration.
+ */
+enum _GstRawBaseParseConfig
+{
+  GST_RAW_BASE_PARSE_CONFIG_CURRENT = 1,
+  GST_RAW_BASE_PARSE_CONFIG_SINKCAPS,
+  GST_RAW_BASE_PARSE_CONFIG_PROPERTIES
+};
+
+
+/**
+ * GstRawBaseParse:
+ *
+ * The opaque #GstRawBaseParse data structure.
+ */
+struct _GstRawBaseParse
+{
+  GstBaseParse parent;
+
+  /*< private > */
+
+  /* TRUE if the source pad caps have been set already. This is used
+   * for checking if the source pad caps have to be set. */
+  gboolean src_caps_set;
+
+  /* Mutex which protects access to and modifications on the configs. */
+  GMutex config_mutex;
+};
+
+
+/**
+ * GstRawBaseParseClass:
+ * @parent_class:              The parent class structure
+ * @set_current_config:        Sets the new current configuration. Subclasses must internally
+ *                             switch to this new configuration. Return FALSE if this failed,
+ *                             TRUE otherwise.
+ * @get_current_config:        Gets the current configuration. All return values except
+ *                             except GST_RAW_BASE_PARSE_CONFIG_CURRENT are valid.
+ * @set_config_from_caps:      Parses the caps and copies its information to the configuration.
+ *                             Returns FALSE if this failed, TRUE otheriwse. Specified caps
+ *                             are not unref'd.
+ * @get_caps_from_config:      Creates a new caps structure out of the information from the
+ *                             specified configuration. Ownership over the returned caps are
+ *                             transferred to the caller. If something fails during the caps
+ *                             creation, the vfunc must make sure to destroy any partially
+ *                             created caps; the *caps value is always set to NULL in case of
+ *                             failure. Returns FALSE in case of failure,
+ *                             TRUE in case of success.
+ * @get_config_frame_size:     Gets the size of one frame, in bytes, from the specified
+ *                             configuration. This must be the size of the complete frame,
+ *                             including any overhead (metadata, headers, padding bytes etc.).
+ * @get_max_frames_per_buffer: Optional.
+ *                             Returns up to how many complete frames one output buffer may
+ *                             contain. The value must be nonzero. This is useful for example
+ *                             with video parsers which need to ensure that one output buffer
+ *                             contains only one video frame, even if the input buffer contains
+ *                             several complete frames. If this vfunc is not set, then there
+ *                             is no maximum number of frames per buffer - the parser reads
+ *                             as many complete frames as possible from the input buffer.
+ * @is_config_ready:           Returns TRUE if the specified configuration is ready, FALSE
+ *                             otherwise.
+ * @process:                   Optional.
+ *                             This is useful to do any last minute processing before the
+ *                             data is pushed downstream. One example is channel reordering
+ *                             in audio parsers.
+ *                             in_data is the complete input buffer, total_num_in_bytes is
+ *                             the total amount of bytes this input buffer contains (including
+ *                             excess bytes that form an incomplete rame). num_valid_in_bytes
+ *                             is the subset of these bytes that are to be pushed downstream.
+ *                             If for example the frame size is 4, and total_num_in_bytes is
+ *                             411, then num_valid_in_bytes will be 408, since the last 3
+ *                             bytes form an incomplete frame.
+ *                             The value of num_valid_in_bytes excludes the overhead bytes
+ *                             indicated by @get_overhead_size.
+ *                             If the subclass creates a new buffer here, *processed_data
+ *                             must be set to the new buffer's pointer. If the subclass does
+ *                             not create any new buffer, and just expects the first
+ *                             num_valid_in_bytes of the input buffer to be pushed downstream,
+ *                             then *processed_data must be set to NULL.
+ *                             If this vfunc is not set, then the parser behaves as if this
+ *                             vfunc set *processed_data data to NULL.
+ * @is_unit_format_supported:  Returns TRUE if the given format is supported by the
+ *                             @get_units_per_second function, FALSE otherwise.
+ * @get_units_per_second:      Returns how many units per second exist for a given format.
+ *                             For example, with an audio parser and format DEFAULT, the units
+ *                             per second are typically the number of samples per second
+ *                             (= the sample rate). For video parsers, this would be the frame
+ *                             rate. If BYTES or TIME are used as format, then the result must
+ *                             not include any extra overhead (metadata, headers, padding etc.)
+ * @get_overhead_size:         Optional.
+ *                             Returns the number of bytes that make up the portion of a frame
+ *                             that isn't payload. Examples are padding bytes, headers, and
+ *                             other kinds of metadata. If this vfunc isn't defined, then an
+ *                             overhead size of 0 bytes is assumed.
+ *
+ * Subclasses are required to override all vfuncs except for @process, which is optional.
+ * The raw base parser lock is held during all vfunc calls.
+ */
+struct _GstRawBaseParseClass
+{
+  GstBaseParseClass parent_class;
+
+  gboolean              (*set_current_config)        (GstRawBaseParse *raw_base_parse,
+                                                      GstRawBaseParseConfig config);
+  GstRawBaseParseConfig (*get_current_config)        (GstRawBaseParse *raw_base_parse);
+
+  gboolean              (*set_config_from_caps)      (GstRawBaseParse * raw_base_parse,
+                                                      GstRawBaseParseConfig config,
+                                                      GstCaps * caps);
+  gboolean              (*get_caps_from_config)      (GstRawBaseParse * raw_base_parse,
+                                                      GstRawBaseParseConfig config,
+                                                      GstCaps ** caps);
+
+  gsize                 (*get_config_frame_size)     (GstRawBaseParse * raw_base_parse,
+                                                      GstRawBaseParseConfig config);
+  guint                 (*get_max_frames_per_buffer) (GstRawBaseParse * raw_base_parse,
+                                                      GstRawBaseParseConfig config);
+
+  gboolean              (*is_config_ready)           (GstRawBaseParse * raw_base_parse,
+                                                      GstRawBaseParseConfig config);
+
+  gboolean              (*process)                   (GstRawBaseParse * raw_base_parse,
+                                                      GstRawBaseParseConfig config,
+                                                      GstBuffer * in_data,
+                                                      gsize total_num_in_bytes,
+                                                      gsize num_valid_in_bytes,
+                                                      GstBuffer ** processed_data);
+
+  gboolean              (*is_unit_format_supported)  (GstRawBaseParse * raw_base_parse,
+                                                      GstFormat format);
+  void                  (*get_units_per_second)      (GstRawBaseParse * raw_base_parse,
+                                                      GstFormat format,
+                                                      GstRawBaseParseConfig config,
+                                                      gsize * units_per_sec_n,
+                                                      gsize * units_per_sec_d);
+
+  gint                  (*get_overhead_size)         (GstRawBaseParse * raw_base_parse,
+                                                      GstRawBaseParseConfig config);
+};
+
+
+void gst_raw_base_parse_invalidate_src_caps (GstRawBaseParse * raw_base_parse);
+
+
+GType gst_raw_base_parse_get_type (void);
+
+
+G_END_DECLS
+
+#endif
diff --git a/gst/rawparse/gstrawparse.c b/gst/rawparse/gstrawparse.c
deleted file mode 100644
index bd2ee11..0000000
--- a/gst/rawparse/gstrawparse.c
+++ /dev/null
@@ -1,1105 +0,0 @@
-/* GStreamer
- * Copyright (C) 2006 David A. Schleef <ds@schleef.org>
- * Copyright (C) 2007 Sebastian Dröge <slomo@circular-chaos.org>
- *
- * gstrawparse.c:
- *
- * 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.
- */
-
-/* TODO: - Add locking where appropiate
- */
-
-#ifdef HAVE_CONFIG_H
-#  include "config.h"
-#endif
-
-#include <string.h>
-
-#include <gst/gst.h>
-#include <gst/base/gstbasetransform.h>
-#include <gst/base/gstadapter.h>
-
-#include "gstrawparse.h"
-
-static void gst_raw_parse_dispose (GObject * object);
-
-static gboolean gst_raw_parse_sink_activate (GstPad * sinkpad,
-    GstObject * parent);
-static gboolean gst_raw_parse_sink_activatemode (GstPad * sinkpad,
-    GstObject * parent, GstPadMode mode, gboolean active);
-static void gst_raw_parse_loop (GstElement * element);
-static GstStateChangeReturn gst_raw_parse_change_state (GstElement * element,
-    GstStateChange transition);
-static GstFlowReturn gst_raw_parse_chain (GstPad * pad, GstObject * parent,
-    GstBuffer * buffer);
-static gboolean gst_raw_parse_sink_event (GstPad * pad, GstObject * parent,
-    GstEvent * event);
-static gboolean gst_raw_parse_src_event (GstPad * pad, GstObject * parent,
-    GstEvent * event);
-static gboolean gst_raw_parse_src_query (GstPad * pad, GstObject * parent,
-    GstQuery * query);
-static gboolean gst_raw_parse_convert (GstRawParse * rp, GstFormat src_format,
-    gint64 src_value, GstFormat dest_format, gint64 * dest_value);
-static gboolean gst_raw_parse_handle_seek_pull (GstRawParse * rp,
-    GstEvent * event);
-
-static void gst_raw_parse_reset (GstRawParse * rp);
-
-static GstStaticPadTemplate gst_raw_parse_sink_pad_template =
-GST_STATIC_PAD_TEMPLATE ("sink",
-    GST_PAD_SINK,
-    GST_PAD_ALWAYS,
-    GST_STATIC_CAPS_ANY);
-
-GST_DEBUG_CATEGORY_STATIC (gst_raw_parse_debug);
-#define GST_CAT_DEFAULT gst_raw_parse_debug
-
-static void gst_raw_parse_class_init (GstRawParseClass * klass);
-static void gst_raw_parse_init (GstRawParse * clip, GstRawParseClass * g_class);
-
-static GstElementClass *parent_class;
-
-/* we can't use G_DEFINE_ABSTRACT_TYPE because we need the klass in the _init
- * method to get to the padtemplates */
-GType
-gst_raw_parse_get_type (void)
-{
-  static volatile gsize raw_parse_type = 0;
-
-  if (g_once_init_enter (&raw_parse_type)) {
-    GType _type;
-
-    _type = g_type_register_static_simple (GST_TYPE_ELEMENT,
-        "GstRawParse", sizeof (GstRawParseClass),
-        (GClassInitFunc) gst_raw_parse_class_init, sizeof (GstRawParse),
-        (GInstanceInitFunc) gst_raw_parse_init, G_TYPE_FLAG_ABSTRACT);
-
-    g_once_init_leave (&raw_parse_type, _type);
-  }
-  return raw_parse_type;
-}
-
-static void
-gst_raw_parse_class_init (GstRawParseClass * klass)
-{
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-  GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
-
-  parent_class = g_type_class_peek_parent (klass);
-
-  gobject_class->dispose = gst_raw_parse_dispose;
-
-  gstelement_class->change_state =
-      GST_DEBUG_FUNCPTR (gst_raw_parse_change_state);
-
-  gst_element_class_add_static_pad_template (gstelement_class,
-      &gst_raw_parse_sink_pad_template);
-
-  GST_DEBUG_CATEGORY_INIT (gst_raw_parse_debug, "rawparse", 0,
-      "rawparse element");
-}
-
-static void
-gst_raw_parse_init (GstRawParse * rp, GstRawParseClass * g_class)
-{
-  GstPadTemplate *src_pad_template;
-  GstElementClass *element_class = GST_ELEMENT_CLASS (g_class);
-
-  rp->sinkpad =
-      gst_pad_new_from_static_template (&gst_raw_parse_sink_pad_template,
-      "sink");
-  gst_pad_set_chain_function (rp->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_raw_parse_chain));
-  gst_pad_set_event_function (rp->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_raw_parse_sink_event));
-  gst_pad_set_activate_function (rp->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_raw_parse_sink_activate));
-  gst_pad_set_activatemode_function (rp->sinkpad,
-      GST_DEBUG_FUNCPTR (gst_raw_parse_sink_activatemode));
-  gst_element_add_pad (GST_ELEMENT (rp), rp->sinkpad);
-
-  src_pad_template = gst_element_class_get_pad_template (element_class, "src");
-
-  if (src_pad_template) {
-    rp->srcpad = gst_pad_new_from_template (src_pad_template, "src");
-  } else {
-    g_warning ("Subclass didn't specify a src pad template");
-    g_assert_not_reached ();
-  }
-
-  gst_pad_set_event_function (rp->srcpad,
-      GST_DEBUG_FUNCPTR (gst_raw_parse_src_event));
-  gst_pad_set_query_function (rp->srcpad,
-      GST_DEBUG_FUNCPTR (gst_raw_parse_src_query));
-  gst_element_add_pad (GST_ELEMENT (rp), rp->srcpad);
-
-  rp->adapter = gst_adapter_new ();
-
-  rp->fps_n = 1;
-  rp->fps_d = 0;
-  rp->framesize = 1;
-
-  gst_raw_parse_reset (rp);
-}
-
-static void
-gst_raw_parse_dispose (GObject * object)
-{
-  GstRawParse *rp = GST_RAW_PARSE (object);
-
-  if (rp->adapter) {
-    g_object_unref (rp->adapter);
-    rp->adapter = NULL;
-  }
-
-  G_OBJECT_CLASS (parent_class)->dispose (object);
-}
-
-void
-gst_raw_parse_class_set_src_pad_template (GstRawParseClass * klass,
-    const GstCaps * allowed_caps)
-{
-  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
-
-  g_return_if_fail (GST_IS_RAW_PARSE_CLASS (klass));
-  g_return_if_fail (allowed_caps != NULL);
-  g_return_if_fail (GST_IS_CAPS (allowed_caps));
-
-  gst_element_class_add_pad_template (element_class,
-      gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
-          gst_caps_copy (allowed_caps)));
-}
-
-void
-gst_raw_parse_class_set_multiple_frames_per_buffer (GstRawParseClass * klass,
-    gboolean multiple_frames)
-{
-  g_return_if_fail (GST_IS_RAW_PARSE_CLASS (klass));
-
-  klass->multiple_frames_per_buffer = multiple_frames;
-}
-
-static void
-gst_raw_parse_reset (GstRawParse * rp)
-{
-  rp->n_frames = 0;
-  rp->discont = TRUE;
-  rp->negotiated = FALSE;
-
-  gst_segment_init (&rp->segment, GST_FORMAT_TIME);
-  gst_adapter_clear (rp->adapter);
-}
-
-static gboolean
-gst_raw_parse_set_src_caps (GstRawParse * rp)
-{
-  GstRawParseClass *rp_class = GST_RAW_PARSE_GET_CLASS (rp);
-  GstCaps *caps;
-
-  if (rp->negotiated)
-    return TRUE;
-
-  if (rp_class->get_caps) {
-    caps = rp_class->get_caps (rp);
-  } else {
-    GST_WARNING
-        ("Subclass doesn't implement get_caps() method, using ANY caps");
-    caps = gst_caps_new_any ();
-  }
-
-  rp->negotiated = gst_pad_set_caps (rp->srcpad, caps);
-
-  /* if subclass inplement decide_allocation, send an allocation
-   * query, pass result to subclass and let it handle allocation if needed. */
-  if (rp_class->decide_allocation) {
-    GstQuery *query;
-
-    query = gst_query_new_allocation (caps, TRUE);
-    if (!gst_pad_peer_query (rp->srcpad, query)) {
-      /* not a problem, just debug a little */
-      GST_DEBUG_OBJECT (rp, "peer ALLOCATION query failed");
-    }
-
-    rp_class->decide_allocation (rp, query);
-    gst_query_unref (query);
-  }
-
-  gst_caps_unref (caps);
-
-  return rp->negotiated;
-}
-
-static GstFlowReturn
-gst_raw_parse_push_buffer (GstRawParse * rp, GstBuffer * buffer)
-{
-  GstFlowReturn ret;
-  gint nframes;
-  GstRawParseClass *rpclass;
-  gsize size;
-
-  rpclass = GST_RAW_PARSE_GET_CLASS (rp);
-
-  size = gst_buffer_get_size (buffer);
-  nframes = size / rp->framesize;
-
-  if (rp->segment.rate < 0) {
-    rp->n_frames -= nframes;
-    rp->discont = TRUE;
-  }
-
-  GST_BUFFER_OFFSET (buffer) = rp->n_frames;
-  GST_BUFFER_OFFSET_END (buffer) = rp->n_frames + nframes;
-
-  if (rp->fps_n) {
-    GST_BUFFER_TIMESTAMP (buffer) =
-        gst_util_uint64_scale (rp->n_frames, GST_SECOND * rp->fps_d, rp->fps_n);
-    GST_BUFFER_DURATION (buffer) =
-        gst_util_uint64_scale ((rp->n_frames + nframes) * GST_SECOND, rp->fps_d,
-        rp->fps_n) - GST_BUFFER_TIMESTAMP (buffer);
-  } else {
-    GST_BUFFER_TIMESTAMP (buffer) = rp->segment.start;
-    GST_BUFFER_DURATION (buffer) = GST_CLOCK_TIME_NONE;
-  }
-
-  if (rpclass->pre_push_buffer) {
-    rpclass->pre_push_buffer (rp, buffer);
-  }
-
-  if (rp->discont) {
-    GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
-    rp->discont = FALSE;
-  }
-
-  if (rp->segment.rate >= 0) {
-    rp->offset += size;
-    rp->n_frames += nframes;
-  }
-
-  rp->segment.position = GST_BUFFER_TIMESTAMP (buffer);
-
-  GST_LOG_OBJECT (rp, "Pushing buffer with time %" GST_TIME_FORMAT,
-      GST_TIME_ARGS (GST_BUFFER_TIMESTAMP (buffer)));
-
-  ret = gst_pad_push (rp->srcpad, buffer);
-
-  return ret;
-}
-
-static GstFlowReturn
-gst_raw_parse_chain (GstPad * pad, GstObject * parent, GstBuffer * buffer)
-{
-  GstRawParse *rp = GST_RAW_PARSE (parent);
-  GstFlowReturn ret = GST_FLOW_OK;
-  GstRawParseClass *rp_class = GST_RAW_PARSE_GET_CLASS (rp);
-  guint buffersize, available;
-
-  if (G_UNLIKELY (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT))) {
-    GST_DEBUG_OBJECT (rp, "received DISCONT buffer");
-    gst_adapter_clear (rp->adapter);
-    rp->discont = TRUE;
-  }
-
-  if (!gst_raw_parse_set_src_caps (rp))
-    goto no_caps;
-
-  if (rp->start_segment) {
-    GST_DEBUG_OBJECT (rp, "sending start segment");
-    gst_pad_push_event (rp->srcpad, rp->start_segment);
-    rp->start_segment = NULL;
-  }
-
-  gst_adapter_push (rp->adapter, buffer);
-
-  available = gst_adapter_available (rp->adapter);
-  if (rp_class->multiple_frames_per_buffer) {
-    buffersize = available;
-    buffersize -= buffersize % rp->framesize;
-  } else {
-    buffersize = rp->framesize;
-  }
-
-  while (buffersize > 0 && gst_adapter_available (rp->adapter) >= buffersize) {
-    buffer = gst_adapter_take_buffer (rp->adapter, buffersize);
-
-    ret = gst_raw_parse_push_buffer (rp, buffer);
-    if (ret != GST_FLOW_OK)
-      break;
-  }
-done:
-
-  return ret;
-
-  /* ERRORS */
-no_caps:
-  {
-    GST_ERROR_OBJECT (rp, "could not set caps");
-    ret = GST_FLOW_NOT_NEGOTIATED;
-    goto done;
-  }
-}
-
-static void
-gst_raw_parse_loop (GstElement * element)
-{
-  GstRawParse *rp = GST_RAW_PARSE (element);
-  GstRawParseClass *rp_class = GST_RAW_PARSE_GET_CLASS (rp);
-  GstFlowReturn ret;
-  GstBuffer *buffer;
-  gint size;
-
-  if (G_UNLIKELY (rp->push_stream_start)) {
-    gchar *stream_id;
-    GstEvent *event;
-
-    stream_id =
-        gst_pad_create_stream_id (rp->srcpad, GST_ELEMENT_CAST (rp), NULL);
-
-    event = gst_event_new_stream_start (stream_id);
-    gst_event_set_group_id (event, gst_util_group_id_next ());
-
-    GST_DEBUG_OBJECT (rp, "Pushing STREAM_START");
-    gst_pad_push_event (rp->srcpad, event);
-    rp->push_stream_start = FALSE;
-    g_free (stream_id);
-  }
-
-  if (!gst_raw_parse_set_src_caps (rp))
-    goto no_caps;
-
-  if (rp->start_segment) {
-    GST_DEBUG_OBJECT (rp, "sending start segment");
-    gst_pad_push_event (rp->srcpad, rp->start_segment);
-    rp->start_segment = NULL;
-  }
-
-  if (rp_class->multiple_frames_per_buffer && rp->framesize < 4096)
-    size = 4096 - (4096 % rp->framesize);
-  else
-    size = rp->framesize;
-
-  if (rp->segment.rate >= 0) {
-    if (rp->offset + size > rp->upstream_length) {
-      GstFormat fmt = GST_FORMAT_BYTES;
-
-      if (!gst_pad_peer_query_duration (rp->sinkpad, fmt, &rp->upstream_length)) {
-        GST_WARNING_OBJECT (rp,
-            "Could not get upstream duration, trying to pull frame by frame");
-        size = rp->framesize;
-      } else if (rp->upstream_length < rp->offset + rp->framesize) {
-        ret = GST_FLOW_EOS;
-        goto pause;
-      } else if (rp->offset + size > rp->upstream_length) {
-        size = rp->upstream_length - rp->offset;
-        size -= size % rp->framesize;
-      }
-    }
-  } else {
-    if (rp->offset == 0) {
-      ret = GST_FLOW_EOS;
-      goto pause;
-    } else if (rp->offset < size) {
-      size -= rp->offset;
-    }
-    rp->offset -= size;
-  }
-
-  buffer = NULL;
-  ret = gst_pad_pull_range (rp->sinkpad, rp->offset, size, &buffer);
-
-  if (ret != GST_FLOW_OK) {
-    GST_DEBUG_OBJECT (rp, "pull_range (%" G_GINT64_FORMAT ", %u) "
-        "failed, flow: %s", rp->offset, size, gst_flow_get_name (ret));
-    buffer = NULL;
-    goto pause;
-  }
-
-  if (gst_buffer_get_size (buffer) < size) {
-    GST_DEBUG_OBJECT (rp, "Short read at offset %" G_GINT64_FORMAT
-        ", got only %" G_GSIZE_FORMAT " of %u bytes", rp->offset,
-        gst_buffer_get_size (buffer), size);
-
-    if (size > rp->framesize) {
-      gst_buffer_set_size (buffer, gst_buffer_get_size (buffer) -
-          gst_buffer_get_size (buffer) % rp->framesize);
-    } else {
-      gst_buffer_unref (buffer);
-      buffer = NULL;
-      ret = GST_FLOW_EOS;
-      goto pause;
-    }
-  }
-
-  ret = gst_raw_parse_push_buffer (rp, buffer);
-  if (ret != GST_FLOW_OK)
-    goto pause;
-
-  return;
-
-  /* ERRORS */
-no_caps:
-  {
-    GST_ERROR_OBJECT (rp, "could not negotiate caps");
-    ret = GST_FLOW_NOT_NEGOTIATED;
-    goto pause;
-  }
-pause:
-  {
-    const gchar *reason = gst_flow_get_name (ret);
-
-    GST_LOG_OBJECT (rp, "pausing task, reason %s", reason);
-    gst_pad_pause_task (rp->sinkpad);
-
-    if (ret == GST_FLOW_EOS) {
-      if (rp->segment.flags & GST_SEEK_FLAG_SEGMENT) {
-        GstClockTime stop;
-
-        GST_LOG_OBJECT (rp, "Sending segment done");
-
-        if ((stop = rp->segment.stop) == -1)
-          stop = rp->segment.duration;
-
-        gst_element_post_message (GST_ELEMENT_CAST (rp),
-            gst_message_new_segment_done (GST_OBJECT_CAST (rp),
-                rp->segment.format, stop));
-        gst_pad_push_event (rp->srcpad,
-            gst_event_new_segment_done (rp->segment.format, stop));
-      } else {
-        GST_LOG_OBJECT (rp, "Sending EOS, at end of stream");
-        gst_pad_push_event (rp->srcpad, gst_event_new_eos ());
-      }
-    } else if (ret == GST_FLOW_NOT_LINKED || ret < GST_FLOW_EOS) {
-      GST_ELEMENT_ERROR (rp, STREAM, FAILED,
-          ("Internal data stream error."),
-          ("stream stopped, reason %s", reason));
-      gst_pad_push_event (rp->srcpad, gst_event_new_eos ());
-    }
-    return;
-  }
-}
-
-static gboolean
-gst_raw_parse_sink_activate (GstPad * sinkpad, GstObject * parent)
-{
-  GstQuery *query;
-  gboolean pull_mode = FALSE;
-
-  query = gst_query_new_scheduling ();
-
-  if (gst_pad_peer_query (sinkpad, query))
-    pull_mode = gst_query_has_scheduling_mode_with_flags (query,
-        GST_PAD_MODE_PULL, GST_SCHEDULING_FLAG_SEEKABLE);
-
-  gst_query_unref (query);
-
-  if (pull_mode) {
-    GST_DEBUG ("going to pull mode");
-    return gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PULL, TRUE);
-  } else {
-    GST_DEBUG ("going to push (streaming) mode");
-    return gst_pad_activate_mode (sinkpad, GST_PAD_MODE_PUSH, TRUE);
-  }
-}
-
-static gboolean
-gst_raw_parse_sink_activatemode (GstPad * sinkpad, GstObject * parent,
-    GstPadMode mode, gboolean active)
-{
-  GstRawParse *rp = GST_RAW_PARSE (parent);
-  gboolean result;
-
-  switch (mode) {
-    case GST_PAD_MODE_PULL:
-      if (active) {
-        GstFormat format;
-        gint64 duration;
-
-        /* get the duration in bytes */
-        format = GST_FORMAT_BYTES;
-        result = gst_pad_peer_query_duration (sinkpad, format, &duration);
-        if (result) {
-          GST_DEBUG_OBJECT (rp, "got duration %" GST_TIME_FORMAT,
-              GST_TIME_ARGS (duration));
-          rp->upstream_length = duration;
-          /* convert to time */
-          gst_raw_parse_convert (rp, format, duration, GST_FORMAT_TIME,
-              &duration);
-        } else {
-          rp->upstream_length = -1;
-          duration = -1;
-        }
-        rp->segment.duration = duration;
-
-        rp->push_stream_start = TRUE;
-
-        result = gst_raw_parse_handle_seek_pull (rp, NULL);
-        rp->mode = mode;
-      } else {
-        result = gst_pad_stop_task (sinkpad);
-      }
-      return result;
-    case GST_PAD_MODE_PUSH:
-      rp->mode = mode;
-      return TRUE;
-    default:
-      return FALSE;
-  }
-}
-
-static GstStateChangeReturn
-gst_raw_parse_change_state (GstElement * element, GstStateChange transition)
-{
-  GstRawParse *rp = GST_RAW_PARSE (element);
-  GstStateChangeReturn ret = GST_STATE_CHANGE_SUCCESS;
-
-  switch (transition) {
-    case GST_STATE_CHANGE_READY_TO_PAUSED:
-      gst_segment_init (&rp->segment, GST_FORMAT_TIME);
-      rp->segment.position = 0;
-    default:
-      break;
-  }
-
-  if (GST_ELEMENT_CLASS (parent_class)->change_state)
-    ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
-
-  switch (transition) {
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
-      gst_raw_parse_reset (rp);
-      break;
-    default:
-      break;
-  }
-
-  return ret;
-}
-
-static gboolean
-gst_raw_parse_convert (GstRawParse * rp,
-    GstFormat src_format, gint64 src_value,
-    GstFormat dest_format, gint64 * dest_value)
-{
-  gboolean ret = FALSE;
-
-  GST_DEBUG ("converting value %" G_GINT64_FORMAT " from %s (%d) to %s (%d)",
-      src_value, gst_format_get_name (src_format), src_format,
-      gst_format_get_name (dest_format), dest_format);
-
-  if (src_format == dest_format) {
-    *dest_value = src_value;
-    ret = TRUE;
-    goto done;
-  }
-
-  if (src_value == -1) {
-    *dest_value = -1;
-    ret = TRUE;
-    goto done;
-  }
-
-  /* bytes to frames */
-  if (src_format == GST_FORMAT_BYTES && dest_format == GST_FORMAT_DEFAULT) {
-    if (rp->framesize != 0) {
-      *dest_value = gst_util_uint64_scale_int (src_value, 1, rp->framesize);
-    } else {
-      GST_ERROR ("framesize is 0");
-      *dest_value = 0;
-    }
-    ret = TRUE;
-    goto done;
-  }
-
-  /* frames to bytes */
-  if (src_format == GST_FORMAT_DEFAULT && dest_format == GST_FORMAT_BYTES) {
-    *dest_value = gst_util_uint64_scale_int (src_value, rp->framesize, 1);
-    ret = TRUE;
-    goto done;
-  }
-
-  /* time to frames */
-  if (src_format == GST_FORMAT_TIME && dest_format == GST_FORMAT_DEFAULT) {
-    if (rp->fps_d != 0) {
-      *dest_value = gst_util_uint64_scale (src_value,
-          rp->fps_n, GST_SECOND * rp->fps_d);
-    } else {
-      GST_ERROR ("framerate denominator is 0");
-      *dest_value = 0;
-    }
-    ret = TRUE;
-    goto done;
-  }
-
-  /* frames to time */
-  if (src_format == GST_FORMAT_DEFAULT && dest_format == GST_FORMAT_TIME) {
-    if (rp->fps_n != 0) {
-      *dest_value = gst_util_uint64_scale (src_value,
-          GST_SECOND * rp->fps_d, rp->fps_n);
-    } else {
-      GST_ERROR ("framerate numerator is 0");
-      *dest_value = 0;
-    }
-    ret = TRUE;
-    goto done;
-  }
-
-  /* time to bytes */
-  if (src_format == GST_FORMAT_TIME && dest_format == GST_FORMAT_BYTES) {
-    if (rp->fps_d != 0) {
-      *dest_value = gst_util_uint64_scale (src_value,
-          rp->fps_n * rp->framesize, GST_SECOND * rp->fps_d);
-    } else {
-      GST_ERROR ("framerate denominator is 0");
-      *dest_value = 0;
-    }
-    ret = TRUE;
-    goto done;
-  }
-
-  /* bytes to time */
-  if (src_format == GST_FORMAT_BYTES && dest_format == GST_FORMAT_TIME) {
-    if (rp->fps_n != 0 && rp->framesize != 0) {
-      *dest_value = gst_util_uint64_scale (src_value,
-          GST_SECOND * rp->fps_d, rp->fps_n * rp->framesize);
-    } else {
-      GST_ERROR ("framerate denominator and/or framesize is 0");
-      *dest_value = 0;
-    }
-    ret = TRUE;
-  }
-
-done:
-
-  GST_DEBUG ("ret=%d result %" G_GINT64_FORMAT, ret, *dest_value);
-
-  return ret;
-}
-
-
-static gboolean
-gst_raw_parse_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
-{
-  GstRawParse *rp = GST_RAW_PARSE (parent);
-  gboolean ret;
-
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_EOS:
-    case GST_EVENT_FLUSH_STOP:
-      /* Only happens in push mode */
-      gst_raw_parse_reset (rp);
-      ret = gst_pad_push_event (rp->srcpad, event);
-      break;
-    case GST_EVENT_SEGMENT:
-    {
-      GstSegment segment;
-
-      /* Only happens in push mode */
-
-      gst_event_copy_segment (event, &segment);
-
-      if (segment.format != GST_FORMAT_TIME) {
-        gst_event_unref (event);
-
-        ret =
-            gst_raw_parse_convert (rp, segment.format, segment.start,
-            GST_FORMAT_TIME, (gint64 *) & segment.start);
-        ret &= gst_raw_parse_convert (rp, segment.format, segment.time,
-            GST_FORMAT_TIME, (gint64 *) & segment.time);
-        ret &= gst_raw_parse_convert (rp, segment.format, segment.stop,
-            GST_FORMAT_TIME, (gint64 *) & segment.stop);
-        if (!ret) {
-          GST_ERROR_OBJECT (rp,
-              "Failed converting to GST_FORMAT_TIME format (%d)",
-              segment.format);
-          break;
-        }
-
-        segment.format = GST_FORMAT_TIME;
-
-        event = gst_event_new_segment (&segment);
-      }
-
-      gst_segment_copy_into (&segment, &rp->segment);
-
-      if (rp->start_segment)
-        gst_event_unref (rp->start_segment);
-      rp->start_segment = event;
-      ret = TRUE;
-      break;
-    }
-    default:
-      ret = gst_pad_event_default (pad, parent, event);
-      break;
-  }
-
-  return ret;
-}
-
-
-static gboolean
-gst_raw_parse_handle_seek_push (GstRawParse * rp, GstEvent * event)
-{
-  GstFormat format;
-  gdouble rate;
-  GstSeekFlags flags;
-  GstSeekType start_type, stop_type;
-  gint64 start, stop;
-  gboolean ret = FALSE;
-
-  gst_event_parse_seek (event, &rate, &format, &flags, &start_type, &start,
-      &stop_type, &stop);
-
-  /* can't seek backwards yet */
-  if (rate <= 0.0)
-    goto wrong_rate;
-
-  /* First try if upstream handles the seek */
-  ret = gst_pad_push_event (rp->sinkpad, event);
-  if (ret)
-    return ret;
-
-  /* Otherwise convert to bytes and push upstream */
-  if (format == GST_FORMAT_TIME || format == GST_FORMAT_DEFAULT) {
-    ret = gst_raw_parse_convert (rp, format, start, GST_FORMAT_BYTES, &start);
-    ret &= gst_raw_parse_convert (rp, format, stop, GST_FORMAT_BYTES, &stop);
-
-    if (ret) {
-      /* Seek on a frame boundary */
-      start -= start % rp->framesize;
-      if (stop != -1)
-        stop += rp->framesize - stop % rp->framesize;
-
-      event =
-          gst_event_new_seek (rate, GST_FORMAT_BYTES, flags, start_type,
-          start, stop_type, stop);
-
-      ret = gst_pad_push_event (rp->sinkpad, event);
-    } else {
-      GST_DEBUG_OBJECT (rp, "Seek failed: couldn't convert to byte positions");
-    }
-  } else {
-    GST_DEBUG_OBJECT (rp,
-        "seeking is only supported in TIME or DEFAULT format");
-  }
-  return ret;
-
-  /* ERRORS */
-wrong_rate:
-  {
-    GST_DEBUG_OBJECT (rp, "Seek failed: negative rates not supported yet");
-    return FALSE;
-  }
-}
-
-static gboolean
-gst_raw_parse_handle_seek_pull (GstRawParse * rp, GstEvent * event)
-{
-  gdouble rate;
-  GstFormat format;
-  GstSeekFlags flags;
-  GstSeekType start_type, stop_type;
-  gint64 start, stop;
-  gint64 last_stop;
-  gboolean ret = FALSE;
-  gboolean flush;
-  GstSegment seeksegment;
-
-  if (event) {
-    gst_event_parse_seek (event, &rate, &format, &flags, &start_type, &start,
-        &stop_type, &stop);
-
-    /* convert input offsets to time */
-    ret = gst_raw_parse_convert (rp, format, start, GST_FORMAT_TIME, &start);
-    ret &= gst_raw_parse_convert (rp, format, stop, GST_FORMAT_TIME, &stop);
-    if (!ret)
-      goto convert_failed;
-
-    GST_DEBUG_OBJECT (rp, "converted start - stop to time");
-
-    gst_event_unref (event);
-  } else {
-    flags = 0;
-  }
-
-  format = GST_FORMAT_TIME;
-
-  flush = ((flags & GST_SEEK_FLAG_FLUSH) != 0);
-
-  /* start flushing up and downstream so that the loop function pauses and we
-   * can acquire the STREAM_LOCK. */
-  if (flush) {
-    GST_LOG_OBJECT (rp, "flushing");
-    gst_pad_push_event (rp->sinkpad, gst_event_new_flush_start ());
-    gst_pad_push_event (rp->srcpad, gst_event_new_flush_start ());
-  } else {
-    GST_LOG_OBJECT (rp, "pause task");
-    gst_pad_pause_task (rp->sinkpad);
-  }
-
-  GST_PAD_STREAM_LOCK (rp->sinkpad);
-
-  memcpy (&seeksegment, &rp->segment, sizeof (GstSegment));
-
-  if (event) {
-    /* configure the seek values */
-    gst_segment_do_seek (&seeksegment, rate, format, flags,
-        start_type, start, stop_type, stop, NULL);
-  }
-
-  /* get the desired position */
-  last_stop = seeksegment.position;
-
-  GST_LOG_OBJECT (rp, "seeking to %" GST_TIME_FORMAT,
-      GST_TIME_ARGS (last_stop));
-
-  /* convert the desired position to bytes */
-  ret =
-      gst_raw_parse_convert (rp, format, last_stop, GST_FORMAT_BYTES,
-      &last_stop);
-
-  /* prepare for streaming */
-  if (flush) {
-    GST_LOG_OBJECT (rp, "stop flush");
-    gst_pad_push_event (rp->sinkpad, gst_event_new_flush_stop (TRUE));
-    gst_pad_push_event (rp->srcpad, gst_event_new_flush_stop (TRUE));
-  }
-
-  if (ret) {
-    /* seek done */
-
-    /* Seek on a frame boundary */
-    last_stop -= last_stop % rp->framesize;
-
-    rp->offset = last_stop;
-    rp->n_frames = last_stop / rp->framesize;
-
-    GST_LOG_OBJECT (rp, "seeking to bytes %" G_GINT64_FORMAT, last_stop);
-
-    memcpy (&rp->segment, &seeksegment, sizeof (GstSegment));
-
-    if (rp->segment.flags & GST_SEEK_FLAG_SEGMENT) {
-      gst_element_post_message (GST_ELEMENT_CAST (rp),
-          gst_message_new_segment_start (GST_OBJECT_CAST (rp),
-              rp->segment.format, rp->segment.position));
-    }
-
-    /* for deriving a stop position for the playback segment from the seek
-     * segment, we must take the duration when the stop is not set */
-    if ((stop = rp->segment.stop) == -1)
-      stop = rp->segment.duration;
-
-    GST_DEBUG_OBJECT (rp, "preparing newsegment from %" G_GINT64_FORMAT
-        " to %" G_GINT64_FORMAT, rp->segment.start, stop);
-
-    /* now replace the old segment so that we send it in the stream thread the
-     * next time it is scheduled. */
-    if (rp->start_segment)
-      gst_event_unref (rp->start_segment);
-    rp->start_segment = gst_event_new_segment (&rp->segment);
-  }
-  rp->discont = TRUE;
-
-  GST_LOG_OBJECT (rp, "start streaming");
-  gst_pad_start_task (rp->sinkpad, (GstTaskFunction) gst_raw_parse_loop, rp,
-      NULL);
-
-  GST_PAD_STREAM_UNLOCK (rp->sinkpad);
-
-  return ret;
-
-  /* ERRORS */
-convert_failed:
-  {
-    GST_DEBUG_OBJECT (rp, "Seek failed: couldn't convert to byte positions");
-    return FALSE;
-  }
-}
-
-static gboolean
-gst_raw_parse_src_event (GstPad * pad, GstObject * parent, GstEvent * event)
-{
-  GstRawParse *rp = GST_RAW_PARSE (parent);
-  gboolean ret;
-
-  switch (GST_EVENT_TYPE (event)) {
-    case GST_EVENT_SEEK:
-      if (rp->mode == GST_PAD_MODE_PUSH)
-        ret = gst_raw_parse_handle_seek_push (rp, event);
-      else
-        ret = gst_raw_parse_handle_seek_pull (rp, event);
-      break;
-    default:
-      ret = gst_pad_event_default (pad, parent, event);
-      break;
-  }
-
-  return ret;
-}
-
-static gboolean
-gst_raw_parse_src_query (GstPad * pad, GstObject * parent, GstQuery * query)
-{
-  GstRawParse *rp = GST_RAW_PARSE (parent);
-  gboolean ret = FALSE;
-
-  GST_DEBUG ("src_query %s", gst_query_type_get_name (GST_QUERY_TYPE (query)));
-
-  switch (GST_QUERY_TYPE (query)) {
-    case GST_QUERY_POSITION:
-    {
-      GstFormat format;
-      gint64 time, value;
-
-      GST_LOG ("query position");
-
-      gst_query_parse_position (query, &format, NULL);
-
-      time = rp->segment.position;
-      ret = gst_raw_parse_convert (rp, GST_FORMAT_TIME, time, format, &value);
-
-      gst_query_set_position (query, format, value);
-
-      break;
-    }
-    case GST_QUERY_DURATION:{
-      gint64 duration;
-      GstFormat format;
-      GstQuery *bquery;
-
-      GST_LOG ("query duration");
-      ret = gst_pad_peer_query (rp->sinkpad, query);
-      if (ret)
-        goto done;
-
-      gst_query_parse_duration (query, &format, NULL);
-      /* We only handle TIME and DEFAULT format */
-      if (format != GST_FORMAT_TIME && format != GST_FORMAT_DEFAULT)
-        goto error;
-
-      bquery = gst_query_new_duration (GST_FORMAT_BYTES);
-      ret = gst_pad_peer_query (rp->sinkpad, bquery);
-      if (!ret) {
-        gst_query_unref (bquery);
-        goto error;
-      }
-
-      gst_query_parse_duration (bquery, NULL, &duration);
-      gst_query_unref (bquery);
-
-      ret =
-          gst_raw_parse_convert (rp, GST_FORMAT_BYTES, duration, format,
-          &duration);
-      if (ret)
-        gst_query_set_duration (query, format, duration);
-
-      break;
-    }
-    case GST_QUERY_CONVERT:
-    {
-      GstFormat src_fmt, dest_fmt;
-      gint64 src_val, dest_val;
-
-      GST_LOG ("query convert");
-
-      gst_query_parse_convert (query, &src_fmt, &src_val, &dest_fmt, &dest_val);
-      ret = gst_raw_parse_convert (rp, src_fmt, src_val, dest_fmt, &dest_val);
-      if (!ret)
-        goto error;
-      gst_query_set_convert (query, src_fmt, src_val, dest_fmt, dest_val);
-      break;
-    }
-    case GST_QUERY_SEEKING:{
-      GstFormat fmt;
-
-      ret = TRUE;
-
-      /* try upstream first */
-      if (gst_pad_peer_query (rp->sinkpad, query))
-        break;
-
-      gst_query_parse_seeking (query, &fmt, NULL, NULL, NULL);
-      if (fmt != GST_FORMAT_TIME && fmt != GST_FORMAT_DEFAULT
-          && fmt != GST_FORMAT_BYTES) {
-        gst_query_set_seeking (query, fmt, FALSE, -1, -1);
-      } else if (rp->mode == GST_PAD_MODE_PUSH) {
-        GstQuery *peerquery = gst_query_new_seeking (GST_FORMAT_BYTES);
-        gboolean seekable;
-
-        seekable = gst_pad_peer_query (rp->sinkpad, peerquery);
-        if (seekable)
-          gst_query_parse_seeking (peerquery, NULL, &seekable, NULL, NULL);
-
-        gst_query_unref (peerquery);
-        gst_query_set_seeking (query, fmt, seekable, seekable ? 0 : -1, -1);
-      } else {
-        gst_query_set_seeking (query, fmt, TRUE, 0, -1);
-      }
-      break;
-    }
-    default:
-      /* else forward upstream */
-      ret = gst_pad_query_default (pad, parent, query);
-      break;
-  }
-
-done:
-  return ret;
-
-  /* ERRORS */
-error:
-  {
-    GST_DEBUG_OBJECT (rp, "query failed");
-    goto done;
-  }
-}
-
-void
-gst_raw_parse_set_framesize (GstRawParse * rp, int framesize)
-{
-  g_return_if_fail (GST_IS_RAW_PARSE (rp));
-  g_return_if_fail (!rp->negotiated);
-
-  GST_DEBUG_OBJECT (rp, "framesize %d", framesize);
-  rp->framesize = framesize;
-}
-
-void
-gst_raw_parse_set_fps (GstRawParse * rp, int fps_n, int fps_d)
-{
-  g_return_if_fail (GST_IS_RAW_PARSE (rp));
-  g_return_if_fail (!rp->negotiated);
-
-  rp->fps_n = fps_n;
-  rp->fps_d = fps_d;
-}
-
-void
-gst_raw_parse_get_fps (GstRawParse * rp, int *fps_n, int *fps_d)
-{
-  g_return_if_fail (GST_IS_RAW_PARSE (rp));
-
-  if (fps_n)
-    *fps_n = rp->fps_n;
-  if (fps_d)
-    *fps_d = rp->fps_d;
-}
-
-gboolean
-gst_raw_parse_is_negotiated (GstRawParse * rp)
-{
-  g_return_val_if_fail (GST_IS_RAW_PARSE (rp), FALSE);
-
-  return rp->negotiated;
-}
diff --git a/gst/rawparse/gstrawparse.h b/gst/rawparse/gstrawparse.h
deleted file mode 100644
index 2327dc6..0000000
--- a/gst/rawparse/gstrawparse.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* GStreamer
- * Copyright (C) 2006 David A. Schleef <ds@schleef.org>
- * Copyright (C) 2007 Sebastian Dröge <slomo@circular-chaos.org>
- *
- * gstrawparse.h:
- *
- * 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_RAW_PARSE_H__
-#define __GST_RAW_PARSE_H__
-
-#include <gst/gst.h>
-#include <gst/base/gstbasetransform.h>
-#include <gst/base/gstadapter.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_RAW_PARSE \
-  (gst_raw_parse_get_type())
-#define GST_RAW_PARSE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_RAW_PARSE,GstRawParse))
-#define GST_RAW_PARSE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_RAW_PARSE,GstRawParseClass))
-#define GST_RAW_PARSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),GST_TYPE_RAW_PARSE,GstRawParseClass))
-#define GST_IS_RAW_PARSE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_RAW_PARSE))
-#define GST_IS_RAW_PARSE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_RAW_PARSE))
-
-typedef struct _GstRawParse GstRawParse;
-typedef struct _GstRawParseClass GstRawParseClass;
-
-struct _GstRawParse
-{
-  GstElement parent;
-
-  /* <private> */
-  GstPad *sinkpad;
-  GstPad *srcpad;
-
-  GstPadMode mode;
-  GstAdapter *adapter;
-
-  gint framesize;
-  gint fps_d;
-  gint fps_n;
-
-  gboolean discont;
-  guint64 n_frames;
-
-  gint64 upstream_length;
-  gint64 offset;
-
-  GstSegment segment;
-  GstEvent *start_segment;
-
-  gboolean negotiated;
-  gboolean push_stream_start;
-};
-
-struct _GstRawParseClass
-{
-  GstElementClass parent_class;
-
-  GstCaps * (*get_caps) (GstRawParse *rp);
-  void (*pre_push_buffer) (GstRawParse *rp, GstBuffer *buffer);
-  void (*decide_allocation) (GstRawParse *rp, GstQuery *query);
-
-  gboolean multiple_frames_per_buffer;
-};
-
-GType gst_raw_parse_get_type (void);
-
-void gst_raw_parse_class_set_src_pad_template (GstRawParseClass *klass, const GstCaps * allowed_caps);
-void gst_raw_parse_class_set_multiple_frames_per_buffer (GstRawParseClass *klass, gboolean multiple_frames);
-
-void gst_raw_parse_set_framesize (GstRawParse *rp, int framesize);
-void gst_raw_parse_set_fps (GstRawParse *rp, int fps_n, int fps_d);
-void gst_raw_parse_get_fps (GstRawParse *rp, int *fps_n, int *fps_d);
-gboolean gst_raw_parse_is_negotiated (GstRawParse *rp);
-
-G_END_DECLS
-
-#endif /* __GST_RAW_PARSE_H__ */
diff --git a/gst/rawparse/gstrawvideoparse.c b/gst/rawparse/gstrawvideoparse.c
new file mode 100644
index 0000000..2fb58c1
--- /dev/null
+++ b/gst/rawparse/gstrawvideoparse.c
@@ -0,0 +1,1195 @@
+/* GStreamer
+ * Copyright (C) <2016> Carlos Rafael Giani <dv at pseudoterminal dot org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/**
+ * SECTION:element-rawvideoparse
+ *
+ * This element parses incoming data as raw video frames and timestamps these.
+ * It also handles seek queries in said raw video data, and ensures that output
+ * buffers contain exactly one frame, even if the input buffers contain only
+ * partial frames or multiple frames. In the former case, it will continue to
+ * receive buffers until there is enough input data to output one frame. In the
+ * latter case, it will extract the first frame in the buffer and output it, then
+ * the second one etc. until the remaining unparsed bytes aren't enough to form
+ * a complete frame, and it will then continue as described in the earlier case.
+ *
+ * The element implements the properties and sink caps configuration as specified
+ * in the #GstRawBaseParse documentation. The properties configuration can be
+ * modified by using the width, height, pixel-aspect-ratio, framerate, interlaced,
+ * top-field-first, plane-strides, plane-offsets, and frame-stride properties.
+ *
+ * If the properties configuration is used, plane strides and offsets will be
+ * computed by using gst_video_info_set_format(). This can be overridden by passing
+ * GValueArrays to the plane-offsets and plane-strides properties. When this is
+ * done, these custom offsets and strides are used later even if new width,
+ * height, format etc. property values might be set. To switch back to computed
+ * plane strides & offsets, pass NULL to one or both of the plane-offset and
+ * plane-array properties.
+ *
+ * The frame stride property is useful in cases where there is extra data between
+ * the frames (for example, trailing metadata, or headers). The parser calculates 
+ * the actual frame size out of the other properties and compares it with this
+ * frame-stride value. If the frame stride is larger than the calculated size,
+ * then the extra bytes after the end of the frame are skipped. For example, with
+ * 8-bit grayscale frames and a frame size of 100x10 pixels and a frame stride of
+ * 1500 bytes, there are 500 excess bytes at the end of the actual frame which
+ * are then skipped. It is safe to set the frame stride to a value that is smaller
+ * than the actual frame size (in fact, its default value is 0); if it is smaller,
+ * then no trailing data will be skipped.
+ *
+ * If a framerate of 0 Hz is set (for example, 0/1), then output buffers will have
+ * no duration set. The first output buffer will have a PTS 0, all subsequent ones
+ * an unset PTS.
+ *
+ * <refsect2>
+ * <title>Example pipelines</title>
+ * |[
+ * gst-launch-1.0 filesrc location=video.raw ! rawvideoparse use-sink-caps=false \
+ *         width=500 height=400 format=y444 ! autovideosink
+ * ]| Read raw data from a local file and parse it as video data with 500x400 pixels
+ * and Y444 video format.
+ * |[
+ * gst-launch-1.0 filesrc location=video.raw ! queue ! "video/x-raw, width=320, \
+ *         height=240, format=I420, framerate=1/1" ! rawvideoparse \
+ *         use-sink-caps=true ! autovideosink
+ * ]| Read raw data from a local file and parse it as video data with 320x240 pixels
+ * and I420 video format. The queue element here is to force push based scheduling.
+ * See the documentation in #GstRawBaseParse for the reason why.
+ * </refsect2>
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
+
+/* FIXME: GValueArray is deprecated, but there is currently no viabla alternative
+ * See https://bugzilla.gnome.org/show_bug.cgi?id=667228 */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
+#include <string.h>
+#include "gstrawvideoparse.h"
+#include "unalignedvideo.h"
+
+
+GST_DEBUG_CATEGORY_STATIC (raw_video_parse_debug);
+#define GST_CAT_DEFAULT raw_video_parse_debug
+
+
+enum
+{
+  PROP_0,
+  PROP_WIDTH,
+  PROP_HEIGHT,
+  PROP_FORMAT,
+  PROP_PIXEL_ASPECT_RATIO,
+  PROP_FRAMERATE,
+  PROP_INTERLACED,
+  PROP_TOP_FIELD_FIRST,
+  PROP_PLANE_STRIDES,
+  PROP_PLANE_OFFSETS,
+  PROP_FRAME_STRIDE
+};
+
+
+#define DEFAULT_WIDTH                 320
+#define DEFAULT_HEIGHT                240
+#define DEFAULT_FORMAT                GST_VIDEO_FORMAT_I420
+#define DEFAULT_PIXEL_ASPECT_RATIO_N  1
+#define DEFAULT_PIXEL_ASPECT_RATIO_D  1
+#define DEFAULT_FRAMERATE_N           25
+#define DEFAULT_FRAMERATE_D           1
+#define DEFAULT_INTERLACED            FALSE
+#define DEFAULT_TOP_FIELD_FIRST       FALSE
+#define DEFAULT_FRAME_STRIDE          0
+
+
+#define GST_RAW_VIDEO_PARSE_CAPS \
+        GST_VIDEO_CAPS_MAKE(GST_VIDEO_FORMATS_ALL) "; "
+
+
+static GstStaticPadTemplate static_sink_template =
+    GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_UNALIGNED_RAW_VIDEO_CAPS "; " GST_RAW_VIDEO_PARSE_CAPS)
+    );
+
+
+static GstStaticPadTemplate static_src_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_RAW_VIDEO_PARSE_CAPS)
+    );
+
+
+#define gst_raw_video_parse_parent_class parent_class
+G_DEFINE_TYPE (GstRawVideoParse, gst_raw_video_parse, GST_TYPE_RAW_BASE_PARSE);
+
+
+static void gst_raw_video_parse_set_property (GObject * object, guint prop_id,
+    GValue const *value, GParamSpec * pspec);
+static void gst_raw_video_parse_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+
+static gboolean gst_raw_video_parse_stop (GstBaseParse * parse);
+
+static gboolean gst_raw_video_parse_set_current_config (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config);
+static GstRawBaseParseConfig
+gst_raw_video_parse_get_current_config (GstRawBaseParse * raw_base_parse);
+static gboolean gst_raw_video_parse_set_config_from_caps (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config, GstCaps * caps);
+static gboolean gst_raw_video_parse_get_caps_from_config (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config, GstCaps ** caps);
+static gsize gst_raw_video_parse_get_config_frame_size (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config);
+static guint gst_raw_video_parse_get_max_frames_per_buffer (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config);
+static gboolean gst_raw_video_parse_is_config_ready (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config);
+static gboolean gst_raw_video_parse_process (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config, GstBuffer * in_data, gsize total_num_in_bytes,
+    gsize num_valid_in_bytes, GstBuffer ** processed_data);
+static gboolean gst_raw_video_parse_is_unit_format_supported (GstRawBaseParse *
+    raw_base_parse, GstFormat format);
+static void gst_raw_video_parse_get_units_per_second (GstRawBaseParse *
+    raw_base_parse, GstFormat format, GstRawBaseParseConfig config,
+    gsize * units_per_sec_n, gsize * units_per_sec_d);
+
+static gint gst_raw_video_parse_get_overhead_size (GstRawBaseParse *
+    raw_base_parse, GstRawBaseParseConfig config);
+
+static gboolean gst_raw_video_parse_is_using_sink_caps (GstRawVideoParse *
+    raw_video_parse);
+static GstRawVideoParseConfig
+    * gst_raw_video_parse_get_config_ptr (GstRawVideoParse * raw_video_parse,
+    GstRawBaseParseConfig config);
+
+static void gst_raw_video_parse_init_config (GstRawVideoParseConfig * config);
+static void gst_raw_video_parse_update_info (GstRawVideoParseConfig * config);
+
+
+
+static void
+gst_raw_video_parse_class_init (GstRawVideoParseClass * klass)
+{
+  GObjectClass *object_class;
+  GstElementClass *element_class;
+  GstBaseParseClass *baseparse_class;
+  GstRawBaseParseClass *rawbaseparse_class;
+
+  GST_DEBUG_CATEGORY_INIT (raw_video_parse_debug, "rawvideoparse", 0,
+      "rawvideoparse element");
+
+  object_class = G_OBJECT_CLASS (klass);
+  element_class = GST_ELEMENT_CLASS (klass);
+  baseparse_class = GST_BASE_PARSE_CLASS (klass);
+  rawbaseparse_class = GST_RAW_BASE_PARSE_CLASS (klass);
+
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&static_sink_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&static_src_template));
+
+  object_class->set_property =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_set_property);
+  object_class->get_property =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_get_property);
+
+  baseparse_class->stop = GST_DEBUG_FUNCPTR (gst_raw_video_parse_stop);
+
+  rawbaseparse_class->set_current_config =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_set_current_config);
+  rawbaseparse_class->get_current_config =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_get_current_config);
+  rawbaseparse_class->set_config_from_caps =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_set_config_from_caps);
+  rawbaseparse_class->get_caps_from_config =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_get_caps_from_config);
+  rawbaseparse_class->get_config_frame_size =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_get_config_frame_size);
+  rawbaseparse_class->get_max_frames_per_buffer =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_get_max_frames_per_buffer);
+  rawbaseparse_class->is_config_ready =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_is_config_ready);
+  rawbaseparse_class->process = GST_DEBUG_FUNCPTR (gst_raw_video_parse_process);
+  rawbaseparse_class->is_unit_format_supported =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_is_unit_format_supported);
+  rawbaseparse_class->get_units_per_second =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_get_units_per_second);
+  rawbaseparse_class->get_overhead_size =
+      GST_DEBUG_FUNCPTR (gst_raw_video_parse_get_overhead_size);
+
+  g_object_class_install_property (object_class,
+      PROP_WIDTH,
+      g_param_spec_int ("width",
+          "Width",
+          "Width of frames in raw stream",
+          0, G_MAXINT, DEFAULT_WIDTH,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_HEIGHT,
+      g_param_spec_int ("height",
+          "Height",
+          "Height of frames in raw stream",
+          0, G_MAXINT,
+          DEFAULT_HEIGHT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_FORMAT,
+      g_param_spec_enum ("format",
+          "Format",
+          "Format of frames in raw stream",
+          GST_TYPE_VIDEO_FORMAT,
+          DEFAULT_FORMAT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_FRAMERATE,
+      gst_param_spec_fraction ("framerate",
+          "Frame rate",
+          "Rate of frames in raw stream",
+          0, 1, G_MAXINT, 1,
+          DEFAULT_FRAMERATE_N, DEFAULT_FRAMERATE_D,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_PIXEL_ASPECT_RATIO,
+      gst_param_spec_fraction ("pixel-aspect-ratio",
+          "Pixel aspect ratio",
+          "Pixel aspect ratio of frames in raw stream",
+          1, 100, 100, 1,
+          DEFAULT_PIXEL_ASPECT_RATIO_N, DEFAULT_PIXEL_ASPECT_RATIO_D,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_INTERLACED,
+      g_param_spec_boolean ("interlaced",
+          "Interlaced flag",
+          "True if frames in raw stream are interlaced",
+          DEFAULT_INTERLACED, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_TOP_FIELD_FIRST,
+      g_param_spec_boolean ("top-field-first",
+          "Top field first",
+          "True if top field in frames in raw stream come first (not used if frames aren't interlaced)",
+          DEFAULT_INTERLACED, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_PLANE_STRIDES,
+      g_param_spec_value_array ("plane-strides",
+          "Plane strides",
+          "Strides of the planets in bytes",
+          g_param_spec_uint ("plane-stride",
+              "Plane stride",
+              "Stride of the n-th plane in bytes (0 = stride equals width*bytes-per-pixel)",
+              0, G_MAXUINT,
+              0,
+              G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS),
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_PLANE_OFFSETS,
+      g_param_spec_value_array ("plane-offsets",
+          "Plane offsets",
+          "Offsets of the planets in bytes",
+          g_param_spec_uint ("plane-offset",
+              "Plane offset",
+              "Offset of the n-th plane in bytes",
+              0, G_MAXUINT,
+              0,
+              G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS),
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+  g_object_class_install_property (object_class,
+      PROP_FRAME_STRIDE,
+      g_param_spec_uint ("frame-stride",
+          "Frame stride",
+          "Stride between whole frames (0 = frames are tightly packed together)",
+          0, G_MAXUINT,
+          DEFAULT_FRAME_STRIDE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)
+      );
+
+  gst_element_class_set_static_metadata (element_class,
+      "rawvideoparse",
+      "Codec/Parser/Video",
+      "Converts unformatted data streams into timestamped raw video frames",
+      "Carlos Rafael Giani <dv@pseudoterminal.org>");
+}
+
+
+static void
+gst_raw_video_parse_init (GstRawVideoParse * raw_video_parse)
+{
+  gst_raw_video_parse_init_config (&(raw_video_parse->properties_config));
+  gst_raw_video_parse_init_config (&(raw_video_parse->sink_caps_config));
+
+  /* As required by GstRawBaseParse, ensure that the current configuration
+   * is initially set to be the properties config */
+  raw_video_parse->current_config = &(raw_video_parse->properties_config);
+
+  /* Properties config must be valid from the start, so set its ready value
+   * to TRUE, and make sure its bpf value is valid. */
+  raw_video_parse->properties_config.ready = TRUE;
+  raw_video_parse->properties_config.top_field_first = DEFAULT_TOP_FIELD_FIRST;
+  raw_video_parse->properties_config.frame_stride = DEFAULT_FRAME_STRIDE;
+}
+
+
+static void
+gst_raw_video_parse_set_property (GObject * object, guint prop_id,
+    GValue const *value, GParamSpec * pspec)
+{
+  GstBaseParse *base_parse = GST_BASE_PARSE (object);
+  GstRawBaseParse *raw_base_parse = GST_RAW_BASE_PARSE (object);
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (object);
+  GstRawVideoParseConfig *props_cfg = &(raw_video_parse->properties_config);
+
+  /* All properties are handled similarly:
+   * - if the new value is the same as the current value, nothing is done
+   * - the parser lock is held while the new value is set
+   * - if the properties config is the current config, the source caps are
+   *   invalidated to ensure that the code in handle_frame pushes a new CAPS
+   *   event out
+   * - properties that affect the video frame size call the function to update
+   *   the info and also call gst_base_parse_set_min_frame_size() to ensure
+   *   that the minimum frame size can hold 1 frame (= one sample for each
+   *   channel); to ensure that the min frame size includes any extra padding,
+   *   it is set to the result of gst_raw_video_parse_get_config_frame_size()
+   * - property configuration values that require video info updates aren't
+   *   written directory into the video info structure, but in the extra
+   *   fields instead (gst_raw_video_parse_update_info() then copies the values
+   *   from these fields into the video info); see the documentation inside
+   *   gst_raw_video_parse_update_info() for the reason why
+   */
+
+  switch (prop_id) {
+    case PROP_WIDTH:
+    {
+      gint new_width = g_value_get_int (value);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      if (new_width != props_cfg->width) {
+        props_cfg->width = new_width;
+        gst_raw_video_parse_update_info (props_cfg);
+
+        if (!gst_raw_video_parse_is_using_sink_caps (raw_video_parse)) {
+          gst_raw_base_parse_invalidate_src_caps (raw_base_parse);
+          gst_base_parse_set_min_frame_size (base_parse,
+              gst_raw_video_parse_get_config_frame_size (raw_base_parse,
+                  GST_RAW_BASE_PARSE_CONFIG_PROPERTIES));
+        }
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_HEIGHT:
+    {
+      gint new_height = g_value_get_int (value);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      if (new_height != props_cfg->height) {
+        props_cfg->height = new_height;
+        gst_raw_video_parse_update_info (props_cfg);
+
+        if (!gst_raw_video_parse_is_using_sink_caps (raw_video_parse)) {
+          gst_raw_base_parse_invalidate_src_caps (raw_base_parse);
+          gst_base_parse_set_min_frame_size (base_parse,
+              gst_raw_video_parse_get_config_frame_size (raw_base_parse,
+                  GST_RAW_BASE_PARSE_CONFIG_PROPERTIES));
+        }
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_FORMAT:
+    {
+      GstVideoFormat new_format = g_value_get_enum (value);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      if (new_format != props_cfg->format) {
+        props_cfg->format = new_format;
+        gst_raw_video_parse_update_info (props_cfg);
+
+        if (!gst_raw_video_parse_is_using_sink_caps (raw_video_parse)) {
+          gst_raw_base_parse_invalidate_src_caps (raw_base_parse);
+          gst_base_parse_set_min_frame_size (base_parse,
+              gst_raw_video_parse_get_config_frame_size (raw_base_parse,
+                  GST_RAW_BASE_PARSE_CONFIG_PROPERTIES));
+        }
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_PIXEL_ASPECT_RATIO:
+    {
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      /* The pixel aspect ratio does not affect the video frame size,
+       * so it is just set directly without any updates */
+      props_cfg->pixel_aspect_ratio_n =
+          GST_VIDEO_INFO_PAR_N (&(props_cfg->info)) =
+          gst_value_get_fraction_numerator (value);
+      props_cfg->pixel_aspect_ratio_d =
+          GST_VIDEO_INFO_PAR_D (&(props_cfg->info)) =
+          gst_value_get_fraction_denominator (value);
+      GST_DEBUG_OBJECT (raw_video_parse, "setting pixel aspect ratio to %u/%u",
+          props_cfg->pixel_aspect_ratio_n, props_cfg->pixel_aspect_ratio_d);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_FRAMERATE:
+    {
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      /* The framerate does not affect the video frame size,
+       * so it is just set directly without any updates */
+      props_cfg->framerate_n = GST_VIDEO_INFO_FPS_N (&(props_cfg->info)) =
+          gst_value_get_fraction_numerator (value);
+      props_cfg->framerate_d = GST_VIDEO_INFO_FPS_D (&(props_cfg->info)) =
+          gst_value_get_fraction_denominator (value);
+      GST_DEBUG_OBJECT (raw_video_parse, "setting framerate to %u/%u",
+          props_cfg->framerate_n, props_cfg->framerate_d);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_INTERLACED:
+    {
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      /* Interlacing does not affect the video frame size,
+       * so it is just set directly without any updates */
+      props_cfg->interlaced = g_value_get_boolean (value);
+      GST_VIDEO_INFO_INTERLACE_MODE (&(props_cfg->info)) =
+          props_cfg->interlaced ? GST_VIDEO_INTERLACE_MODE_INTERLEAVED :
+          GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+
+      break;
+    }
+
+    case PROP_TOP_FIELD_FIRST:
+    {
+      /* The top-field-first flag is a detail related to
+       * interlacing, so no video info update is needed */
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      props_cfg->top_field_first = g_value_get_boolean (value);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_PLANE_STRIDES:
+    {
+      GValueArray *valarray = g_value_get_boxed (value);
+      guint n_planes;
+      guint i;
+
+      /* If no valarray is given, then disable custom
+       * plane strides & offsets and stick to the
+       * standard computed ones */
+      if (valarray == NULL) {
+        GST_DEBUG_OBJECT (raw_video_parse,
+            "custom plane strides & offsets disabled");
+        props_cfg->custom_plane_strides = FALSE;
+        gst_raw_video_parse_update_info (props_cfg);
+        break;
+      }
+
+      /* Sanity check - reject empty arrays */
+      if ((valarray != NULL) && (valarray->n_values == 0)) {
+        GST_ELEMENT_ERROR (raw_video_parse, LIBRARY, SETTINGS,
+            ("plane strides property holds an empty array"), (NULL));
+        break;
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      n_planes = GST_VIDEO_INFO_N_PLANES (&(props_cfg->info));
+
+      /* Check that the valarray holds the right number of values */
+      if (valarray->n_values != n_planes) {
+        GST_ELEMENT_ERROR (raw_video_parse, LIBRARY, SETTINGS,
+            ("incorrect number of elements in plane strides property"),
+            ("expected: %u, got: %u", n_planes, valarray->n_values));
+        GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+        break;
+      }
+
+      /* Copy the values to the stride array */
+      for (i = 0; i < n_planes; ++i) {
+        GValue *val = g_value_array_get_nth (valarray, i);
+        props_cfg->plane_strides[i] = g_value_get_uint (val);
+        GST_DEBUG_OBJECT (raw_video_parse, "plane #%u stride: %d", i,
+            props_cfg->plane_strides[i]);
+      }
+
+      props_cfg->custom_plane_strides = TRUE;
+
+      gst_raw_video_parse_update_info (props_cfg);
+
+      if (!gst_raw_video_parse_is_using_sink_caps (raw_video_parse))
+        gst_base_parse_set_min_frame_size (base_parse,
+            gst_raw_video_parse_get_config_frame_size (raw_base_parse,
+                GST_RAW_BASE_PARSE_CONFIG_PROPERTIES));
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_PLANE_OFFSETS:
+    {
+      GValueArray *valarray = g_value_get_boxed (value);
+      guint n_planes;
+      guint i;
+
+      /* If no valarray is given, then disable custom
+       * plane strides & offsets and stick to the
+       * standard computed ones */
+      if (valarray == NULL) {
+        GST_DEBUG_OBJECT (raw_video_parse,
+            "custom plane strides & offsets disabled");
+        props_cfg->custom_plane_strides = FALSE;
+        gst_raw_video_parse_update_info (props_cfg);
+        break;
+      }
+
+      /* Sanity check - reject empty arrays */
+      if ((valarray != NULL) && (valarray->n_values == 0)) {
+        GST_ELEMENT_ERROR (raw_video_parse, LIBRARY, SETTINGS,
+            ("plane offsets property holds an empty array"), (NULL));
+        break;
+      }
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      n_planes = GST_VIDEO_INFO_N_PLANES (&(props_cfg->info));
+
+      /* Check that the valarray holds the right number of values */
+      if (valarray->n_values != n_planes) {
+        GST_ELEMENT_ERROR (raw_video_parse, LIBRARY, SETTINGS,
+            ("incorrect number of elements in plane offsets property"),
+            ("expected: %u, got: %u", n_planes, valarray->n_values));
+        GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+        break;
+      }
+
+      /* Copy the values to the offset array */
+      for (i = 0; i < n_planes; ++i) {
+        GValue *val = g_value_array_get_nth (valarray, i);
+        props_cfg->plane_offsets[i] = g_value_get_uint (val);
+        GST_DEBUG_OBJECT (raw_video_parse, "plane #%u offset: %" G_GSIZE_FORMAT,
+            i, props_cfg->plane_offsets[i]);
+      }
+
+      props_cfg->custom_plane_strides = TRUE;
+
+      gst_raw_video_parse_update_info (props_cfg);
+
+      if (!gst_raw_video_parse_is_using_sink_caps (raw_video_parse))
+        gst_base_parse_set_min_frame_size (base_parse,
+            gst_raw_video_parse_get_config_frame_size (raw_base_parse,
+                GST_RAW_BASE_PARSE_CONFIG_PROPERTIES));
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+    }
+
+    case PROP_FRAME_STRIDE:
+    {
+      /* The frame stride does not affect the video frame size,
+       * so it is just set directly without any updates */
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      props_cfg->frame_stride = g_value_get_uint (value);
+      gst_raw_video_parse_update_info (props_cfg);
+      if (!gst_raw_video_parse_is_using_sink_caps (raw_video_parse))
+        gst_base_parse_set_min_frame_size (base_parse,
+            gst_raw_video_parse_get_config_frame_size (raw_base_parse,
+                GST_RAW_BASE_PARSE_CONFIG_PROPERTIES));
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+
+      break;
+    }
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+
+static void
+gst_raw_video_parse_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (object);
+  GstRawVideoParseConfig *props_cfg = &(raw_video_parse->properties_config);
+
+  switch (prop_id) {
+    case PROP_WIDTH:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_int (value, props_cfg->width);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_HEIGHT:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_int (value, props_cfg->height);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_FORMAT:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_enum (value, props_cfg->format);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_PIXEL_ASPECT_RATIO:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      gst_value_set_fraction (value, props_cfg->pixel_aspect_ratio_n,
+          props_cfg->pixel_aspect_ratio_d);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+
+      break;
+
+    case PROP_FRAMERATE:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      gst_value_set_fraction (value, props_cfg->framerate_n,
+          props_cfg->framerate_d);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_INTERLACED:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_boolean (value, props_cfg->interlaced);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_TOP_FIELD_FIRST:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_boolean (value, props_cfg->top_field_first);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    case PROP_PLANE_STRIDES:
+    {
+      guint i, n_planes;
+      GValue val = G_VALUE_INIT;
+      GValueArray *valarray;
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      n_planes = GST_VIDEO_INFO_N_PLANES (&(props_cfg->info));
+      valarray = g_value_array_new (n_planes);
+      g_value_init (&val, G_TYPE_UINT);
+
+      for (i = 0; i < n_planes; ++i) {
+        g_value_set_uint (&val, props_cfg->plane_strides[i]);
+        g_value_array_insert (valarray, i, &val);
+      }
+
+      g_value_unset (&val);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+
+      /* Pass on ownership to the value array,
+       * since we don't need it anymore */
+      g_value_take_boxed (value, valarray);
+      break;
+    }
+
+    case PROP_PLANE_OFFSETS:
+    {
+      guint i, n_planes;
+      GValue val = G_VALUE_INIT;
+      GValueArray *valarray;
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+
+      n_planes = GST_VIDEO_INFO_N_PLANES (&(props_cfg->info));
+      valarray = g_value_array_new (n_planes);
+      g_value_init (&val, G_TYPE_UINT);
+
+      for (i = 0; i < n_planes; ++i) {
+        g_value_set_uint (&val, props_cfg->plane_offsets[i]);
+        g_value_array_insert (valarray, i, &val);
+      }
+
+      g_value_unset (&val);
+
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+
+      /* Pass on ownership to the value array,
+       * since we don't need it anymore */
+      g_value_take_boxed (value, valarray);
+      break;
+    }
+
+    case PROP_FRAME_STRIDE:
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_LOCK (object);
+      g_value_set_uint (value, raw_video_parse->properties_config.frame_stride);
+      GST_RAW_BASE_PARSE_CONFIG_MUTEX_UNLOCK (object);
+      break;
+
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+
+static gboolean
+gst_raw_video_parse_stop (GstBaseParse * parse)
+{
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (parse);
+
+  /* Sink caps config is not ready until caps come in.
+   * We are stopping processing, the element is being reset,
+   * so the config has to be un-readied.
+   * (Since the properties config is not depending on caps,
+   * its ready status is always TRUE.) */
+  raw_video_parse->sink_caps_config.ready = FALSE;
+
+  return GST_BASE_PARSE_CLASS (parent_class)->stop (parse);
+}
+
+
+static gboolean
+gst_raw_video_parse_set_current_config (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config)
+{
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (raw_base_parse);
+
+  switch (config) {
+    case GST_RAW_BASE_PARSE_CONFIG_PROPERTIES:
+      raw_video_parse->current_config = &(raw_video_parse->properties_config);
+      break;
+
+    case GST_RAW_BASE_PARSE_CONFIG_SINKCAPS:
+      raw_video_parse->current_config = &(raw_video_parse->sink_caps_config);
+      break;
+
+    default:
+      g_assert_not_reached ();
+  }
+
+  return TRUE;
+}
+
+
+static GstRawBaseParseConfig
+gst_raw_video_parse_get_current_config (GstRawBaseParse * raw_base_parse)
+{
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (raw_base_parse);
+  return gst_raw_video_parse_is_using_sink_caps (raw_video_parse) ?
+      GST_RAW_BASE_PARSE_CONFIG_SINKCAPS : GST_RAW_BASE_PARSE_CONFIG_PROPERTIES;
+}
+
+
+static gboolean
+gst_raw_video_parse_set_config_from_caps (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config, GstCaps * caps)
+{
+  int i;
+  GstStructure *structure;
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (raw_base_parse);
+  GstRawVideoParseConfig *config_ptr =
+      gst_raw_video_parse_get_config_ptr (raw_video_parse, config);
+
+  g_assert (caps != NULL);
+
+  /* Caps might get copied, and the copy needs to be unref'd.
+   * Also, the caller retains ownership over the original caps.
+   * So, to make this mechanism also work with cases where the
+   * caps are *not* copied, ref the original caps here first. */
+  gst_caps_ref (caps);
+
+  structure = gst_caps_get_structure (caps, 0);
+
+  /* For unaligned raw data, the output caps stay the same,
+   * except that video/x-unaligned-raw becomes video/x-raw,
+   * since the parser aligns the frame data */
+  if (gst_structure_has_name (structure, "video/x-unaligned-raw")) {
+    /* Copy the caps to be able to modify them */
+    GstCaps *new_caps = gst_caps_copy (caps);
+    gst_caps_unref (caps);
+    caps = new_caps;
+
+    /* Change the media type to video/x-raw , otherwise
+     * gst_video_info_from_caps() won't work */
+    structure = gst_caps_get_structure (caps, 0);
+    gst_structure_set_name (structure, "video/x-raw");
+  }
+
+  config_ptr->ready = gst_video_info_from_caps (&(config_ptr->info), caps);
+
+  if (config_ptr->ready) {
+    config_ptr->width = GST_VIDEO_INFO_WIDTH (&(config_ptr->info));
+    config_ptr->height = GST_VIDEO_INFO_HEIGHT (&(config_ptr->info));
+    config_ptr->pixel_aspect_ratio_n =
+        GST_VIDEO_INFO_PAR_N (&(config_ptr->info));
+    config_ptr->pixel_aspect_ratio_d =
+        GST_VIDEO_INFO_PAR_D (&(config_ptr->info));
+    config_ptr->framerate_n = GST_VIDEO_INFO_FPS_N (&(config_ptr->info));
+    config_ptr->framerate_d = GST_VIDEO_INFO_FPS_D (&(config_ptr->info));
+    config_ptr->interlaced = GST_VIDEO_INFO_IS_INTERLACED (&(config_ptr->info));
+    config_ptr->height = GST_VIDEO_INFO_HEIGHT (&(config_ptr->info));
+    config_ptr->top_field_first = 0;
+    config_ptr->frame_stride = 0;
+
+    for (i = 0; i < GST_VIDEO_MAX_PLANES; ++i) {
+      config_ptr->plane_offsets[i] =
+          GST_VIDEO_INFO_PLANE_OFFSET (&(config_ptr->info), i);
+      config_ptr->plane_strides[i] =
+          GST_VIDEO_INFO_PLANE_STRIDE (&(config_ptr->info), i);
+    }
+  }
+
+  gst_caps_unref (caps);
+
+  return config_ptr->ready;
+}
+
+
+static gboolean
+gst_raw_video_parse_get_caps_from_config (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config, GstCaps ** caps)
+{
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (raw_base_parse);
+  GstRawVideoParseConfig *config_ptr =
+      gst_raw_video_parse_get_config_ptr (raw_video_parse, config);
+
+  g_assert (caps != NULL);
+
+  *caps = gst_video_info_to_caps (&(config_ptr->info));
+
+  return *caps != NULL;
+}
+
+
+static gsize
+gst_raw_video_parse_get_config_frame_size (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config)
+{
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (raw_base_parse);
+  GstRawVideoParseConfig *config_ptr =
+      gst_raw_video_parse_get_config_ptr (raw_video_parse, config);
+  return MAX (GST_VIDEO_INFO_SIZE (&(config_ptr->info)),
+      (gsize) (config_ptr->frame_stride));
+}
+
+
+static guint
+gst_raw_video_parse_get_max_frames_per_buffer (G_GNUC_UNUSED GstRawBaseParse *
+    raw_base_parse, G_GNUC_UNUSED GstRawBaseParseConfig config)
+{
+  /* We want exactly one frame per buffer */
+  return 1;
+}
+
+
+static gboolean
+gst_raw_video_parse_is_config_ready (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config)
+{
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (raw_base_parse);
+  return gst_raw_video_parse_get_config_ptr (raw_video_parse, config)->ready;
+}
+
+
+static gboolean
+gst_raw_video_parse_process (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config, GstBuffer * in_data,
+    G_GNUC_UNUSED gsize total_num_in_bytes,
+    G_GNUC_UNUSED gsize num_valid_in_bytes, GstBuffer ** processed_data)
+{
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (raw_base_parse);
+  GstRawVideoParseConfig *config_ptr =
+      gst_raw_video_parse_get_config_ptr (raw_video_parse, config);
+  guint frame_flags = 0;
+  GstVideoInfo *video_info = &(config_ptr->info);
+  GstVideoMeta *videometa;
+  GstBuffer *out_data;
+
+  /* In case of extra padding bytes, get a subbuffer without the padding bytes.
+   * Otherwise, just add the video meta. */
+  if (GST_VIDEO_INFO_SIZE (video_info) < config_ptr->frame_stride) {
+    *processed_data = out_data =
+        gst_buffer_copy_region (in_data,
+        GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS |
+        GST_BUFFER_COPY_MEMORY, 0, GST_VIDEO_INFO_SIZE (video_info));
+  } else {
+    out_data = in_data;
+    *processed_data = NULL;
+  }
+
+  if (config_ptr->interlaced) {
+    GST_BUFFER_FLAG_SET (out_data, GST_VIDEO_BUFFER_FLAG_INTERLACED);
+    frame_flags |= GST_VIDEO_FRAME_FLAG_INTERLACED;
+
+    if (config_ptr->top_field_first) {
+      GST_BUFFER_FLAG_SET (out_data, GST_VIDEO_BUFFER_FLAG_TFF);
+      frame_flags |= GST_VIDEO_FRAME_FLAG_TFF;
+    } else
+      GST_BUFFER_FLAG_UNSET (out_data, GST_VIDEO_BUFFER_FLAG_TFF);
+  }
+
+  /* Remove any existing videometa - it will be replaced by the new videometa
+   * from here */
+  while ((videometa = gst_buffer_get_video_meta (out_data))) {
+    GST_LOG_OBJECT (raw_base_parse, "removing existing videometa from buffer");
+    gst_buffer_remove_meta (out_data, (GstMeta *) videometa);
+  }
+
+  gst_buffer_add_video_meta_full (out_data,
+      frame_flags,
+      config_ptr->format,
+      config_ptr->width,
+      config_ptr->height,
+      GST_VIDEO_INFO_N_PLANES (video_info),
+      config_ptr->plane_offsets, config_ptr->plane_strides);
+
+
+  return TRUE;
+}
+
+
+static gboolean
+gst_raw_video_parse_is_unit_format_supported (G_GNUC_UNUSED GstRawBaseParse *
+    raw_base_parse, GstFormat format)
+{
+  switch (format) {
+    case GST_FORMAT_BYTES:
+    case GST_FORMAT_DEFAULT:
+      return TRUE;
+    default:
+      return FALSE;
+  }
+}
+
+
+static void
+gst_raw_video_parse_get_units_per_second (GstRawBaseParse * raw_base_parse,
+    GstFormat format, GstRawBaseParseConfig config, gsize * units_per_sec_n,
+    gsize * units_per_sec_d)
+{
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (raw_base_parse);
+  GstRawVideoParseConfig *config_ptr =
+      gst_raw_video_parse_get_config_ptr (raw_video_parse, config);
+
+  switch (format) {
+    case GST_FORMAT_BYTES:
+    {
+      gsize framesize = GST_VIDEO_INFO_SIZE (&(config_ptr->info));
+      gint64 n = framesize * config_ptr->framerate_n;
+      gint64 d = config_ptr->framerate_d;
+      gint64 common_div = gst_util_greatest_common_divisor_int64 (n, d);
+      GST_DEBUG_OBJECT (raw_video_parse,
+          "n: %" G_GINT64_FORMAT " d: %" G_GINT64_FORMAT " common divisor: %"
+          G_GINT64_FORMAT, n, d, common_div);
+
+      /* Divide numerator and denominator by greatest common divisor.
+       * This minimizes the risk of integer overflows in the baseparse class. */
+      *units_per_sec_n = n / common_div;
+      *units_per_sec_d = d / common_div;
+
+      break;
+    }
+
+    case GST_FORMAT_DEFAULT:
+    {
+      *units_per_sec_n = config_ptr->framerate_n;
+      *units_per_sec_d = config_ptr->framerate_d;
+      break;
+    }
+
+    default:
+      g_assert_not_reached ();
+  }
+}
+
+
+static gint
+gst_raw_video_parse_get_overhead_size (GstRawBaseParse * raw_base_parse,
+    GstRawBaseParseConfig config)
+{
+  GstRawVideoParse *raw_video_parse = GST_RAW_VIDEO_PARSE (raw_base_parse);
+  GstRawVideoParseConfig *config_ptr =
+      gst_raw_video_parse_get_config_ptr (raw_video_parse, config);
+  gint64 frame_size = GST_VIDEO_INFO_SIZE (&(config_ptr->info));
+  gint64 frame_stride = config_ptr->frame_stride;
+
+  /* In the video parser, the overhead is defined by the difference between
+   * the frame stride and the actual frame size. If the former is larger,
+   * then the additional bytes are considered padding bytes and get ignored
+   * by the base class. */
+
+  GST_LOG_OBJECT (raw_video_parse,
+      "frame size: %" G_GINT64_FORMAT "  frame stride: %" G_GINT64_FORMAT,
+      frame_size, frame_stride);
+
+  return (frame_size < frame_stride) ? (gint) (frame_stride - frame_size) : 0;
+}
+
+
+static gboolean
+gst_raw_video_parse_is_using_sink_caps (GstRawVideoParse * raw_video_parse)
+{
+  return raw_video_parse->current_config ==
+      &(raw_video_parse->sink_caps_config);
+}
+
+
+static GstRawVideoParseConfig *
+gst_raw_video_parse_get_config_ptr (GstRawVideoParse * raw_video_parse,
+    GstRawBaseParseConfig config)
+{
+  g_assert (raw_video_parse->current_config != NULL);
+
+  switch (config) {
+    case GST_RAW_BASE_PARSE_CONFIG_PROPERTIES:
+      return &(raw_video_parse->properties_config);
+
+    case GST_RAW_BASE_PARSE_CONFIG_SINKCAPS:
+      return &(raw_video_parse->sink_caps_config);
+
+    default:
+      g_assert (raw_video_parse->current_config != NULL);
+      return raw_video_parse->current_config;
+  }
+}
+
+
+static void
+gst_raw_video_parse_init_config (GstRawVideoParseConfig * config)
+{
+  int i;
+
+  config->ready = FALSE;
+  config->width = DEFAULT_WIDTH;
+  config->height = DEFAULT_HEIGHT;
+  config->format = DEFAULT_FORMAT;
+  config->pixel_aspect_ratio_n = DEFAULT_PIXEL_ASPECT_RATIO_N;
+  config->pixel_aspect_ratio_d = DEFAULT_PIXEL_ASPECT_RATIO_D;
+  config->framerate_n = DEFAULT_FRAMERATE_N;
+  config->framerate_d = DEFAULT_FRAMERATE_D;
+  config->interlaced = DEFAULT_INTERLACED;
+
+  config->top_field_first = DEFAULT_TOP_FIELD_FIRST;
+  config->frame_stride = DEFAULT_FRAME_STRIDE;
+
+  gst_video_info_set_format (&(config->info), DEFAULT_FORMAT, DEFAULT_WIDTH,
+      DEFAULT_HEIGHT);
+  for (i = 0; i < GST_VIDEO_MAX_PLANES; ++i) {
+    config->plane_offsets[i] = GST_VIDEO_INFO_PLANE_OFFSET (&(config->info), i);
+    config->plane_strides[i] = GST_VIDEO_INFO_PLANE_STRIDE (&(config->info), i);
+  }
+}
+
+
+static void
+gst_raw_video_parse_update_info (GstRawVideoParseConfig * config)
+{
+  guint i;
+  guint n_planes;
+  guint last_plane;
+  gsize last_plane_offset, last_plane_size;
+  GstVideoInfo *info = &(config->info);
+
+  GST_DEBUG ("updating info with width %u height %u format %s "
+      " custom plane strides&offsets %d", config->width, config->height,
+      gst_video_format_to_string (config->format),
+      config->custom_plane_strides);
+
+  gst_video_info_set_format (info, config->format, config->width,
+      config->height);
+
+  GST_VIDEO_INFO_PAR_N (info) = config->pixel_aspect_ratio_n;
+  GST_VIDEO_INFO_PAR_D (info) = config->pixel_aspect_ratio_d;
+  GST_VIDEO_INFO_FPS_N (info) = config->framerate_n;
+  GST_VIDEO_INFO_FPS_D (info) = config->framerate_d;
+  GST_VIDEO_INFO_INTERLACE_MODE (info) =
+      config->interlaced ? GST_VIDEO_INTERLACE_MODE_INTERLEAVED :
+      GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
+
+  /* Check if there are custom plane strides & offsets that need to be preserved */
+  if (config->custom_plane_strides) {
+    /* In case there are, overwrite the offsets&strides computed by
+     * gst_video_info_set_format with the custom ones */
+    for (i = 0; i < GST_VIDEO_MAX_PLANES; ++i) {
+      GST_VIDEO_INFO_PLANE_OFFSET (info, i) = config->plane_offsets[i];
+      GST_VIDEO_INFO_PLANE_STRIDE (info, i) = config->plane_strides[i];
+    }
+  } else {
+    /* No custom planes&offsets; copy the computed ones into
+     * the plane_offsets & plane_strides arrays to ensure they
+     * are equal to the ones in the videoinfo */
+    for (i = 0; i < GST_VIDEO_MAX_PLANES; ++i) {
+      config->plane_offsets[i] = GST_VIDEO_INFO_PLANE_OFFSET (info, i);
+      config->plane_strides[i] = GST_VIDEO_INFO_PLANE_STRIDE (info, i);
+    }
+  }
+
+  n_planes = GST_VIDEO_INFO_N_PLANES (info);
+  if (n_planes < 1)
+    n_planes = 1;
+
+  /* Figure out what plane is the physically last one. Typically
+   * this is the last plane in the list (= at index n_planes-1).
+   * However, this is not guaranteed, so we have to scan the offsets
+   * to find the last plane. */
+  last_plane_offset = 0;
+  last_plane = 0;
+  for (i = 0; i < n_planes; ++i) {
+    gsize plane_offset = GST_VIDEO_INFO_PLANE_OFFSET (info, i);
+    if (plane_offset >= last_plane_offset) {
+      last_plane = i;
+      last_plane_offset = plane_offset;
+    }
+  }
+
+  last_plane_size =
+      GST_VIDEO_INFO_PLANE_STRIDE (info,
+      last_plane) * GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT (info->finfo,
+      last_plane, config->height);
+
+  GST_VIDEO_INFO_SIZE (info) = last_plane_offset + last_plane_size;
+
+  GST_DEBUG ("last plane #%u:  offset: %" G_GSIZE_FORMAT " size: %"
+      G_GSIZE_FORMAT " => frame size minus extra padding: %" G_GSIZE_FORMAT,
+      last_plane, last_plane_offset, last_plane_size,
+      GST_VIDEO_INFO_SIZE (info));
+}
diff --git a/gst/rawparse/gstrawvideoparse.h b/gst/rawparse/gstrawvideoparse.h
new file mode 100644
index 0000000..32605a6
--- /dev/null
+++ b/gst/rawparse/gstrawvideoparse.h
@@ -0,0 +1,118 @@
+/* GStreamer
+ * Copyright (C) <2016> Carlos Rafael Giani <dv at pseudoterminal dot org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef __GST_RAW_VIDEO_PARSE_H__
+#define __GST_RAW_VIDEO_PARSE_H__
+
+#include <gst/gst.h>
+#include <gst/video/video.h>
+#include "gstrawbaseparse.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_RAW_VIDEO_PARSE \
+  (gst_raw_video_parse_get_type())
+#define GST_RAW_VIDEO_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_RAW_VIDEO_PARSE, GstRawVideoParse))
+#define GST_RAW_VIDEO_PARSE_CAST(obj) \
+  ((GstRawVideoParse *)(obj))
+#define GST_RAW_VIDEO_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_RAW_VIDEO_PARSE, GstRawVideoParseClass))
+#define GST_IS_RAW_VIDEO_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_RAW_VIDEO_PARSE))
+#define GST_IS_RAW_VIDEO_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_RAW_VIDEO_PARSE))
+
+
+typedef struct _GstRawVideoParseConfig GstRawVideoParseConfig;
+typedef struct _GstRawVideoParse GstRawVideoParse;
+typedef struct _GstRawVideoParseClass GstRawVideoParseClass;
+
+
+/* Contains information about the video frame format. */
+struct _GstRawVideoParseConfig
+{
+  /* If TRUE, then this configuration is ready to use */
+  gboolean ready;
+
+  /* FIXME: These values should not be necessary, since there's
+   * GstVideoInfo. However, setting these values in the video
+   * info independently is currently difficult. For example,
+   * setting the video format requires the gst_video_info_set_format()
+   * function, but this function also overwrites plane strides
+   * and offsets. */
+  gint width, height;
+  GstVideoFormat format;
+  gint pixel_aspect_ratio_n, pixel_aspect_ratio_d;
+  gint framerate_n, framerate_d;
+  gboolean interlaced;
+  gsize plane_offsets[GST_VIDEO_MAX_PLANES];
+  gint plane_strides[GST_VIDEO_MAX_PLANES];
+
+  /* If TRUE, then TFF flags are added to outgoing buffers and
+   * their video metadata */
+  gboolean top_field_first;
+
+  /* Distance between the start of each frame, in bytes. If this value
+   * is larger than the actual size of a frame, then the extra bytes
+   * are skipped. For example, with frames that have 115200 bytes, a
+   * frame_stride value of 120000 means that 4800 trailing bytes are
+   * skipped after the 115200 frame bytes. This is useful to skip
+   * metadata in between frames. */
+  guint frame_stride;
+
+  GstVideoInfo info;
+
+  gboolean custom_plane_strides;
+};
+
+
+struct _GstRawVideoParse
+{
+  GstRawBaseParse parent;
+
+  /*< private > */
+
+  /* Configuration controlled by the object properties. Its ready value
+   * is set to TRUE from the start, so it can be used right away.
+   */
+  GstRawVideoParseConfig properties_config;
+  /* Configuration controlled by the sink caps. Its ready value is
+   * initially set to FALSE until valid sink caps come in. It is set to
+   * FALSE again when the stream-start event is observed.
+   */
+  GstRawVideoParseConfig sink_caps_config;
+  /* Currently active configuration. Points either to properties_config
+   * or to sink_caps_config. This is never NULL. */
+  GstRawVideoParseConfig *current_config;
+};
+
+
+struct _GstRawVideoParseClass
+{
+  GstRawBaseParseClass parent_class;
+};
+
+
+GType gst_raw_video_parse_get_type (void);
+
+
+G_END_DECLS
+
+#endif
diff --git a/gst/rawparse/gstunalignedaudioparse.c b/gst/rawparse/gstunalignedaudioparse.c
index 62a83f3..8847e1f 100644
--- a/gst/rawparse/gstunalignedaudioparse.c
+++ b/gst/rawparse/gstunalignedaudioparse.c
@@ -96,7 +96,7 @@
   GstPad *ghostpad;
 
   unaligned_audio_parse->inner_parser =
-      gst_element_factory_make ("audioparse", "inner_parser");
+      gst_element_factory_make ("rawaudioparse", "inner_parser");
   g_assert (unaligned_audio_parse->inner_parser != NULL);
 
   g_object_set (G_OBJECT (unaligned_audio_parse->inner_parser),
diff --git a/gst/rawparse/gstunalignedvideoparse.c b/gst/rawparse/gstunalignedvideoparse.c
new file mode 100644
index 0000000..d6e8cf3
--- /dev/null
+++ b/gst/rawparse/gstunalignedvideoparse.c
@@ -0,0 +1,124 @@
+/* GStreamer
+ * Copyright (C) 2016 Carlos Rafael Giani <dv@pseudoterminal.org>
+ *
+ * gstunalignedvideoparse.c:
+ *
+ * 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.
+ */
+
+#include <string.h>
+#include <stdio.h>
+#include <gst/gst.h>
+#include <gst/video/video.h>
+#include "gstunalignedvideoparse.h"
+#include "unalignedvideo.h"
+
+
+GST_DEBUG_CATEGORY (unaligned_video_parse_debug);
+#define GST_CAT_DEFAULT unaligned_video_parse_debug
+
+
+struct _GstUnalignedVideoParse
+{
+  GstBin parent;
+  GstElement *inner_parser;
+};
+
+
+struct _GstUnalignedVideoParseClass
+{
+  GstBinClass parent_class;
+};
+
+
+static GstStaticPadTemplate static_sink_template =
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_UNALIGNED_RAW_VIDEO_CAPS)
+    );
+
+
+static GstStaticPadTemplate static_src_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL))
+    );
+
+
+
+
+G_DEFINE_TYPE (GstUnalignedVideoParse, gst_unaligned_video_parse, GST_TYPE_BIN);
+
+
+static void
+gst_unaligned_video_parse_class_init (GstUnalignedVideoParseClass * klass)
+{
+  GstElementClass *element_class;
+
+  GST_DEBUG_CATEGORY_INIT (unaligned_video_parse_debug, "unalignedvideoparse",
+      0, "Unaligned raw video parser");
+
+  element_class = GST_ELEMENT_CLASS (klass);
+
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&static_sink_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&static_src_template));
+
+  gst_element_class_set_static_metadata (element_class,
+      "unalignedvideoparse",
+      "Codec/Parser/Bin/Video",
+      "Parse unaligned raw video data",
+      "Carlos Rafael Giani <dv@pseudoterminal.org>");
+}
+
+
+static void
+gst_unaligned_video_parse_init (GstUnalignedVideoParse * unaligned_video_parse)
+{
+  GstPad *inner_pad;
+  GstPad *ghostpad;
+
+  unaligned_video_parse->inner_parser =
+      gst_element_factory_make ("rawvideoparse", "inner_parser");
+  g_assert (unaligned_video_parse->inner_parser != NULL);
+
+  g_object_set (G_OBJECT (unaligned_video_parse->inner_parser),
+      "use-sink-caps", TRUE, NULL);
+
+  gst_bin_add (GST_BIN (unaligned_video_parse),
+      unaligned_video_parse->inner_parser);
+
+  inner_pad =
+      gst_element_get_static_pad (unaligned_video_parse->inner_parser, "sink");
+  ghostpad =
+      gst_ghost_pad_new_from_template ("sink", inner_pad,
+      gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS
+          (unaligned_video_parse), "sink"));
+  gst_element_add_pad (GST_ELEMENT (unaligned_video_parse), ghostpad);
+  gst_object_unref (GST_OBJECT (inner_pad));
+
+  inner_pad = gst_element_get_static_pad (unaligned_video_parse->inner_parser,
+      "src");
+  ghostpad =
+      gst_ghost_pad_new_from_template ("src", inner_pad,
+      gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS
+          (unaligned_video_parse), "src"));
+  gst_element_add_pad (GST_ELEMENT (unaligned_video_parse), ghostpad);
+  gst_object_unref (GST_OBJECT (inner_pad));
+}
diff --git a/gst/rawparse/gstunalignedvideoparse.h b/gst/rawparse/gstunalignedvideoparse.h
new file mode 100644
index 0000000..da40ac9
--- /dev/null
+++ b/gst/rawparse/gstunalignedvideoparse.h
@@ -0,0 +1,49 @@
+/* GStreamer
+ * Copyright (C) 2016 Carlos Rafael Giani <dv@pseudoterminal.org>
+ *
+ * gstunalignedvideoparse.h:
+ *
+ * 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_UNALIGNED_VIDEO_PARSE_H___
+#define __GST_UNALIGNED_VIDEO_PARSE_H___
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_UNALIGNED_VIDEO_PARSE \
+  (gst_unaligned_video_parse_get_type())
+#define GST_UNALIGNED_VIDEO_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_CAST((obj), GST_TYPE_UNALIGNED_VIDEO_PARSE, GstUnalignedVideoParse))
+#define GST_UNALIGNED_VIDEO_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_UNALIGNED_VIDEO_PARSE, GstUnalignedVideoParseClass))
+#define GST_UNALIGNED_VIDEO_PARSE_CAST(obj) \
+  ((GstUnalignedVideoParse *)(obj))
+#define GST_IS_UNALIGNED_VIDEO_PARSE(obj) \
+  (G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_UNALIGNED_VIDEO_PARSE))
+#define GST_IS_UNALIGNED_VIDEO_PARSE_CLASS(klass) \
+  (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_UNALIGNED_VIDEO_PARSE))
+
+typedef struct _GstUnalignedVideoParse GstUnalignedVideoParse;
+typedef struct _GstUnalignedVideoParseClass GstUnalignedVideoParseClass;
+
+GType gst_unaligned_video_parse_get_type (void);
+
+G_END_DECLS
+
+#endif /* __GST_UNALIGNED_VIDEO_PARSE_H___ */
diff --git a/gst/rawparse/gstvideoparse.c b/gst/rawparse/gstvideoparse.c
index 7b5e037..cf5c48e 100644
--- a/gst/rawparse/gstvideoparse.c
+++ b/gst/rawparse/gstvideoparse.c
@@ -23,28 +23,47 @@
  * SECTION:element-videoparse
  *
  * Converts a byte stream into video frames.
+ *
+ * <note>This element is deprecated. Use #GstRawVideoParse instead.</note>
  */
 
 #ifdef HAVE_CONFIG_H
 #  include "config.h"
 #endif
 
+/* FIXME 0.11: suppress warnings for deprecated API such as g_value_array stuff
+ * for now with newer GLib versions (>= 2.31.0) */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
+#include <gst/gst.h>
+#include <gst/audio/audio.h>
 #include "gstvideoparse.h"
+#include "gstrawvideoparse.h"
+
+
+static GstStaticPadTemplate static_sink_template =
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS_ANY);
+
+
+static GstStaticPadTemplate static_src_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-raw")
+    );
+
 
 static void gst_video_parse_set_property (GObject * object, guint prop_id,
     const GValue * value, GParamSpec * pspec);
 static void gst_video_parse_get_property (GObject * object, guint prop_id,
     GValue * value, GParamSpec * pspec);
 
-static GstCaps *gst_video_parse_get_caps (GstRawParse * rp);
-static void gst_video_parse_pre_push_buffer (GstRawParse * rp,
-    GstBuffer * buffer);
-static void gst_video_parse_decide_allocation (GstRawParse * rp,
-    GstQuery * query);
-
-static void gst_video_parse_update_info (GstVideoParse * vp);
-static gboolean gst_video_parse_deserialize_int_array (const gchar * str,
-    gint * dest, guint n_values);
+static GValueArray *gst_video_parse_int_valarray_from_string (const gchar *
+    str);
+static gchar *gst_video_parse_int_valarray_to_string (GValueArray * valarray);
 
 GST_DEBUG_CATEGORY_STATIC (gst_video_parse_debug);
 #define GST_CAT_DEFAULT gst_video_parse_debug
@@ -65,23 +84,17 @@
 };
 
 #define gst_video_parse_parent_class parent_class
-G_DEFINE_TYPE (GstVideoParse, gst_video_parse, GST_TYPE_RAW_PARSE);
+G_DEFINE_TYPE (GstVideoParse, gst_video_parse, GST_TYPE_BIN);
 
 static void
 gst_video_parse_class_init (GstVideoParseClass * klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
-  GstRawParseClass *rp_class = GST_RAW_PARSE_CLASS (klass);
-  GstCaps *caps;
 
   gobject_class->set_property = gst_video_parse_set_property;
   gobject_class->get_property = gst_video_parse_get_property;
 
-  rp_class->get_caps = gst_video_parse_get_caps;
-  rp_class->pre_push_buffer = gst_video_parse_pre_push_buffer;
-  rp_class->decide_allocation = gst_video_parse_decide_allocation;
-
   g_object_class_install_property (gobject_class, PROP_FORMAT,
       g_param_spec_enum ("format", "Format", "Format of images in raw stream",
           GST_TYPE_VIDEO_FORMAT, GST_VIDEO_FORMAT_I420,
@@ -123,15 +136,14 @@
 
   gst_element_class_set_static_metadata (gstelement_class, "Video Parse",
       "Filter/Video",
-      "Converts stream into video frames",
+      "Converts stream into video frames (deprecated: use rawvideoparse instead)",
       "David Schleef <ds@schleef.org>, "
       "Sebastian Dröge <sebastian.droege@collabora.co.uk>");
 
-  caps = gst_caps_from_string ("video/x-raw; video/x-bayer");
-
-  gst_raw_parse_class_set_src_pad_template (rp_class, caps);
-  gst_raw_parse_class_set_multiple_frames_per_buffer (rp_class, FALSE);
-  gst_caps_unref (caps);
+  gst_element_class_add_pad_template (gstelement_class,
+      gst_static_pad_template_get (&static_sink_template));
+  gst_element_class_add_pad_template (gstelement_class,
+      gst_static_pad_template_get (&static_src_template));
 
   GST_DEBUG_CATEGORY_INIT (gst_video_parse_debug, "videoparse", 0,
       "videoparse element");
@@ -140,14 +152,28 @@
 static void
 gst_video_parse_init (GstVideoParse * vp)
 {
-  vp->width = 320;
-  vp->height = 240;
-  vp->format = GST_VIDEO_FORMAT_I420;
-  vp->par_n = 1;
-  vp->par_d = 1;
+  GstPad *inner_pad;
+  GstPad *ghostpad;
 
-  gst_raw_parse_set_fps (GST_RAW_PARSE (vp), 25, 1);
-  gst_video_parse_update_info (vp);
+  vp->rawvideoparse =
+      gst_element_factory_make ("rawvideoparse", "inner_rawvideoparse");
+  g_assert (vp->rawvideoparse != NULL);
+
+  gst_bin_add (GST_BIN (vp), vp->rawvideoparse);
+
+  inner_pad = gst_element_get_static_pad (vp->rawvideoparse, "sink");
+  ghostpad =
+      gst_ghost_pad_new_from_template ("sink", inner_pad,
+      gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (vp), "sink"));
+  gst_element_add_pad (GST_ELEMENT (vp), ghostpad);
+  gst_object_unref (GST_OBJECT (inner_pad));
+
+  inner_pad = gst_element_get_static_pad (vp->rawvideoparse, "src");
+  ghostpad =
+      gst_ghost_pad_new_from_template ("src", inner_pad,
+      gst_element_class_get_pad_template (GST_ELEMENT_GET_CLASS (vp), "src"));
+  gst_element_add_pad (GST_ELEMENT (vp), ghostpad);
+  gst_object_unref (GST_OBJECT (inner_pad));
 }
 
 static void
@@ -156,62 +182,83 @@
 {
   GstVideoParse *vp = GST_VIDEO_PARSE (object);
 
-  g_return_if_fail (!gst_raw_parse_is_negotiated (GST_RAW_PARSE (vp)));
-
   switch (prop_id) {
     case PROP_FORMAT:
-      vp->format = g_value_get_enum (value);
+      g_object_set (G_OBJECT (vp->rawvideoparse), "format",
+          g_value_get_enum (value), NULL);
       break;
+
     case PROP_WIDTH:
-      vp->width = g_value_get_int (value);
+      g_object_set (G_OBJECT (vp->rawvideoparse), "width",
+          g_value_get_int (value), NULL);
       break;
+
     case PROP_HEIGHT:
-      vp->height = g_value_get_int (value);
+      g_object_set (G_OBJECT (vp->rawvideoparse), "height",
+          g_value_get_int (value), NULL);
       break;
+
     case PROP_FRAMERATE:
-      gst_raw_parse_set_fps (GST_RAW_PARSE (vp),
+      g_object_set (G_OBJECT (vp->rawvideoparse), "framerate",
           gst_value_get_fraction_numerator (value),
-          gst_value_get_fraction_denominator (value));
+          gst_value_get_fraction_denominator (value), NULL);
       break;
+
     case PROP_PAR:
-      vp->par_n = gst_value_get_fraction_numerator (value);
-      vp->par_d = gst_value_get_fraction_denominator (value);
+      g_object_set (G_OBJECT (vp->rawvideoparse), "pixel-aspect-ratio",
+          gst_value_get_fraction_numerator (value),
+          gst_value_get_fraction_denominator (value), NULL);
       break;
+
     case PROP_INTERLACED:
-      vp->interlaced = g_value_get_boolean (value);
+      g_object_set (G_OBJECT (vp->rawvideoparse), "interlaced",
+          g_value_get_boolean (value), NULL);
       break;
+
     case PROP_TOP_FIELD_FIRST:
-      vp->top_field_first = g_value_get_boolean (value);
+      g_object_set (G_OBJECT (vp->rawvideoparse), "top-field-first",
+          g_value_get_boolean (value), NULL);
       break;
-    case PROP_STRIDES:
-      if (gst_video_parse_deserialize_int_array (g_value_get_string (value),
-              vp->stride, GST_VIDEO_MAX_PLANES)) {
-        vp->stride_set = TRUE;
+
+    case PROP_STRIDES:{
+      GValueArray *valarray =
+          gst_video_parse_int_valarray_from_string (g_value_get_string (value));
+
+      if (valarray != NULL) {
+        g_object_set (G_OBJECT (vp->rawvideoparse), "plane-strides",
+            valarray, NULL);
+        g_value_array_free (valarray);
       } else {
         GST_WARNING_OBJECT (vp, "failed to deserialize given strides");
-        vp->stride_set = FALSE;
       }
 
       break;
-    case PROP_OFFSETS:
-      if (gst_video_parse_deserialize_int_array (g_value_get_string (value),
-              vp->offset, GST_VIDEO_MAX_PLANES)) {
-        vp->offset_set = TRUE;
+    }
+
+    case PROP_OFFSETS:{
+      GValueArray *valarray =
+          gst_video_parse_int_valarray_from_string (g_value_get_string (value));
+
+      if (valarray != NULL) {
+        g_object_set (G_OBJECT (vp->rawvideoparse), "plane-offsets",
+            valarray, NULL);
+        g_value_array_free (valarray);
       } else {
-        GST_WARNING_OBJECT (vp, "failed to deserialized given offsets");
-        vp->offset_set = FALSE;
+        GST_WARNING_OBJECT (vp, "failed to deserialize given offsets");
       }
 
       break;
+    }
+
     case PROP_FRAMESIZE:
-      vp->framesize = g_value_get_uint (value);
+      g_object_set (G_OBJECT (vp->rawvideoparse), "frame-stride",
+          g_value_get_uint (value), NULL);
       break;
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
   }
-
-  gst_video_parse_update_info (vp);
 }
 
 static void
@@ -221,377 +268,155 @@
   GstVideoParse *vp = GST_VIDEO_PARSE (object);
 
   switch (prop_id) {
-    case PROP_FORMAT:
-      g_value_set_enum (value, vp->format);
+    case PROP_FORMAT:{
+      GstVideoFormat format;
+      g_object_get (G_OBJECT (vp->rawvideoparse), "format", &format, NULL);
+      g_value_set_enum (value, format);
       break;
-    case PROP_WIDTH:
-      g_value_set_int (value, vp->width);
+    }
+
+    case PROP_WIDTH:{
+      gint width;
+      g_object_get (G_OBJECT (vp->rawvideoparse), "width", &width, NULL);
+      g_value_set_int (value, width);
       break;
-    case PROP_HEIGHT:
-      g_value_set_int (value, vp->height);
+    }
+
+    case PROP_HEIGHT:{
+      gint height;
+      g_object_get (G_OBJECT (vp->rawvideoparse), "height", &height, NULL);
+      g_value_set_int (value, height);
       break;
+    }
+
     case PROP_FRAMERATE:{
       gint fps_n, fps_d;
-
-      gst_raw_parse_get_fps (GST_RAW_PARSE (vp), &fps_n, &fps_d);
+      g_object_get (G_OBJECT (vp->rawvideoparse), "framerate", &fps_n, &fps_d,
+          NULL);
       gst_value_set_fraction (value, fps_n, fps_d);
       break;
     }
-    case PROP_PAR:
-      gst_value_set_fraction (value, vp->par_n, vp->par_d);
-      break;
-    case PROP_INTERLACED:
-      g_value_set_boolean (value, vp->interlaced);
-      break;
-    case PROP_TOP_FIELD_FIRST:
-      g_value_set_boolean (value, vp->top_field_first);
-      break;
-    case PROP_STRIDES:
-    {
-      gchar *tmp;
 
-      tmp = g_strdup_printf ("%d,%d,%d,%d", vp->info.stride[0],
-          vp->info.stride[1], vp->info.stride[2], vp->info.stride[3]);
-      g_value_set_string (value, tmp);
-      g_free (tmp);
+    case PROP_PAR:{
+      gint par_n, par_d;
+      g_object_get (G_OBJECT (vp->rawvideoparse), "pixel-aspect-ratio", &par_n,
+          &par_d, NULL);
+      gst_value_set_fraction (value, par_n, par_d);
       break;
     }
-    case PROP_OFFSETS:
-    {
-      gchar *tmp;
 
-      tmp = g_strdup_printf ("%" G_GSIZE_FORMAT ",%" G_GSIZE_FORMAT
-          ",%" G_GSIZE_FORMAT ",%" G_GSIZE_FORMAT, vp->info.offset[0],
-          vp->info.offset[1], vp->info.offset[2], vp->info.offset[3]);
-      g_value_set_string (value, tmp);
-      g_free (tmp);
+    case PROP_INTERLACED:{
+      gboolean interlaced;
+      g_object_get (G_OBJECT (vp->rawvideoparse), "interlaced", &interlaced,
+          NULL);
+      g_value_set_boolean (value, interlaced);
       break;
     }
-    case PROP_FRAMESIZE:
-      g_value_set_uint (value, vp->info.size);
+
+    case PROP_TOP_FIELD_FIRST:{
+      gboolean top_field_first;
+      g_object_get (G_OBJECT (vp->rawvideoparse), "top-field-first",
+          &top_field_first, NULL);
+      g_value_set_boolean (value, top_field_first);
       break;
+    }
+
+    case PROP_STRIDES:{
+      GValueArray *array;
+      g_object_get (G_OBJECT (vp->rawvideoparse), "plane-strides", &array,
+          NULL);
+      g_value_take_string (value,
+          gst_video_parse_int_valarray_to_string (array));
+      break;
+    }
+
+    case PROP_OFFSETS:{
+      GValueArray *array;
+      g_object_get (G_OBJECT (vp->rawvideoparse), "plane-offsets", &array,
+          NULL);
+      g_value_take_string (value,
+          gst_video_parse_int_valarray_to_string (array));
+      break;
+    }
+
+    case PROP_FRAMESIZE:{
+      guint frame_stride;
+      g_object_get (G_OBJECT (vp->rawvideoparse), "frame-stride", &frame_stride,
+          NULL);
+      g_value_set_uint (value, frame_stride);
+      break;
+    }
+
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
       break;
   }
 }
 
-static gboolean
-gst_video_parse_deserialize_int_array (const gchar * str, gint * dest,
-    guint n_values)
+static GValueArray *
+gst_video_parse_int_valarray_from_string (const gchar * str)
 {
   gchar **strv;
   guint length;
   guint i;
+  GValueArray *valarray;
+  GValue gvalue = G_VALUE_INIT;
 
-  strv = g_strsplit (str, ",", n_values);
+  if (str == NULL)
+    return NULL;
+
+  strv = g_strsplit (str, ",", GST_VIDEO_MAX_PLANES);
   if (strv == NULL)
-    return FALSE;
+    return NULL;
 
   length = g_strv_length (strv);
+  valarray = g_value_array_new (length);
+  g_value_init (&gvalue, G_TYPE_UINT);
 
   for (i = 0; i < length; i++) {
     gint64 val;
 
     val = g_ascii_strtoll (strv[i], NULL, 10);
     if (val < G_MININT || val > G_MAXINT) {
-      g_strfreev (strv);
-      return FALSE;
+      goto error;
     }
 
-    dest[i] = val;
+    g_value_set_uint (&gvalue, val);
+    g_value_array_insert (valarray, i, &gvalue);
   }
 
-  /* fill remaining values with 0 */
-  for (i = length; i < n_values; i++)
-    dest[i] = 0;
-
+finish:
   g_strfreev (strv);
+  return valarray;
 
-  return TRUE;
+error:
+  g_value_array_free (valarray);
+  valarray = NULL;
+  goto finish;
 }
 
-static inline gsize
-gst_video_parse_get_plane_size (GstVideoInfo * info, guint plane)
+static gchar *
+gst_video_parse_int_valarray_to_string (GValueArray * valarray)
 {
-  gsize size = 0;
-
-  if (GST_VIDEO_FORMAT_INFO_IS_TILED (info->finfo)) {
-    gint tile_width, tile_height, x_tiles, y_tiles;
-
-    tile_width = 1 << GST_VIDEO_FORMAT_INFO_TILE_WS (info->finfo);
-    tile_height = 1 << GST_VIDEO_FORMAT_INFO_TILE_HS (info->finfo);
-    x_tiles = GST_VIDEO_TILE_X_TILES (info->stride[plane]);
-    y_tiles = GST_VIDEO_TILE_Y_TILES (info->stride[plane]);
-
-    /* plane size is the size of one tile multiplied by the number of tiles */
-    size = tile_width * tile_height * x_tiles * y_tiles;
-  } else {
-    size = info->stride[plane] *
-        GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT (info->finfo, plane, info->height);
-  }
-
-  return size;
-}
-
-
-static gboolean
-gst_video_parse_update_stride (GstVideoParse * vp)
-{
-  GstVideoInfo *info = &vp->info;
+  /* holds a 64-bit number as string, which can have max. 20 digits
+   * (with extra char for nullbyte) */
+  gchar stride_str[21];
+  gchar *str = NULL;
   guint i;
 
-  /* 1. check that provided strides are greater than the default ones */
-  for (i = 0; i < GST_VIDEO_INFO_N_PLANES (info); i++) {
-    if (GST_VIDEO_FORMAT_INFO_IS_TILED (info->finfo)) {
-      /* for tiled format, make sure there is more tiles than default */
-      gint default_x_tiles, default_y_tiles, x_tiles, y_tiles;
+  for (i = 0; i < valarray->n_values; i++) {
+    GValue *gvalue = g_value_array_get_nth (valarray, i);
+    guint val = g_value_get_uint (gvalue);
+    g_snprintf (stride_str, sizeof (stride_str), "%u", val);
 
-      x_tiles = GST_VIDEO_TILE_X_TILES (vp->stride[i]);
-      y_tiles = GST_VIDEO_TILE_Y_TILES (vp->stride[i]);
-      default_x_tiles = GST_VIDEO_TILE_X_TILES (info->stride[i]);
-      default_y_tiles = GST_VIDEO_TILE_Y_TILES (info->stride[i]);
-
-      if (x_tiles < default_x_tiles) {
-        GST_WARNING_OBJECT (vp,
-            "x_tiles for plane %u is too small: got %d, min %d", i, x_tiles,
-            default_x_tiles);
-        return FALSE;
-      }
-
-      if (y_tiles < default_y_tiles) {
-        GST_WARNING_OBJECT (vp,
-            "y_tiles for plane %u is too small: got %d, min %d", i, y_tiles,
-            default_y_tiles);
-        return FALSE;
-      }
+    if (str == NULL) {
+      str = g_strdup (stride_str);
     } else {
-      if (vp->stride[i] < info->stride[i]) {
-        GST_WARNING_OBJECT (vp,
-            "stride for plane %u is too small: got %d, min %d", i,
-            vp->stride[i], info->stride[i]);
-        return FALSE;
-      }
+      gchar *new_str = g_strdup_printf ("%s,%s", str, stride_str);
+      g_free (str);
+      str = new_str;
     }
   }
 
-  /* 2. update stride and plane offsets */
-  for (i = 0; i < GST_VIDEO_INFO_N_PLANES (info); i++) {
-    if (vp->stride[i] != info->stride[i]) {
-      info->stride[i] = vp->stride[i];
-
-      if (i > 0) {
-        /* update offset to reflect stride change for plane > 0 */
-        info->offset[i] = info->offset[i - 1] +
-            gst_video_parse_get_plane_size (info, i - 1);
-      }
-
-      vp->need_videometa = TRUE;
-    }
-  }
-
-  return TRUE;
-}
-
-static gboolean
-gst_video_parse_update_offset (GstVideoParse * vp)
-{
-  GstVideoInfo *info = &vp->info;
-  guint i;
-
-  /* 1. check that provided offsets are greaters than the default ones and are
-   * consistent with plane size */
-  for (i = 0; i < GST_VIDEO_INFO_N_PLANES (info); i++) {
-    gsize min_offset = info->offset[i];
-
-    if (i > 0)
-      min_offset = MAX (min_offset,
-          vp->offset[i - 1] + gst_video_parse_get_plane_size (info, i - 1));
-
-    if (vp->offset[i] < min_offset) {
-      GST_WARNING_OBJECT (vp,
-          "offset for plane %u is too small: got %d, min %" G_GSIZE_FORMAT, i,
-          vp->offset[i], min_offset);
-      return FALSE;
-    }
-  }
-
-  /* 2. update offsets */
-  for (i = 0; i < GST_VIDEO_INFO_N_PLANES (info); i++) {
-    if (vp->offset[i] != info->offset[i]) {
-      info->offset[i] = vp->offset[i];
-      vp->need_videometa = TRUE;
-    }
-  }
-
-  return TRUE;
-}
-
-static void
-gst_video_parse_update_info (GstVideoParse * vp)
-{
-  GstVideoInfo *info = &vp->info;
-  gint fps_n, fps_d;
-  gint framesize;
-  guint i;
-  gboolean update_size = FALSE;
-
-  gst_raw_parse_get_fps (GST_RAW_PARSE (vp), &fps_n, &fps_d);
-
-  gst_video_info_init (info);
-  gst_video_info_set_format (info, vp->format, vp->width, vp->height);
-  info->fps_n = fps_n;
-  info->fps_d = fps_d;
-  info->par_n = vp->par_n;
-  info->par_d = vp->par_d;
-  info->interlace_mode = vp->interlaced ?
-      GST_VIDEO_INTERLACE_MODE_INTERLEAVED :
-      GST_VIDEO_INTERLACE_MODE_PROGRESSIVE;
-
-  vp->need_videometa = FALSE;
-
-  if (vp->stride_set) {
-    if (gst_video_parse_update_stride (vp))
-      update_size = TRUE;
-    else
-      GST_WARNING_OBJECT (vp, "invalid strides set, use default ones");
-  }
-
-  if (vp->offset_set) {
-    if (gst_video_parse_update_offset (vp))
-      update_size = TRUE;
-    else
-      GST_WARNING_OBJECT (vp, "invalid offsets set, use default ones");
-  }
-
-  if (update_size) {
-    framesize = 0;
-
-    for (i = 0; i < GST_VIDEO_INFO_N_PLANES (info); i++) {
-      gint planesize = info->offset[i];
-      planesize += gst_video_parse_get_plane_size (info, i);
-
-      if (planesize > framesize)
-        framesize = planesize;
-    }
-
-    info->size = framesize;
-  }
-
-  if (vp->framesize) {
-    /* user requires a specific framesize, just make sure it's bigger than
-     * the current one */
-
-    if (vp->framesize > vp->info.size)
-      vp->info.size = vp->framesize;
-    else
-      GST_WARNING_OBJECT (vp, "invalid framesize set: got %u, min: %"
-          G_GSIZE_FORMAT, vp->framesize, vp->info.size);
-  }
-
-  GST_DEBUG_OBJECT (vp, "video info: %ux%u, format %s, size %" G_GSIZE_FORMAT
-      ", stride {%d,%d,%d,%d}, offset {%" G_GSIZE_FORMAT ",%" G_GSIZE_FORMAT
-      ",%" G_GSIZE_FORMAT ",%" G_GSIZE_FORMAT "}",
-      GST_VIDEO_INFO_WIDTH (info), GST_VIDEO_INFO_HEIGHT (info),
-      GST_VIDEO_INFO_NAME (info), GST_VIDEO_INFO_SIZE (info),
-      info->stride[0], info->stride[1], info->stride[2], info->stride[3],
-      info->offset[0], info->offset[1], info->offset[2], info->offset[3]);
-
-  /* update base class framesize */
-  framesize = GST_VIDEO_INFO_SIZE (info);
-  gst_raw_parse_set_framesize (GST_RAW_PARSE (vp), framesize);
-}
-
-static GstCaps *
-gst_video_parse_get_caps (GstRawParse * rp)
-{
-  GstVideoParse *vp = GST_VIDEO_PARSE (rp);
-
-  return gst_video_info_to_caps (&vp->info);
-}
-
-static gboolean
-gst_video_parse_copy_frame (GstVideoParse * vp, GstBuffer * dest,
-    GstVideoInfo * dest_info, GstBuffer * src, GstVideoInfo * src_info)
-{
-  GstVideoFrame src_frame;
-  GstVideoFrame dest_frame;
-  gboolean ret;
-
-  if (!gst_video_frame_map (&src_frame, src_info, src, GST_MAP_READ)) {
-    GST_ERROR_OBJECT (vp, "failed to map src frame");
-    return FALSE;
-  }
-
-  if (!gst_video_frame_map (&dest_frame, dest_info, dest, GST_MAP_WRITE)) {
-    GST_ERROR_OBJECT (vp, "failed to map dest frame");
-    gst_video_frame_unmap (&src_frame);
-    return FALSE;
-  }
-
-  ret = gst_video_frame_copy (&dest_frame, &src_frame);
-
-  gst_video_frame_unmap (&src_frame);
-  gst_video_frame_unmap (&dest_frame);
-
-  return ret;
-}
-
-static void
-gst_video_parse_pre_push_buffer (GstRawParse * rp, GstBuffer * buffer)
-{
-  GstVideoParse *vp = GST_VIDEO_PARSE (rp);
-
-  if (vp->do_copy) {
-    GstVideoInfo info;
-    GstBuffer *outbuf;
-
-    gst_video_info_init (&info);
-    gst_video_info_set_format (&info, vp->format, vp->width, vp->height);
-
-    GST_DEBUG_OBJECT (vp, "copying frame to remove padding");
-
-    outbuf = gst_buffer_new_allocate (NULL, GST_VIDEO_INFO_SIZE (&info), NULL);
-
-    if (!gst_video_parse_copy_frame (vp, outbuf, &info, buffer, &vp->info))
-      GST_WARNING_OBJECT (vp, "failed to copy frame");
-
-    gst_buffer_replace_all_memory (buffer, gst_buffer_get_all_memory (outbuf));
-    gst_buffer_unref (outbuf);
-  } else {
-    GstVideoInfo *info = &vp->info;
-    GstVideoFrameFlags flags = GST_VIDEO_FRAME_FLAG_NONE;
-
-    if (vp->interlaced && vp->top_field_first)
-      flags = GST_VIDEO_FRAME_FLAG_TFF;
-
-    gst_buffer_add_video_meta_full (buffer, flags, GST_VIDEO_INFO_FORMAT (info),
-        GST_VIDEO_INFO_WIDTH (info), GST_VIDEO_INFO_HEIGHT (info),
-        GST_VIDEO_INFO_N_PLANES (info), info->offset, info->stride);
-  }
-
-  if (vp->interlaced) {
-    if (vp->top_field_first) {
-      GST_BUFFER_FLAG_SET (buffer, GST_VIDEO_BUFFER_FLAG_TFF);
-    } else {
-      GST_BUFFER_FLAG_UNSET (buffer, GST_VIDEO_BUFFER_FLAG_TFF);
-    }
-  }
-}
-
-static void
-gst_video_parse_decide_allocation (GstRawParse * rp, GstQuery * query)
-{
-  GstVideoParse *vp = GST_VIDEO_PARSE (rp);
-  gboolean has_videometa;
-
-  has_videometa = gst_query_find_allocation_meta (query,
-      GST_VIDEO_META_API_TYPE, NULL);
-
-  /* no need to copy if downstream supports videometa or if we don't need
-   * them */
-  if (has_videometa || !vp->need_videometa)
-    return;
-
-  vp->do_copy = TRUE;
+  return str;
 }
diff --git a/gst/rawparse/gstvideoparse.h b/gst/rawparse/gstvideoparse.h
index dd540c5..c5d8d64 100644
--- a/gst/rawparse/gstvideoparse.h
+++ b/gst/rawparse/gstvideoparse.h
@@ -24,11 +24,6 @@
 #define __GST_VIDEO_PARSE_H__
 
 #include <gst/gst.h>
-#include <gst/base/gstbasetransform.h>
-#include <gst/base/gstadapter.h>
-#include <gst/video/video.h>
-
-#include "gstrawparse.h"
 
 #define GST_TYPE_VIDEO_PARSE \
   (gst_video_parse_get_type())
@@ -46,29 +41,13 @@
 
 struct _GstVideoParse
 {
-  GstRawParse parent;
-
-  GstVideoInfo info;
-  gboolean do_copy;
-  gboolean need_videometa;
-  gboolean stride_set;
-  gboolean offset_set;
-
-  /* properties */
-  GstVideoFormat format;
-  gint width;
-  gint height;
-  gint par_n, par_d;
-  gboolean interlaced;
-  gboolean top_field_first;
-  gint stride[GST_VIDEO_MAX_PLANES];
-  gint offset[GST_VIDEO_MAX_PLANES];
-  guint framesize;
+  GstBin parent;
+  GstElement *rawvideoparse;
 };
 
 struct _GstVideoParseClass
 {
-  GstRawParseClass parent_class;
+  GstBinClass parent_class;
 };
 
 
diff --git a/gst/rawparse/plugin.c b/gst/rawparse/plugin.c
index bb21f77..72b3e49 100644
--- a/gst/rawparse/plugin.c
+++ b/gst/rawparse/plugin.c
@@ -3,7 +3,10 @@
 #endif
 
 #include <gst/gst.h>
+#include "gstrawaudioparse.h"
+#include "gstrawvideoparse.h"
 #include "gstunalignedaudioparse.h"
+#include "gstunalignedvideoparse.h"
 #include "gstaudioparse.h"
 #include "gstvideoparse.h"
 
@@ -18,6 +21,12 @@
       gst_audio_parse_get_type ());
   ret &= gst_element_register (plugin, "unalignedaudioparse", GST_RANK_MARGINAL,
       gst_unaligned_audio_parse_get_type ());
+  ret &= gst_element_register (plugin, "unalignedvideoparse", GST_RANK_MARGINAL,
+      gst_unaligned_video_parse_get_type ());
+  ret &= gst_element_register (plugin, "rawaudioparse", GST_RANK_NONE,
+      gst_raw_audio_parse_get_type ());
+  ret &= gst_element_register (plugin, "rawvideoparse", GST_RANK_NONE,
+      gst_raw_video_parse_get_type ());
 
   return ret;
 }
diff --git a/sys/applemedia-nonpublic/bufferfactory.h b/gst/rawparse/unalignedvideo.h
similarity index 61%
copy from sys/applemedia-nonpublic/bufferfactory.h
copy to gst/rawparse/unalignedvideo.h
index 132b953..a5c1005 100644
--- a/sys/applemedia-nonpublic/bufferfactory.h
+++ b/gst/rawparse/unalignedvideo.h
@@ -1,5 +1,7 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.com>
+/* GStreamer
+ * Copyright (C) 2016 Carlos Rafael Giani <dv@pseudoterminal.org>
+ *
+ * unalignedvideo.h:
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Library General Public
@@ -17,18 +19,17 @@
  * Boston, MA 02110-1301, USA.
  */
 
-#import <Foundation/Foundation.h>
+#ifndef __GST_UNALIGNED_VIDEO_H__
+#define __GST_UNALIGNED_VIDEO_H__
 
 #include <gst/gst.h>
+#include <gst/video/video.h>
 
-@interface GstAMBufferFactory : NSObject {
-  gpointer coreMediaCtx;
-}
+#define GST_UNALIGNED_RAW_VIDEO_CAPS \
+  "video/x-unaligned-raw" \
+  ", format = (string) " GST_VIDEO_FORMATS_ALL \
+  ", width = " GST_VIDEO_SIZE_RANGE \
+  ", height = " GST_VIDEO_SIZE_RANGE \
+  ", framerate = " GST_VIDEO_FPS_RANGE
 
-- (id)initWithError:(GError **)error;
-- (void)finalize;
-
-- (GstBuffer *)createGstBufferForCoreVideoBuffer:(CFTypeRef)cvbuf;
-- (GstBuffer *)createGstBufferForSampleBuffer:(CFTypeRef)sbuf;
-
-@end
+#endif /* __GST_UNALIGNED_VIDEO_H__ */
diff --git a/gst/removesilence/Makefile.in b/gst/removesilence/Makefile.in
index f6b317a..92298ca 100644
--- a/gst/removesilence/Makefile.in
+++ b/gst/removesilence/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/sdi/Makefile.in b/gst/sdi/Makefile.in
index 345397c..66bdbbc 100644
--- a/gst/sdi/Makefile.in
+++ b/gst/sdi/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/sdp/Makefile.in b/gst/sdp/Makefile.in
index f8c434d..97bf80e 100644
--- a/gst/sdp/Makefile.in
+++ b/gst/sdp/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/segmentclip/Makefile.in b/gst/segmentclip/Makefile.in
index fd77fe3..f17433e 100644
--- a/gst/segmentclip/Makefile.in
+++ b/gst/segmentclip/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/siren/Makefile.in b/gst/siren/Makefile.in
index 402e9ad..bc50677 100644
--- a/gst/siren/Makefile.in
+++ b/gst/siren/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/siren/gstsirendec.c b/gst/siren/gstsirendec.c
index 93aadf0..78338ae 100644
--- a/gst/siren/gstsirendec.c
+++ b/gst/siren/gstsirendec.c
@@ -57,7 +57,7 @@
 static gboolean gst_siren_dec_stop (GstAudioDecoder * dec);
 static gboolean gst_siren_dec_set_format (GstAudioDecoder * dec,
     GstCaps * caps);
-static gboolean gst_siren_dec_parse (GstAudioDecoder * dec,
+static GstFlowReturn gst_siren_dec_parse (GstAudioDecoder * dec,
     GstAdapter * adapter, gint * offset, gint * length);
 static GstFlowReturn gst_siren_dec_handle_frame (GstAudioDecoder * dec,
     GstBuffer * buffer);
diff --git a/gst/smooth/Makefile.in b/gst/smooth/Makefile.in
index eb7c5d6..58e488f 100644
--- a/gst/smooth/Makefile.in
+++ b/gst/smooth/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/speed/Makefile.in b/gst/speed/Makefile.in
index b4a4028..adfb143 100644
--- a/gst/speed/Makefile.in
+++ b/gst/speed/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/stereo/Makefile.in b/gst/stereo/Makefile.in
index 5e47739..1f0f33b 100644
--- a/gst/stereo/Makefile.in
+++ b/gst/stereo/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/subenc/Makefile.in b/gst/subenc/Makefile.in
index 128de90..9ecf901 100644
--- a/gst/subenc/Makefile.in
+++ b/gst/subenc/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/timecode/Makefile.am b/gst/timecode/Makefile.am
new file mode 100644
index 0000000..e819b26
--- /dev/null
+++ b/gst/timecode/Makefile.am
@@ -0,0 +1,10 @@
+plugin_LTLIBRARIES = libgsttimecode.la
+
+libgsttimecode_la_SOURCES = plugin.c gsttimecodestamper.c gsttimecodewait.c
+
+libgsttimecode_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
+libgsttimecode_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) -lgstaudio-$(GST_API_VERSION) $(GST_BASE_LIBS) $(GST_LIBS) $(LIBM)
+libgsttimecode_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgsttimecode_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+
+noinst_HEADERS = gsttimecodestamper.h gsttimecodewait.h
diff --git a/sys/applemedia-nonpublic/Makefile.in b/gst/timecode/Makefile.in
similarity index 65%
rename from sys/applemedia-nonpublic/Makefile.in
rename to gst/timecode/Makefile.in
index e6c6a72..67ac87d 100644
--- a/sys/applemedia-nonpublic/Makefile.in
+++ b/gst/timecode/Makefile.in
@@ -90,16 +90,7 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-@HAVE_IOS_TRUE@am__append_1 = -fobjc-abi-version=2 -fobjc-legacy-dispatch
-
-#libgstapplemedia_nonpublic_la_SOURCES +=			\
-#	celvideosrc.c				\
-#	mtapi.c					\
-#	celapi.c
-@HAVE_IOS_FALSE@am__append_2 = \
-@HAVE_IOS_FALSE@	mioapi.c
-
-subdir = sys/applemedia-nonpublic
+subdir = gst/timecode
 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 \
@@ -172,33 +163,21 @@
 am__installdirs = "$(DESTDIR)$(plugindir)"
 LTLIBRARIES = $(plugin_LTLIBRARIES)
 am__DEPENDENCIES_1 =
-libgstapplemedia_nonpublic_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
-am__libgstapplemedia_nonpublic_la_SOURCES_DIST = plugin.m \
-	bufferfactory.m corevideobuffer.c coremediabuffer.c cvapi.c \
-	cmapi.c coremediactx.c dynapi.c mioapi.c
-@HAVE_IOS_FALSE@am__objects_1 =  \
-@HAVE_IOS_FALSE@	libgstapplemedia_nonpublic_la-mioapi.lo
-am_libgstapplemedia_nonpublic_la_OBJECTS =  \
-	libgstapplemedia_nonpublic_la-plugin.lo \
-	libgstapplemedia_nonpublic_la-bufferfactory.lo \
-	libgstapplemedia_nonpublic_la-corevideobuffer.lo \
-	libgstapplemedia_nonpublic_la-coremediabuffer.lo \
-	libgstapplemedia_nonpublic_la-cvapi.lo \
-	libgstapplemedia_nonpublic_la-cmapi.lo \
-	libgstapplemedia_nonpublic_la-coremediactx.lo \
-	libgstapplemedia_nonpublic_la-dynapi.lo $(am__objects_1)
-libgstapplemedia_nonpublic_la_OBJECTS =  \
-	$(am_libgstapplemedia_nonpublic_la_OBJECTS)
+libgsttimecode_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1)
+am_libgsttimecode_la_OBJECTS = libgsttimecode_la-plugin.lo \
+	libgsttimecode_la-gsttimecodestamper.lo \
+	libgsttimecode_la-gsttimecodewait.lo
+libgsttimecode_la_OBJECTS = $(am_libgsttimecode_la_OBJECTS)
 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 = 
-libgstapplemedia_nonpublic_la_LINK = $(LIBTOOL) $(AM_V_lt) \
-	$(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(OBJCLD) \
-	$(libgstapplemedia_nonpublic_la_OBJCFLAGS) $(OBJCFLAGS) \
-	$(libgstapplemedia_nonpublic_la_LDFLAGS) $(LDFLAGS) -o $@
+libgsttimecode_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(libgsttimecode_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
+	$(CCLD) $(libgsttimecode_la_CFLAGS) $(CFLAGS) \
+	$(libgsttimecode_la_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -233,26 +212,8 @@
 am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
 am__v_CCLD_0 = @echo "  CCLD    " $@;
 am__v_CCLD_1 = 
-OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
-	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
-LTOBJCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
-	$(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) \
-	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
-	$(AM_OBJCFLAGS) $(OBJCFLAGS)
-AM_V_OBJC = $(am__v_OBJC_@AM_V@)
-am__v_OBJC_ = $(am__v_OBJC_@AM_DEFAULT_V@)
-am__v_OBJC_0 = @echo "  OBJC    " $@;
-am__v_OBJC_1 = 
-OBJCLD = $(OBJC)
-OBJCLINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
-	--mode=link $(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) \
-	$(AM_LDFLAGS) $(LDFLAGS) -o $@
-AM_V_OBJCLD = $(am__v_OBJCLD_@AM_V@)
-am__v_OBJCLD_ = $(am__v_OBJCLD_@AM_DEFAULT_V@)
-am__v_OBJCLD_0 = @echo "  OBJCLD  " $@;
-am__v_OBJCLD_1 = 
-SOURCES = $(libgstapplemedia_nonpublic_la_SOURCES)
-DIST_SOURCES = $(am__libgstapplemedia_nonpublic_la_SOURCES_DIST)
+SOURCES = $(libgsttimecode_la_SOURCES)
+DIST_SOURCES = $(libgsttimecode_la_SOURCES)
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -367,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -416,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -823,64 +788,17 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 wayland_scanner = @wayland_scanner@
-plugin_LTLIBRARIES = libgstapplemedia_nonpublic.la
-libgstapplemedia_nonpublic_la_SOURCES = plugin.m bufferfactory.m \
-	corevideobuffer.c coremediabuffer.c cvapi.c cmapi.c \
-	coremediactx.c dynapi.c $(am__append_2)
-libgstapplemedia_nonpublic_la_CPPFLAGS = \
-	-Dgst_dyn_api_get_type=gst_dyn_api_priv_get_type			\
-	-Dgst_dyn_api_debug=gst_dyn_api_priv_debug				\
-	-Dgst_dyn_api_new=gst_dyn_api_priv_new					\
-	-Dgst_core_media_buffer_new=gst_core_media_buffer_priv_new		\
-	-Dgst_core_media_buffer_get_type=gst_core_media_buffer_priv_get_type	\
-	-Dgst_core_media_buffer_get_pixel_buffer=gst_core_media_buffer_priv_get_pixel_buffer\
-	-Dgst_core_video_buffer_new=gst_core_video_buffer_priv_new		\
-	-Dgst_core_video_buffer_get_type=gst_core_video_buffer_priv_get_type	\
-	-Dgst_core_media_ctx_new=gst_core_media_ctx_priv_new			\
-	-Dgst_core_media_ctx_get_type=gst_core_media_ctx_priv_get_type
-
-libgstapplemedia_nonpublic_la_CFLAGS = \
-	$(GST_CFLAGS)								\
-	$(GST_BASE_CFLAGS)							\
-	$(GST_PLUGINS_BASE_CFLAGS)
-
-libgstapplemedia_nonpublic_la_OBJCFLAGS = $(GST_OBJCFLAGS) \
-	$(GST_BASE_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(am__append_1)
-libgstapplemedia_nonpublic_la_LIBADD = \
-	$(GST_BASE_LIBS)			\
-	$(GST_PLUGINS_BASE_LIBS)		\
-	-lgstvideo-$(GST_API_VERSION)		\
-	$(GMODULE_NO_EXPORT_LIBS)
-
-libgstapplemedia_nonpublic_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) --tag=CC
-libgstapplemedia_nonpublic_la_LDFLAGS = \
-	$(GST_PLUGIN_LDFLAGS)			\
-	$(GST_BASE_LDFLAGS)			\
-	$(GST_PLUGINS_BASE_LDFLAGS)		\
-	-Wl,-framework -Wl,Foundation		\
-	-Wl,-framework -Wl,CoreFoundation	\
-	-Wl,-framework -Wl,CoreVideo
-
-noinst_HEADERS = \
-	miovideosrc.h				\
-	miovideodevice.h			\
-	celvideosrc.h				\
-	bufferfactory.h				\
-	corevideobuffer.h			\
-	coremediabuffer.h			\
-	coremediactx.h				\
-	mioapi.h				\
-	mtapi.h					\
-	celapi.h				\
-	cvapi.h					\
-	cmapi.h					\
-	dynapi.h				\
-	dynapi-internal.h
-
+plugin_LTLIBRARIES = libgsttimecode.la
+libgsttimecode_la_SOURCES = plugin.c gsttimecodestamper.c gsttimecodewait.c
+libgsttimecode_la_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS)
+libgsttimecode_la_LIBADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) -lgstaudio-$(GST_API_VERSION) $(GST_BASE_LIBS) $(GST_LIBS) $(LIBM)
+libgsttimecode_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
+libgsttimecode_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS)
+noinst_HEADERS = gsttimecodestamper.h gsttimecodewait.h
 all: all-am
 
 .SUFFIXES:
-.SUFFIXES: .c .lo .m .o .obj
+.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 \
@@ -890,9 +808,9 @@
 	      exit 1;; \
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu sys/applemedia-nonpublic/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gst/timecode/Makefile'; \
 	$(am__cd) $(top_srcdir) && \
-	  $(AUTOMAKE) --gnu sys/applemedia-nonpublic/Makefile
+	  $(AUTOMAKE) --gnu gst/timecode/Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
 	@case '$?' in \
 	  *config.status*) \
@@ -946,8 +864,8 @@
 	  rm -f $${locs}; \
 	}
 
-libgstapplemedia_nonpublic.la: $(libgstapplemedia_nonpublic_la_OBJECTS) $(libgstapplemedia_nonpublic_la_DEPENDENCIES) $(EXTRA_libgstapplemedia_nonpublic_la_DEPENDENCIES) 
-	$(AM_V_OBJCLD)$(libgstapplemedia_nonpublic_la_LINK) -rpath $(plugindir) $(libgstapplemedia_nonpublic_la_OBJECTS) $(libgstapplemedia_nonpublic_la_LIBADD) $(LIBS)
+libgsttimecode.la: $(libgsttimecode_la_OBJECTS) $(libgsttimecode_la_DEPENDENCIES) $(EXTRA_libgsttimecode_la_DEPENDENCIES) 
+	$(AM_V_CCLD)$(libgsttimecode_la_LINK) -rpath $(plugindir) $(libgsttimecode_la_OBJECTS) $(libgsttimecode_la_LIBADD) $(LIBS)
 
 mostlyclean-compile:
 	-rm -f *.$(OBJEXT)
@@ -955,15 +873,9 @@
 distclean-compile:
 	-rm -f *.tab.c
 
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-bufferfactory.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-cmapi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-coremediabuffer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-coremediactx.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-corevideobuffer.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-cvapi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-dynapi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-mioapi.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_nonpublic_la-plugin.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsttimecode_la-gsttimecodestamper.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsttimecode_la-gsttimecodewait.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgsttimecode_la-plugin.Plo@am__quote@
 
 .c.o:
 @am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@@ -989,92 +901,26 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<
 
-libgstapplemedia_nonpublic_la-corevideobuffer.lo: corevideobuffer.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-corevideobuffer.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-corevideobuffer.Tpo -c -o libgstapplemedia_nonpublic_la-corevideobuffer.lo `test -f 'corevideobuffer.c' || echo '$(srcdir)/'`corevideobuffer.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-corevideobuffer.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-corevideobuffer.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='corevideobuffer.c' object='libgstapplemedia_nonpublic_la-corevideobuffer.lo' libtool=yes @AMDEPBACKSLASH@
+libgsttimecode_la-plugin.lo: plugin.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsttimecode_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsttimecode_la_CFLAGS) $(CFLAGS) -MT libgsttimecode_la-plugin.lo -MD -MP -MF $(DEPDIR)/libgsttimecode_la-plugin.Tpo -c -o libgsttimecode_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgsttimecode_la-plugin.Tpo $(DEPDIR)/libgsttimecode_la-plugin.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='plugin.c' object='libgsttimecode_la-plugin.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-corevideobuffer.lo `test -f 'corevideobuffer.c' || echo '$(srcdir)/'`corevideobuffer.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsttimecode_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsttimecode_la_CFLAGS) $(CFLAGS) -c -o libgsttimecode_la-plugin.lo `test -f 'plugin.c' || echo '$(srcdir)/'`plugin.c
 
-libgstapplemedia_nonpublic_la-coremediabuffer.lo: coremediabuffer.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-coremediabuffer.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediabuffer.Tpo -c -o libgstapplemedia_nonpublic_la-coremediabuffer.lo `test -f 'coremediabuffer.c' || echo '$(srcdir)/'`coremediabuffer.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediabuffer.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediabuffer.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='coremediabuffer.c' object='libgstapplemedia_nonpublic_la-coremediabuffer.lo' libtool=yes @AMDEPBACKSLASH@
+libgsttimecode_la-gsttimecodestamper.lo: gsttimecodestamper.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsttimecode_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsttimecode_la_CFLAGS) $(CFLAGS) -MT libgsttimecode_la-gsttimecodestamper.lo -MD -MP -MF $(DEPDIR)/libgsttimecode_la-gsttimecodestamper.Tpo -c -o libgsttimecode_la-gsttimecodestamper.lo `test -f 'gsttimecodestamper.c' || echo '$(srcdir)/'`gsttimecodestamper.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgsttimecode_la-gsttimecodestamper.Tpo $(DEPDIR)/libgsttimecode_la-gsttimecodestamper.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gsttimecodestamper.c' object='libgsttimecode_la-gsttimecodestamper.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-coremediabuffer.lo `test -f 'coremediabuffer.c' || echo '$(srcdir)/'`coremediabuffer.c
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsttimecode_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsttimecode_la_CFLAGS) $(CFLAGS) -c -o libgsttimecode_la-gsttimecodestamper.lo `test -f 'gsttimecodestamper.c' || echo '$(srcdir)/'`gsttimecodestamper.c
 
-libgstapplemedia_nonpublic_la-cvapi.lo: cvapi.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-cvapi.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-cvapi.Tpo -c -o libgstapplemedia_nonpublic_la-cvapi.lo `test -f 'cvapi.c' || echo '$(srcdir)/'`cvapi.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-cvapi.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-cvapi.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='cvapi.c' object='libgstapplemedia_nonpublic_la-cvapi.lo' libtool=yes @AMDEPBACKSLASH@
+libgsttimecode_la-gsttimecodewait.lo: gsttimecodewait.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsttimecode_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsttimecode_la_CFLAGS) $(CFLAGS) -MT libgsttimecode_la-gsttimecodewait.lo -MD -MP -MF $(DEPDIR)/libgsttimecode_la-gsttimecodewait.Tpo -c -o libgsttimecode_la-gsttimecodewait.lo `test -f 'gsttimecodewait.c' || echo '$(srcdir)/'`gsttimecodewait.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgsttimecode_la-gsttimecodewait.Tpo $(DEPDIR)/libgsttimecode_la-gsttimecodewait.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gsttimecodewait.c' object='libgsttimecode_la-gsttimecodewait.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-cvapi.lo `test -f 'cvapi.c' || echo '$(srcdir)/'`cvapi.c
-
-libgstapplemedia_nonpublic_la-cmapi.lo: cmapi.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-cmapi.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-cmapi.Tpo -c -o libgstapplemedia_nonpublic_la-cmapi.lo `test -f 'cmapi.c' || echo '$(srcdir)/'`cmapi.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-cmapi.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-cmapi.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='cmapi.c' object='libgstapplemedia_nonpublic_la-cmapi.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-cmapi.lo `test -f 'cmapi.c' || echo '$(srcdir)/'`cmapi.c
-
-libgstapplemedia_nonpublic_la-coremediactx.lo: coremediactx.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-coremediactx.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediactx.Tpo -c -o libgstapplemedia_nonpublic_la-coremediactx.lo `test -f 'coremediactx.c' || echo '$(srcdir)/'`coremediactx.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediactx.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-coremediactx.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='coremediactx.c' object='libgstapplemedia_nonpublic_la-coremediactx.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-coremediactx.lo `test -f 'coremediactx.c' || echo '$(srcdir)/'`coremediactx.c
-
-libgstapplemedia_nonpublic_la-dynapi.lo: dynapi.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-dynapi.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-dynapi.Tpo -c -o libgstapplemedia_nonpublic_la-dynapi.lo `test -f 'dynapi.c' || echo '$(srcdir)/'`dynapi.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-dynapi.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-dynapi.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='dynapi.c' object='libgstapplemedia_nonpublic_la-dynapi.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-dynapi.lo `test -f 'dynapi.c' || echo '$(srcdir)/'`dynapi.c
-
-libgstapplemedia_nonpublic_la-mioapi.lo: mioapi.c
-@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_nonpublic_la-mioapi.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-mioapi.Tpo -c -o libgstapplemedia_nonpublic_la-mioapi.lo `test -f 'mioapi.c' || echo '$(srcdir)/'`mioapi.c
-@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-mioapi.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-mioapi.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='mioapi.c' object='libgstapplemedia_nonpublic_la-mioapi.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 $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_nonpublic_la-mioapi.lo `test -f 'mioapi.c' || echo '$(srcdir)/'`mioapi.c
-
-.m.o:
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
-@am__fastdepOBJC_TRUE@	$(OBJCCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepOBJC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(OBJCCOMPILE) -c -o $@ $<
-
-.m.obj:
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
-@am__fastdepOBJC_TRUE@	$(OBJCCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
-@am__fastdepOBJC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
-
-.m.lo:
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
-@am__fastdepOBJC_TRUE@	$(LTOBJCCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
-@am__fastdepOBJC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LTOBJCCOMPILE) -c -o $@ $<
-
-libgstapplemedia_nonpublic_la-plugin.lo: plugin.m
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)$(LIBTOOL) $(AM_V_lt) $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_OBJCFLAGS) $(OBJCFLAGS) -MT libgstapplemedia_nonpublic_la-plugin.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-plugin.Tpo -c -o libgstapplemedia_nonpublic_la-plugin.lo `test -f 'plugin.m' || echo '$(srcdir)/'`plugin.m
-@am__fastdepOBJC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-plugin.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-plugin.Plo
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='plugin.m' object='libgstapplemedia_nonpublic_la-plugin.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_OBJCFLAGS) $(OBJCFLAGS) -c -o libgstapplemedia_nonpublic_la-plugin.lo `test -f 'plugin.m' || echo '$(srcdir)/'`plugin.m
-
-libgstapplemedia_nonpublic_la-bufferfactory.lo: bufferfactory.m
-@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)$(LIBTOOL) $(AM_V_lt) $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_OBJCFLAGS) $(OBJCFLAGS) -MT libgstapplemedia_nonpublic_la-bufferfactory.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_nonpublic_la-bufferfactory.Tpo -c -o libgstapplemedia_nonpublic_la-bufferfactory.lo `test -f 'bufferfactory.m' || echo '$(srcdir)/'`bufferfactory.m
-@am__fastdepOBJC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_nonpublic_la-bufferfactory.Tpo $(DEPDIR)/libgstapplemedia_nonpublic_la-bufferfactory.Plo
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='bufferfactory.m' object='libgstapplemedia_nonpublic_la-bufferfactory.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libgstapplemedia_nonpublic_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_nonpublic_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_nonpublic_la_OBJCFLAGS) $(OBJCFLAGS) -c -o libgstapplemedia_nonpublic_la-bufferfactory.lo `test -f 'bufferfactory.m' || echo '$(srcdir)/'`bufferfactory.m
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgsttimecode_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgsttimecode_la_CFLAGS) $(CFLAGS) -c -o libgsttimecode_la-gsttimecodewait.lo `test -f 'gsttimecodewait.c' || echo '$(srcdir)/'`gsttimecodewait.c
 
 mostlyclean-libtool:
 	-rm -f *.lo
diff --git a/gst/timecode/gsttimecodestamper.c b/gst/timecode/gsttimecodestamper.c
new file mode 100644
index 0000000..d930289
--- /dev/null
+++ b/gst/timecode/gsttimecodestamper.c
@@ -0,0 +1,419 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Vivia Nikolaidou <vivia@toolsonair.com>
+ *
+ * gsttimecodestamper.c
+ *
+ * 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-timecodestamper
+ * @short_description: Attach a timecode into incoming video frames
+ *
+ * This element attaches a timecode into every incoming video frame. It starts
+ * counting from the stream time of each segment start, which it converts into
+ * a timecode.
+ *
+ * <refsect2>
+ * <title>Example launch line</title>
+ * |[
+ * gst-launch-1.0 videotestsrc ! timecodestamper ! autovideosink
+ * ]|
+ * </refsect2>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gsttimecodestamper.h"
+
+#include <gst/gst.h>
+#include <gst/video/video.h>
+#include <stdlib.h>
+#include <string.h>
+
+GST_DEBUG_CATEGORY_STATIC (timecodestamper_debug);
+#define GST_CAT_DEFAULT timecodestamper_debug
+
+/* GstTimeCodeStamper properties */
+enum
+{
+  PROP_0,
+  PROP_OVERRIDE_EXISTING,
+  PROP_DROP_FRAME,
+  PROP_SOURCE_CLOCK,
+  PROP_DAILY_JAM
+};
+
+#define DEFAULT_OVERRIDE_EXISTING FALSE
+#define DEFAULT_DROP_FRAME FALSE
+#define DEFAULT_SOURCE_CLOCK NULL
+#define DEFAULT_DAILY_JAM NULL
+
+static GstStaticPadTemplate gst_timecodestamper_src_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-raw")
+    );
+
+static GstStaticPadTemplate gst_timecodestamper_sink_template =
+GST_STATIC_PAD_TEMPLATE ("sink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-raw")
+    );
+
+static void gst_timecodestamper_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_timecodestamper_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_timecodestamper_dispose (GObject * object);
+static gboolean gst_timecodestamper_sink_event (GstBaseTransform * trans,
+    GstEvent * event);
+static GstFlowReturn gst_timecodestamper_transform_ip (GstBaseTransform *
+    vfilter, GstBuffer * buffer);
+static gboolean gst_timecodestamper_stop (GstBaseTransform * trans);
+
+G_DEFINE_TYPE (GstTimeCodeStamper, gst_timecodestamper,
+    GST_TYPE_BASE_TRANSFORM);
+
+static void
+gst_timecodestamper_class_init (GstTimeCodeStamperClass * klass)
+{
+  GObjectClass *gobject_class = (GObjectClass *) klass;
+  GstElementClass *element_class = (GstElementClass *) klass;
+  GstBaseTransformClass *trans_class = (GstBaseTransformClass *) klass;
+
+  GST_DEBUG_CATEGORY_INIT (timecodestamper_debug, "timecodestamper", 0,
+      "timecodestamper");
+  gst_element_class_set_static_metadata (element_class, "Timecode stamper",
+      "Filter/Video", "Attaches a timecode meta into each video frame",
+      "Vivia Nikolaidou <vivia@toolsonair.com");
+
+  gobject_class->set_property = gst_timecodestamper_set_property;
+  gobject_class->get_property = gst_timecodestamper_get_property;
+  gobject_class->dispose = gst_timecodestamper_dispose;
+
+  g_object_class_install_property (gobject_class, PROP_OVERRIDE_EXISTING,
+      g_param_spec_boolean ("override-existing", "Override existing timecode",
+          "If set to true, any existing timecode will be overridden",
+          DEFAULT_OVERRIDE_EXISTING,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_DROP_FRAME,
+      g_param_spec_boolean ("drop-frame", "Override existing timecode",
+          "Use drop-frame timecodes for 29.97 and 59.94 FPS",
+          DEFAULT_DROP_FRAME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_SOURCE_CLOCK,
+      g_param_spec_object ("source-clock",
+          "Source clock to use for first timecode",
+          "If unset, the timecode will refer to the stream time",
+          GST_TYPE_CLOCK, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+  g_object_class_install_property (gobject_class, PROP_DAILY_JAM,
+      g_param_spec_boxed ("daily-jam",
+          "Daily jam",
+          "The daily jam of the timecode",
+          G_TYPE_DATE_TIME, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&gst_timecodestamper_sink_template));
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&gst_timecodestamper_src_template));
+
+  trans_class->sink_event = GST_DEBUG_FUNCPTR (gst_timecodestamper_sink_event);
+  trans_class->stop = GST_DEBUG_FUNCPTR (gst_timecodestamper_stop);
+
+  trans_class->transform_ip =
+      GST_DEBUG_FUNCPTR (gst_timecodestamper_transform_ip);
+}
+
+static void
+gst_timecodestamper_init (GstTimeCodeStamper * timecodestamper)
+{
+  timecodestamper->override_existing = DEFAULT_OVERRIDE_EXISTING;
+  timecodestamper->drop_frame = DEFAULT_DROP_FRAME;
+  timecodestamper->source_clock = DEFAULT_SOURCE_CLOCK;
+  timecodestamper->current_tc = gst_video_time_code_new_empty ();
+  timecodestamper->current_tc->config.latest_daily_jam = DEFAULT_DAILY_JAM;
+}
+
+static void
+gst_timecodestamper_dispose (GObject * object)
+{
+  GstTimeCodeStamper *timecodestamper = GST_TIME_CODE_STAMPER (object);
+
+  if (timecodestamper->current_tc != NULL) {
+    gst_video_time_code_free (timecodestamper->current_tc);
+    timecodestamper->current_tc = NULL;
+  }
+
+  if (timecodestamper->source_clock) {
+    gst_object_unref (timecodestamper->source_clock);
+    timecodestamper->source_clock = NULL;
+  }
+
+  G_OBJECT_CLASS (gst_timecodestamper_parent_class)->dispose (object);
+}
+
+static void
+gst_timecodestamper_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstTimeCodeStamper *timecodestamper = GST_TIME_CODE_STAMPER (object);
+
+  switch (prop_id) {
+    case PROP_OVERRIDE_EXISTING:
+      timecodestamper->override_existing = g_value_get_boolean (value);
+      break;
+    case PROP_DROP_FRAME:
+      timecodestamper->drop_frame = g_value_get_boolean (value);
+      break;
+    case PROP_SOURCE_CLOCK:
+      if (timecodestamper->source_clock)
+        gst_object_unref (timecodestamper->source_clock);
+      timecodestamper->source_clock = g_value_dup_object (value);
+      break;
+    case PROP_DAILY_JAM:
+      if (timecodestamper->current_tc->config.latest_daily_jam)
+        g_date_time_unref (timecodestamper->current_tc->
+            config.latest_daily_jam);
+      timecodestamper->current_tc->config.latest_daily_jam =
+          g_value_dup_boxed (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_timecodestamper_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstTimeCodeStamper *timecodestamper = GST_TIME_CODE_STAMPER (object);
+
+  switch (prop_id) {
+    case PROP_OVERRIDE_EXISTING:
+      g_value_set_boolean (value, timecodestamper->override_existing);
+      break;
+    case PROP_DROP_FRAME:
+      g_value_set_boolean (value, timecodestamper->drop_frame);
+      break;
+    case PROP_SOURCE_CLOCK:
+      g_value_set_object (value, timecodestamper->source_clock);
+      break;
+    case PROP_DAILY_JAM:
+      g_value_set_boxed (value,
+          timecodestamper->current_tc->config.latest_daily_jam);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_timecodestamper_set_drop_frame (GstTimeCodeStamper * timecodestamper)
+{
+  if (timecodestamper->drop_frame && timecodestamper->vinfo.fps_d == 1001 &&
+      (timecodestamper->vinfo.fps_n == 30000 ||
+          timecodestamper->vinfo.fps_d == 60000))
+    timecodestamper->current_tc->config.flags |=
+        GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME;
+  else
+    timecodestamper->current_tc->config.flags &=
+        ~GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME;
+}
+
+static gboolean
+gst_timecodestamper_stop (GstBaseTransform * trans)
+{
+  GstTimeCodeStamper *timecodestamper = GST_TIME_CODE_STAMPER (trans);
+
+  gst_video_info_init (&timecodestamper->vinfo);
+
+  return TRUE;
+}
+
+/* Must be called with object lock */
+static void
+gst_timecodestamper_reset_timecode (GstTimeCodeStamper * timecodestamper)
+{
+  GDateTime *jam = NULL;
+
+  if (timecodestamper->current_tc->config.latest_daily_jam)
+    jam =
+        g_date_time_ref (timecodestamper->current_tc->config.latest_daily_jam);
+  gst_video_time_code_clear (timecodestamper->current_tc);
+  /* FIXME: What if the buffer doesn't contain both top and bottom fields? */
+  gst_video_time_code_init (timecodestamper->current_tc,
+      timecodestamper->vinfo.fps_n,
+      timecodestamper->vinfo.fps_d,
+      jam,
+      timecodestamper->vinfo.interlace_mode ==
+      GST_VIDEO_INTERLACE_MODE_PROGRESSIVE ? 0 :
+      GST_VIDEO_TIME_CODE_FLAGS_INTERLACED, 0, 0, 0, 0, 0);
+  gst_timecodestamper_set_drop_frame (timecodestamper);
+}
+
+static gboolean
+gst_timecodestamper_sink_event (GstBaseTransform * trans, GstEvent * event)
+{
+  gboolean ret = FALSE;
+  GstTimeCodeStamper *timecodestamper = GST_TIME_CODE_STAMPER (trans);
+
+  GST_DEBUG_OBJECT (trans, "received event %" GST_PTR_FORMAT, event);
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_SEGMENT:
+    {
+      GstSegment segment;
+      guint64 frames;
+      gchar *tc_str;
+
+      GST_OBJECT_LOCK (timecodestamper);
+      if (timecodestamper->source_clock != NULL) {
+        GST_OBJECT_UNLOCK (timecodestamper);
+        break;
+      }
+
+      gst_event_copy_segment (event, &segment);
+      if (segment.format != GST_FORMAT_TIME) {
+        GST_OBJECT_UNLOCK (timecodestamper);
+        GST_ERROR_OBJECT (timecodestamper, "Invalid segment format");
+        return FALSE;
+      }
+      if (GST_VIDEO_INFO_FORMAT (&timecodestamper->vinfo) ==
+          GST_VIDEO_FORMAT_UNKNOWN) {
+        GST_ERROR_OBJECT (timecodestamper,
+            "Received segment event without caps");
+        GST_OBJECT_UNLOCK (timecodestamper);
+        return FALSE;
+      }
+      frames =
+          gst_util_uint64_scale (segment.time, timecodestamper->vinfo.fps_n,
+          timecodestamper->vinfo.fps_d * GST_SECOND);
+      gst_timecodestamper_reset_timecode (timecodestamper);
+      gst_video_time_code_add_frames (timecodestamper->current_tc, frames);
+      GST_DEBUG_OBJECT (timecodestamper,
+          "Got %" G_GUINT64_FORMAT " frames when segment time is %"
+          GST_TIME_FORMAT, frames, GST_TIME_ARGS (segment.time));
+      tc_str = gst_video_time_code_to_string (timecodestamper->current_tc);
+      GST_DEBUG_OBJECT (timecodestamper, "New timecode is %s", tc_str);
+      g_free (tc_str);
+      GST_OBJECT_UNLOCK (timecodestamper);
+      break;
+    }
+    case GST_EVENT_CAPS:
+    {
+      GstCaps *caps;
+
+      GST_OBJECT_LOCK (timecodestamper);
+      gst_event_parse_caps (event, &caps);
+      if (!gst_video_info_from_caps (&timecodestamper->vinfo, caps)) {
+        GST_OBJECT_UNLOCK (timecodestamper);
+        return FALSE;
+      }
+      gst_timecodestamper_reset_timecode (timecodestamper);
+      GST_OBJECT_UNLOCK (timecodestamper);
+      break;
+    }
+    default:
+      break;
+  }
+  ret =
+      GST_BASE_TRANSFORM_CLASS (gst_timecodestamper_parent_class)->sink_event
+      (trans, event);
+  return ret;
+}
+
+static GstFlowReturn
+gst_timecodestamper_transform_ip (GstBaseTransform * vfilter,
+    GstBuffer * buffer)
+{
+  GstTimeCodeStamper *timecodestamper = GST_TIME_CODE_STAMPER (vfilter);
+  GstClockTime ref_time;
+
+  GST_OBJECT_LOCK (timecodestamper);
+  if (gst_buffer_get_video_time_code_meta (buffer)
+      && timecodestamper->override_existing == FALSE) {
+    GST_OBJECT_UNLOCK (timecodestamper);
+    return GST_FLOW_OK;
+  }
+  if (timecodestamper->source_clock != NULL) {
+    if (timecodestamper->current_tc->hours == 0
+        && timecodestamper->current_tc->minutes == 0
+        && timecodestamper->current_tc->seconds == 0
+        && timecodestamper->current_tc->frames == 0) {
+      guint64 hours, minutes, seconds, frames;
+      /* Daily jam time */
+
+      ref_time = gst_clock_get_time (timecodestamper->source_clock);
+      ref_time = ref_time % (24 * 60 * 60 * GST_SECOND);
+      hours = ref_time / (GST_SECOND * 60 * 60);
+      ref_time -= hours * GST_SECOND * 60 * 60;
+      minutes = ref_time / (GST_SECOND * 60);
+      ref_time -= minutes * GST_SECOND * 60;
+      seconds = ref_time / GST_SECOND;
+      ref_time -= seconds * GST_SECOND;
+      /* Converting to frames for the whole ref_time might be inaccurate in case
+       * we have a drop frame timecode */
+      frames = gst_util_uint64_scale (ref_time, timecodestamper->vinfo.fps_n,
+          timecodestamper->vinfo.fps_d * GST_SECOND);
+
+      GST_DEBUG_OBJECT (timecodestamper,
+          "Initializing with %" G_GUINT64_FORMAT ":%" G_GUINT64_FORMAT ":%"
+          G_GUINT64_FORMAT ":%" G_GUINT64_FORMAT "", hours, minutes, seconds,
+          frames);
+      gst_video_time_code_init (timecodestamper->current_tc,
+          timecodestamper->vinfo.fps_n,
+          timecodestamper->vinfo.fps_d,
+          NULL,
+          timecodestamper->vinfo.interlace_mode ==
+          GST_VIDEO_INTERLACE_MODE_PROGRESSIVE ? 0 :
+          GST_VIDEO_TIME_CODE_FLAGS_INTERLACED, hours, minutes, seconds, 0, 0);
+      gst_timecodestamper_set_drop_frame (timecodestamper);
+      /* Do not use frames when initializing because maybe we have drop frame */
+      gst_video_time_code_add_frames (timecodestamper->current_tc, frames);
+    }
+  } else if (timecodestamper->source_clock == NULL) {
+    GstClockTime timecode_time;
+
+    timecode_time =
+        gst_video_time_code_nsec_since_daily_jam (timecodestamper->current_tc);
+    ref_time =
+        gst_segment_to_stream_time (&vfilter->segment, GST_FORMAT_TIME,
+        buffer->pts);
+    if (timecode_time != GST_CLOCK_TIME_NONE && ref_time != GST_CLOCK_TIME_NONE
+        && ((timecode_time > ref_time && timecode_time - ref_time > GST_SECOND)
+            || (ref_time > timecode_time
+                && ref_time - timecode_time > GST_SECOND))) {
+      gchar *tc_str =
+          gst_video_time_code_to_string (timecodestamper->current_tc);
+      GST_WARNING_OBJECT (timecodestamper,
+          "Time code %s (stream time %" GST_TIME_FORMAT
+          ") has drifted more than one second from stream time %"
+          GST_TIME_FORMAT, tc_str, GST_TIME_ARGS (timecode_time),
+          GST_TIME_ARGS (ref_time));
+      g_free (tc_str);
+    }
+  }
+  gst_buffer_add_video_time_code_meta (buffer, timecodestamper->current_tc);
+  gst_video_time_code_increment_frame (timecodestamper->current_tc);
+  GST_OBJECT_UNLOCK (timecodestamper);
+  return GST_FLOW_OK;
+}
diff --git a/gst/timecode/gsttimecodestamper.h b/gst/timecode/gsttimecodestamper.h
new file mode 100644
index 0000000..b06912e
--- /dev/null
+++ b/gst/timecode/gsttimecodestamper.h
@@ -0,0 +1,64 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Vivia Nikolaidou <vivia@toolsonair.com>
+ *
+ * gsttimecodestamper.h
+ *
+ * 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_TIME_CODE_STAMPER_H__
+#define __GST_TIME_CODE_STAMPER_H__
+
+#include <gst/gst.h>
+#include <gst/video/video.h>
+
+#define GST_TYPE_TIME_CODE_STAMPER            (gst_timecodestamper_get_type())
+#define GST_TIME_CODE_STAMPER(obj)            (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_TIME_CODE_STAMPER,GstTimeCodeStamper))
+#define GST_TIME_CODE_STAMPER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST((klass), GST_TYPE_TIME_CODE_STAMPER,GstTimeCodeStamperClass))
+#define GST_TIME_CODE_STAMPER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj), GST_TYPE_TIME_CODE_STAMPER,GstTimeCodeStamperClass))
+#define GST_IS_TIME_CODE_STAMPER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_TIME_CODE_STAMPER))
+#define GST_IS_TIME_CODE_STAMPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_TIME_CODE_STAMPER))
+
+typedef struct _GstTimeCodeStamper GstTimeCodeStamper;
+typedef struct _GstTimeCodeStamperClass GstTimeCodeStamperClass;
+
+/**
+ * GstTimeCodeStamper:
+ *
+ * Opaque data structure.
+ */
+struct _GstTimeCodeStamper
+{
+  GstBaseTransform videofilter;
+
+  /* < private > */
+  gboolean override_existing;
+  gboolean drop_frame;
+  GstVideoTimeCode *current_tc;
+  GstVideoInfo vinfo;
+  GstClock *source_clock;
+};
+
+struct _GstTimeCodeStamperClass
+{
+  GstBaseTransformClass parent_class;
+};
+
+GType gst_timecodestamper_get_type (void);
+
+G_END_DECLS
+#endif /* __GST_TIME_CODE_STAMPER_H__ */
diff --git a/gst/timecode/gsttimecodewait.c b/gst/timecode/gsttimecodewait.c
new file mode 100644
index 0000000..6a8cd4a
--- /dev/null
+++ b/gst/timecode/gsttimecodewait.c
@@ -0,0 +1,639 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Vivia Nikolaidou <vivia@toolsonair.com>
+ *
+ * Based on gstvideoframe-audiolevel.c:
+ * Copyright (C) 2015 Vivia Nikolaidou <vivia@toolsonair.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-timecodewait
+ *
+ * This element acts like a synchronized audio/video "level". It gathers
+ * all audio buffers sent between two video frames, and then sends a message
+ * that contains the RMS value of all samples for these buffers.
+ *
+ * <refsect2>
+ * <title>Example launch line</title>
+ * |[
+ * gst-launch-1.0 filesrc location="my_file" ! decodebin name=d ! "audio/x-raw" ! timecodewait name=l target-timecode-str="00:00:04:00" ! autoaudiosink d. ! "video/x-raw" ! timecodestamper ! l. l. ! queue ! timeoverlay time-mode=time-code ! autovideosink
+ * </refsect2>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "gsttimecodewait.h"
+
+#define GST_CAT_DEFAULT gst_timecodewait_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_DEFAULT);
+
+static GstStaticPadTemplate audio_sink_template =
+GST_STATIC_PAD_TEMPLATE ("asink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw")
+    );
+
+static GstStaticPadTemplate audio_src_template =
+GST_STATIC_PAD_TEMPLATE ("asrc",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("audio/x-raw")
+    );
+
+static GstStaticPadTemplate video_sink_template =
+GST_STATIC_PAD_TEMPLATE ("vsink",
+    GST_PAD_SINK,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-raw")
+    );
+
+static GstStaticPadTemplate video_src_template =
+GST_STATIC_PAD_TEMPLATE ("vsrc",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS ("video/x-raw")
+    );
+
+#define parent_class gst_timecodewait_parent_class
+G_DEFINE_TYPE (GstTimeCodeWait, gst_timecodewait, GST_TYPE_ELEMENT);
+
+enum
+{
+  PROP_0,
+  PROP_TARGET_TIME_CODE,
+  PROP_TARGET_TIME_CODE_STRING
+};
+
+#define DEFAULT_TARGET_TIMECODE_STR "00:00:00:00"
+
+static void gst_timecodewait_set_property (GObject * object,
+    guint prop_id, const GValue * value, GParamSpec * pspec);
+static void gst_timecodewait_get_property (GObject * object,
+    guint prop_id, GValue * value, GParamSpec * pspec);
+
+static GstFlowReturn gst_timecodewait_asink_chain (GstPad * pad,
+    GstObject * parent, GstBuffer * inbuf);
+static GstFlowReturn gst_timecodewait_vsink_chain (GstPad * pad,
+    GstObject * parent, GstBuffer * inbuf);
+static gboolean gst_timecodewait_asink_event (GstPad * pad,
+    GstObject * parent, GstEvent * event);
+static gboolean gst_timecodewait_vsink_event (GstPad * pad,
+    GstObject * parent, GstEvent * event);
+static GstIterator *gst_timecodewait_iterate_internal_links (GstPad *
+    pad, GstObject * parent);
+
+static void gst_timecodewait_finalize (GObject * gobject);
+
+static GstStateChangeReturn gst_timecodewait_change_state (GstElement *
+    element, GstStateChange transition);
+
+static void
+gst_timecodewait_class_init (GstTimeCodeWaitClass * klass)
+{
+  GstElementClass *gstelement_class;
+  GObjectClass *gobject_class = (GObjectClass *) klass;
+
+  GST_DEBUG_CATEGORY_INIT (gst_timecodewait_debug,
+      "timecodewait", 0, "timecodewait");
+
+  gstelement_class = (GstElementClass *) klass;
+
+  gst_element_class_set_static_metadata (gstelement_class,
+      "Timecode Wait", "Filter/Audio/Video",
+      "Drops all audio/video until a specific timecode has been reached",
+      "Vivia Nikolaidou <vivia@toolsonair.com>");
+
+  gobject_class->set_property = gst_timecodewait_set_property;
+  gobject_class->get_property = gst_timecodewait_get_property;
+
+  g_object_class_install_property (gobject_class, PROP_TARGET_TIME_CODE_STRING,
+      g_param_spec_string ("target-timecode-string", "Target timecode (string)",
+          "Timecode to wait for (string). Must take the form 00:00:00:00",
+          DEFAULT_TARGET_TIMECODE_STR,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  g_object_class_install_property (gobject_class, PROP_TARGET_TIME_CODE,
+      g_param_spec_boxed ("target-timecode", "Target timecode (object)",
+          "Timecode to wait for (object)",
+          GST_TYPE_VIDEO_TIME_CODE,
+          G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
+  gobject_class->finalize = gst_timecodewait_finalize;
+  gstelement_class->change_state = gst_timecodewait_change_state;
+
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &audio_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &audio_sink_template);
+
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &video_src_template);
+  gst_element_class_add_static_pad_template (gstelement_class,
+      &video_sink_template);
+}
+
+static void
+gst_timecodewait_init (GstTimeCodeWait * self)
+{
+  self->asinkpad =
+      gst_pad_new_from_static_template (&audio_sink_template, "asink");
+  gst_pad_set_chain_function (self->asinkpad,
+      GST_DEBUG_FUNCPTR (gst_timecodewait_asink_chain));
+  gst_pad_set_event_function (self->asinkpad,
+      GST_DEBUG_FUNCPTR (gst_timecodewait_asink_event));
+  gst_pad_set_iterate_internal_links_function (self->asinkpad,
+      GST_DEBUG_FUNCPTR (gst_timecodewait_iterate_internal_links));
+  gst_element_add_pad (GST_ELEMENT (self), self->asinkpad);
+
+  self->vsinkpad =
+      gst_pad_new_from_static_template (&video_sink_template, "vsink");
+  gst_pad_set_chain_function (self->vsinkpad,
+      GST_DEBUG_FUNCPTR (gst_timecodewait_vsink_chain));
+  gst_pad_set_event_function (self->vsinkpad,
+      GST_DEBUG_FUNCPTR (gst_timecodewait_vsink_event));
+  gst_pad_set_iterate_internal_links_function (self->vsinkpad,
+      GST_DEBUG_FUNCPTR (gst_timecodewait_iterate_internal_links));
+  gst_element_add_pad (GST_ELEMENT (self), self->vsinkpad);
+
+  self->asrcpad =
+      gst_pad_new_from_static_template (&audio_src_template, "asrc");
+  gst_pad_set_iterate_internal_links_function (self->asrcpad,
+      GST_DEBUG_FUNCPTR (gst_timecodewait_iterate_internal_links));
+  gst_element_add_pad (GST_ELEMENT (self), self->asrcpad);
+
+  self->vsrcpad =
+      gst_pad_new_from_static_template (&video_src_template, "vsrc");
+  gst_pad_set_iterate_internal_links_function (self->vsrcpad,
+      GST_DEBUG_FUNCPTR (gst_timecodewait_iterate_internal_links));
+  gst_element_add_pad (GST_ELEMENT (self), self->vsrcpad);
+
+  GST_PAD_SET_PROXY_CAPS (self->asinkpad);
+  GST_PAD_SET_PROXY_ALLOCATION (self->asinkpad);
+
+  GST_PAD_SET_PROXY_CAPS (self->asrcpad);
+  GST_PAD_SET_PROXY_SCHEDULING (self->asrcpad);
+
+  GST_PAD_SET_PROXY_CAPS (self->vsinkpad);
+  GST_PAD_SET_PROXY_ALLOCATION (self->vsinkpad);
+
+  GST_PAD_SET_PROXY_CAPS (self->vsrcpad);
+  GST_PAD_SET_PROXY_SCHEDULING (self->vsrcpad);
+
+  self->running_time_of_timecode = GST_CLOCK_TIME_NONE;
+
+  self->video_eos_flag = FALSE;
+  self->audio_flush_flag = FALSE;
+  self->shutdown_flag = FALSE;
+  self->from_string = FALSE;
+  self->tc = gst_video_time_code_new_empty ();
+
+  g_mutex_init (&self->mutex);
+  g_cond_init (&self->cond);
+}
+
+static GstStateChangeReturn
+gst_timecodewait_change_state (GstElement * element, GstStateChange transition)
+{
+  GstStateChangeReturn ret;
+  GstTimeCodeWait *self = GST_TIMECODEWAIT (element);
+
+  switch (transition) {
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+      g_mutex_lock (&self->mutex);
+      self->shutdown_flag = TRUE;
+      g_cond_signal (&self->cond);
+      g_mutex_unlock (&self->mutex);
+      break;
+    case GST_STATE_CHANGE_READY_TO_PAUSED:
+      g_mutex_lock (&self->mutex);
+      self->shutdown_flag = FALSE;
+      self->video_eos_flag = FALSE;
+      self->audio_flush_flag = FALSE;
+      g_mutex_unlock (&self->mutex);
+    default:
+      break;
+  }
+
+  ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition);
+
+  switch (transition) {
+    case GST_STATE_CHANGE_PAUSED_TO_READY:
+      g_mutex_lock (&self->mutex);
+      self->running_time_of_timecode = GST_CLOCK_TIME_NONE;
+      gst_segment_init (&self->asegment, GST_FORMAT_UNDEFINED);
+      self->asegment.position = GST_CLOCK_TIME_NONE;
+      gst_segment_init (&self->vsegment, GST_FORMAT_UNDEFINED);
+      self->vsegment.position = GST_CLOCK_TIME_NONE;
+      g_mutex_unlock (&self->mutex);
+      break;
+    default:
+      break;
+  }
+
+  return ret;
+}
+
+static void
+gst_timecodewait_finalize (GObject * object)
+{
+  GstTimeCodeWait *self = GST_TIMECODEWAIT (object);
+
+  if (self->tc) {
+    gst_video_time_code_free (self->tc);
+    self->tc = NULL;
+  }
+
+  g_mutex_clear (&self->mutex);
+  g_cond_clear (&self->cond);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+static void
+gst_timecodewait_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstTimeCodeWait *self = GST_TIMECODEWAIT (object);
+
+  switch (prop_id) {
+    case PROP_TARGET_TIME_CODE_STRING:{
+      if (self->tc)
+        g_value_take_string (value, gst_video_time_code_to_string (self->tc));
+      else
+        g_value_set_string (value, DEFAULT_TARGET_TIMECODE_STR);
+      break;
+    }
+    case PROP_TARGET_TIME_CODE:{
+      g_value_set_boxed (value, self->tc);
+      break;
+    }
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static void
+gst_timecodewait_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstTimeCodeWait *self = GST_TIMECODEWAIT (object);
+
+  switch (prop_id) {
+    case PROP_TARGET_TIME_CODE_STRING:{
+      gchar **parts;
+      const gchar *tc_str;
+      guint hours, minutes, seconds, frames;
+
+      tc_str = g_value_get_string (value);
+      parts = g_strsplit (tc_str, ":", 4);
+      if (!parts || parts[3] == NULL) {
+        GST_ERROR_OBJECT (self,
+            "Error: Could not parse timecode %s. Please input a timecode in the form 00:00:00:00",
+            tc_str);
+        g_strfreev (parts);
+        return;
+      }
+      hours = g_ascii_strtoll (parts[0], NULL, 10);
+      minutes = g_ascii_strtoll (parts[1], NULL, 10);
+      seconds = g_ascii_strtoll (parts[2], NULL, 10);
+      frames = g_ascii_strtoll (parts[3], NULL, 10);
+      gst_video_time_code_init (self->tc, 0, 1, NULL, 0, hours, minutes,
+          seconds, frames, 0);
+      if (self->vinfo.finfo != NULL) {
+        self->tc->config.fps_n = self->vinfo.fps_n;
+        self->tc->config.fps_d = self->vinfo.fps_d;
+      }
+      self->from_string = TRUE;
+      g_strfreev (parts);
+      break;
+    }
+    case PROP_TARGET_TIME_CODE:{
+      if (self->tc)
+        gst_video_time_code_free (self->tc);
+      self->tc = g_value_dup_boxed (value);
+      self->from_string = FALSE;
+      break;
+    }
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+}
+
+static gboolean
+gst_timecodewait_vsink_event (GstPad * pad, GstObject * parent,
+    GstEvent * event)
+{
+  GstTimeCodeWait *self = GST_TIMECODEWAIT (parent);
+  GST_LOG_OBJECT (pad, "Got %s event", GST_EVENT_TYPE_NAME (event));
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_SEGMENT:
+      g_mutex_lock (&self->mutex);
+      gst_event_copy_segment (event, &self->vsegment);
+      if (self->vsegment.format != GST_FORMAT_TIME) {
+        GST_ERROR_OBJECT (self, "Invalid segment format");
+        g_mutex_unlock (&self->mutex);
+        gst_event_unref (event);
+        return FALSE;
+      }
+      self->vsegment.position = GST_CLOCK_TIME_NONE;
+      g_mutex_unlock (&self->mutex);
+      break;
+    case GST_EVENT_GAP:
+      gst_event_unref (event);
+      return TRUE;
+    case GST_EVENT_EOS:
+      g_mutex_lock (&self->mutex);
+      self->video_eos_flag = TRUE;
+      g_cond_signal (&self->cond);
+      g_mutex_unlock (&self->mutex);
+      break;
+    case GST_EVENT_FLUSH_START:
+      g_mutex_lock (&self->mutex);
+      gst_segment_init (&self->vsegment, GST_FORMAT_UNDEFINED);
+      g_cond_signal (&self->cond);
+      g_mutex_unlock (&self->mutex);
+      self->vsegment.position = GST_CLOCK_TIME_NONE;
+      break;
+    case GST_EVENT_CAPS:{
+      GstCaps *caps;
+      gst_event_parse_caps (event, &caps);
+      GST_DEBUG_OBJECT (self, "Got caps %" GST_PTR_FORMAT, caps);
+      if (!gst_video_info_from_caps (&self->vinfo, caps)) {
+        gst_event_unref (event);
+        return FALSE;
+      }
+      g_mutex_lock (&self->mutex);
+      if (self->from_string) {
+        self->tc->config.fps_n = self->vinfo.fps_n;
+        self->tc->config.fps_d = self->vinfo.fps_d;
+      }
+      g_mutex_unlock (&self->mutex);
+      break;
+    }
+    default:
+      break;
+  }
+  return gst_pad_event_default (pad, parent, event);
+}
+
+static gboolean
+gst_timecodewait_asink_event (GstPad * pad, GstObject * parent,
+    GstEvent * event)
+{
+  GstTimeCodeWait *self = GST_TIMECODEWAIT (parent);
+  GST_LOG_OBJECT (pad, "Got %s event", GST_EVENT_TYPE_NAME (event));
+
+  switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_SEGMENT:
+      g_mutex_lock (&self->mutex);
+      self->running_time_of_timecode = GST_CLOCK_TIME_NONE;
+      gst_event_copy_segment (event, &self->asegment);
+      if (self->asegment.format != GST_FORMAT_TIME) {
+        GST_ERROR_OBJECT (self, "Invalid segment format");
+        g_mutex_unlock (&self->mutex);
+        return FALSE;
+      }
+      self->asegment.position = GST_CLOCK_TIME_NONE;
+      g_mutex_unlock (&self->mutex);
+      break;
+    case GST_EVENT_FLUSH_START:
+      g_mutex_lock (&self->mutex);
+      self->audio_flush_flag = TRUE;
+      g_cond_signal (&self->cond);
+      g_mutex_unlock (&self->mutex);
+      break;
+    case GST_EVENT_FLUSH_STOP:
+      g_mutex_lock (&self->mutex);
+      self->audio_flush_flag = FALSE;
+      self->running_time_of_timecode = GST_CLOCK_TIME_NONE;
+      gst_segment_init (&self->asegment, GST_FORMAT_UNDEFINED);
+      self->asegment.position = GST_CLOCK_TIME_NONE;
+      g_mutex_unlock (&self->mutex);
+      break;
+    case GST_EVENT_CAPS:{
+      GstCaps *caps;
+      gst_event_parse_caps (event, &caps);
+      GST_DEBUG_OBJECT (self, "Got caps %" GST_PTR_FORMAT, caps);
+      g_mutex_lock (&self->mutex);
+      if (!gst_audio_info_from_caps (&self->ainfo, caps)) {
+        g_mutex_unlock (&self->mutex);
+        return FALSE;
+      }
+      self->running_time_of_timecode = GST_CLOCK_TIME_NONE;
+      g_mutex_unlock (&self->mutex);
+      break;
+    }
+    default:
+      break;
+  }
+
+  return gst_pad_event_default (pad, parent, event);
+}
+
+static GstFlowReturn
+gst_timecodewait_vsink_chain (GstPad * pad, GstObject * parent,
+    GstBuffer * inbuf)
+{
+  GstClockTime timestamp;
+  GstTimeCodeWait *self = GST_TIMECODEWAIT (parent);
+  GstClockTime duration;
+  GstVideoTimeCode *tc = NULL;
+  GstVideoTimeCodeMeta *tc_meta;
+
+  timestamp = GST_BUFFER_TIMESTAMP (inbuf);
+  if (timestamp == GST_CLOCK_TIME_NONE) {
+    gst_buffer_unref (inbuf);
+    return GST_FLOW_ERROR;
+  }
+  g_mutex_lock (&self->mutex);
+  self->vsegment.position = timestamp;
+  duration = GST_BUFFER_DURATION (inbuf);
+  if (duration != GST_CLOCK_TIME_NONE)
+    self->vsegment.position += duration;
+  tc_meta = gst_buffer_get_video_time_code_meta (inbuf);
+  if (tc_meta)
+    tc = &tc_meta->tc;
+  if (self->tc != NULL && tc != NULL) {
+    if (gst_video_time_code_compare (tc, self->tc) < 0
+        && self->running_time_of_timecode == GST_CLOCK_TIME_NONE) {
+      GST_DEBUG_OBJECT (self, "Timecode not yet reached, ignoring frame");
+      gst_buffer_unref (inbuf);
+      inbuf = NULL;
+    } else if (self->running_time_of_timecode == GST_CLOCK_TIME_NONE) {
+      GST_INFO_OBJECT (self, "Target timecode reached at %" GST_TIME_FORMAT,
+          GST_TIME_ARGS (self->vsegment.position));
+      self->running_time_of_timecode =
+          gst_segment_to_running_time (&self->vsegment, GST_FORMAT_TIME,
+          self->vsegment.position);
+    }
+  }
+  g_cond_signal (&self->cond);
+  g_mutex_unlock (&self->mutex);
+  if (inbuf)
+    return gst_pad_push (self->vsrcpad, inbuf);
+  else
+    return GST_FLOW_OK;
+}
+
+/*
+ * assumes sign1 and sign2 are either 1 or -1
+ * returns 0 if sign1*num1 == sign2*num2
+ * -1 if sign1*num1 < sign2*num2
+ *  1 if sign1*num1 > sign2*num2
+ */
+static gint
+gst_timecodewait_compare_guint64_with_signs (gint sign1,
+    guint64 num1, gint sign2, guint64 num2)
+{
+  if (sign1 != sign2)
+    return sign1;
+  else if (num1 == num2)
+    return 0;
+  else
+    return num1 > num2 ? sign1 : -sign1;
+}
+
+static GstFlowReturn
+gst_timecodewait_asink_chain (GstPad * pad, GstObject * parent,
+    GstBuffer * inbuf)
+{
+  GstClockTime timestamp;
+  GstTimeCodeWait *self = GST_TIMECODEWAIT (parent);
+  GstClockTime current_running_time;
+  GstClockTime video_running_time = GST_CLOCK_TIME_NONE;
+  GstClockTime duration;
+  GstClockTime running_time_at_end = GST_CLOCK_TIME_NONE;
+  gint asign, vsign = 1, esign = 1;
+
+  timestamp = GST_BUFFER_TIMESTAMP (inbuf);
+  if (timestamp == GST_CLOCK_TIME_NONE) {
+    gst_buffer_unref (inbuf);
+    return GST_FLOW_ERROR;
+  }
+  g_mutex_lock (&self->mutex);
+  self->asegment.position = timestamp;
+  asign =
+      gst_segment_to_running_time_full (&self->asegment, GST_FORMAT_TIME,
+      self->asegment.position, &current_running_time);
+  if (asign == 0) {
+    g_mutex_unlock (&self->mutex);
+    gst_buffer_unref (inbuf);
+    GST_ERROR_OBJECT (self, "Could not get current running time");
+    return GST_FLOW_ERROR;
+  }
+  if (self->vsegment.format == GST_FORMAT_TIME) {
+    vsign =
+        gst_segment_to_running_time_full (&self->vsegment, GST_FORMAT_TIME,
+        self->vsegment.position, &video_running_time);
+    if (vsign == 0) {
+      video_running_time = GST_CLOCK_TIME_NONE;
+    }
+  }
+  while (!(self->video_eos_flag || self->audio_flush_flag
+          || self->shutdown_flag) && (video_running_time == GST_CLOCK_TIME_NONE
+          || gst_timecodewait_compare_guint64_with_signs (asign,
+              current_running_time, vsign, video_running_time) == 1)
+      && self->running_time_of_timecode == GST_CLOCK_TIME_NONE) {
+    g_cond_wait (&self->cond, &self->mutex);
+    vsign =
+        gst_segment_to_running_time_full (&self->vsegment, GST_FORMAT_TIME,
+        self->vsegment.position, &video_running_time);
+    if (vsign == 0) {
+      video_running_time = GST_CLOCK_TIME_NONE;
+    }
+  }
+  if (self->audio_flush_flag || self->shutdown_flag) {
+    GST_DEBUG_OBJECT (self, "Shutting down, ignoring frame");
+    gst_buffer_unref (inbuf);
+    return GST_FLOW_FLUSHING;
+  }
+  duration = GST_BUFFER_DURATION (inbuf);
+  if (duration != GST_CLOCK_TIME_NONE) {
+    esign =
+        gst_segment_to_running_time_full (&self->asegment, GST_FORMAT_TIME,
+        self->asegment.position + duration, &running_time_at_end);
+    if (esign == 0) {
+      g_mutex_unlock (&self->mutex);
+      GST_ERROR_OBJECT (self, "Could not get running time at end");
+      gst_buffer_unref (inbuf);
+      return GST_FLOW_ERROR;
+    }
+  }
+  if (self->running_time_of_timecode == GST_CLOCK_TIME_NONE
+      || gst_timecodewait_compare_guint64_with_signs (esign,
+          running_time_at_end, 1, self->running_time_of_timecode) == -1) {
+    GST_DEBUG_OBJECT (self,
+        "Dropped an audio buf at %" GST_TIME_FORMAT " with timecode %"
+        GST_TIME_FORMAT " video timecode %" GST_TIME_FORMAT,
+        GST_TIME_ARGS (current_running_time),
+        GST_TIME_ARGS (self->running_time_of_timecode),
+        GST_TIME_ARGS (video_running_time));
+    gst_buffer_unref (inbuf);
+    inbuf = NULL;
+  } else if (current_running_time < self->running_time_of_timecode
+      && running_time_at_end > self->running_time_of_timecode) {
+    GstSegment asegment2 = self->asegment;
+
+    gst_segment_set_running_time (&asegment2, GST_FORMAT_TIME,
+        self->running_time_of_timecode);
+    inbuf =
+        gst_audio_buffer_clip (inbuf, &asegment2, self->ainfo.rate,
+        self->ainfo.bpf);
+  }
+  g_mutex_unlock (&self->mutex);
+  if (inbuf)
+    return gst_pad_push (self->asrcpad, inbuf);
+  else
+    return GST_FLOW_OK;
+}
+
+static GstIterator *
+gst_timecodewait_iterate_internal_links (GstPad * pad, GstObject * parent)
+{
+  GstIterator *it = NULL;
+  GstPad *opad;
+  GValue val = G_VALUE_INIT;
+  GstTimeCodeWait *self = GST_TIMECODEWAIT (parent);
+
+  if (self->asinkpad == pad)
+    opad = gst_object_ref (self->asrcpad);
+  else if (self->asrcpad == pad)
+    opad = gst_object_ref (self->asinkpad);
+  else if (self->vsinkpad == pad)
+    opad = gst_object_ref (self->vsrcpad);
+  else if (self->vsrcpad == pad)
+    opad = gst_object_ref (self->vsinkpad);
+  else
+    goto out;
+
+  g_value_init (&val, GST_TYPE_PAD);
+  g_value_set_object (&val, opad);
+  it = gst_iterator_new_single (GST_TYPE_PAD, &val);
+  g_value_unset (&val);
+
+  gst_object_unref (opad);
+
+out:
+  return it;
+}
diff --git a/gst/timecode/gsttimecodewait.h b/gst/timecode/gsttimecodewait.h
new file mode 100644
index 0000000..cdb2525
--- /dev/null
+++ b/gst/timecode/gsttimecodewait.h
@@ -0,0 +1,70 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Vivia Nikolaidou <vivia@toolsonair.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_TIMECODEWAIT_H__
+#define __GST_TIMECODEWAIT_H__
+
+#include <gst/gst.h>
+#include <gst/audio/audio.h>
+#include <gst/video/video.h>
+
+G_BEGIN_DECLS
+#define GST_TYPE_TIMECODEWAIT                    (gst_timecodewait_get_type())
+#define GST_TIMECODEWAIT(obj)                    (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_TIMECODEWAIT,GstTimeCodeWait))
+#define GST_IS_TIMECODEWAIT(obj)                 (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_TIMECODEWAIT))
+#define GST_TIMECODEWAIT_CLASS(klass)            (G_TYPE_CHECK_CLASS_CAST((klass) ,GST_TYPE_TIMECODEWAIT,GstTimeCodeWaitClass))
+#define GST_IS_TIMECODEWAIT_CLASS(klass)         (G_TYPE_CHECK_CLASS_TYPE((klass) ,GST_TYPE_TIMECODEWAIT))
+#define GST_TIMECODEWAIT_GET_CLASS(obj)          (G_TYPE_INSTANCE_GET_CLASS((obj) ,GST_TYPE_TIMECODEWAIT,GstTimeCodeWaitClass))
+typedef struct _GstTimeCodeWait GstTimeCodeWait;
+typedef struct _GstTimeCodeWaitClass GstTimeCodeWaitClass;
+
+struct _GstTimeCodeWait
+{
+  GstElement parent;
+
+  GstVideoTimeCode *tc;
+  gboolean from_string;
+
+  GstPad *asrcpad, *asinkpad, *vsrcpad, *vsinkpad;
+
+  GstAudioInfo ainfo;
+  GstVideoInfo vinfo;
+
+  GstSegment asegment, vsegment;
+
+  GstClockTime running_time_of_timecode;
+
+  gboolean video_eos_flag;
+  gboolean audio_flush_flag;
+  gboolean shutdown_flag;
+
+  GCond cond;
+  GMutex mutex;
+};
+
+struct _GstTimeCodeWaitClass
+{
+  GstElementClass parent_class;
+};
+
+GType gst_timecodewait_get_type (void);
+
+G_END_DECLS
+#endif /* __GST_TIMECODEWAIT_H__ */
diff --git a/gst/timecode/plugin.c b/gst/timecode/plugin.c
new file mode 100644
index 0000000..8bfcbe9
--- /dev/null
+++ b/gst/timecode/plugin.c
@@ -0,0 +1,48 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Vivia Nikolaidou <vivia@toolsonair.com>
+ *
+ * plugin.c
+ *
+ * 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 "gsttimecodestamper.h"
+#include "gsttimecodewait.h"
+
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+  gboolean ret;
+
+  ret = gst_element_register (plugin, "timecodestamper", GST_RANK_NONE,
+      GST_TYPE_TIME_CODE_STAMPER);
+
+  ret &= gst_element_register (plugin, "timecodewait", GST_RANK_NONE,
+      GST_TYPE_TIMECODEWAIT);
+
+  return ret;
+}
+
+GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
+    GST_VERSION_MINOR,
+    timecode,
+    "Timecode-related elements",
+    plugin_init, VERSION, GST_LICENSE, GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN);
diff --git a/gst/tta/Makefile.in b/gst/tta/Makefile.in
index d0c8910..ff23ce4 100644
--- a/gst/tta/Makefile.in
+++ b/gst/tta/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/tta/gstttaparse.c b/gst/tta/gstttaparse.c
index 5479350..485a197 100644
--- a/gst/tta/gstttaparse.c
+++ b/gst/tta/gstttaparse.c
@@ -468,9 +468,7 @@
   if (ret == GST_FLOW_UNEXPECTED) {
     gst_pad_push_event (ttaparse->srcpad, gst_event_new_eos ());
   } else if (ret < GST_FLOW_UNEXPECTED || ret == GST_FLOW_NOT_LINKED) {
-    GST_ELEMENT_ERROR (ttaparse, STREAM, FAILED,
-        ("Internal data stream error."),
-        ("streaming stopped, reason %s", gst_flow_get_name (ret)));
+    GST_ELEMENT_FLOW_ERROR (ttaparse, ret);
     gst_pad_push_event (ttaparse->srcpad, gst_event_new_eos ());
   }
 }
diff --git a/gst/videofilters/Makefile.in b/gst/videofilters/Makefile.in
index 1554116..aa6b34f 100644
--- a/gst/videofilters/Makefile.in
+++ b/gst/videofilters/Makefile.in
@@ -331,6 +331,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -380,6 +382,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/videoframe_audiolevel/Makefile.in b/gst/videoframe_audiolevel/Makefile.in
index c1f0304..1e3ac7f 100644
--- a/gst/videoframe_audiolevel/Makefile.in
+++ b/gst/videoframe_audiolevel/Makefile.in
@@ -328,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/videomeasure/Makefile.in b/gst/videomeasure/Makefile.in
index 32add82..37c0295 100644
--- a/gst/videomeasure/Makefile.in
+++ b/gst/videomeasure/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/videoparsers/Makefile.in b/gst/videoparsers/Makefile.in
index 3a9327a..26339c0 100644
--- a/gst/videoparsers/Makefile.in
+++ b/gst/videoparsers/Makefile.in
@@ -339,6 +339,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -388,6 +390,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/videoparsers/gsth264parse.c b/gst/videoparsers/gsth264parse.c
index e09fd99..095a645 100644
--- a/gst/videoparsers/gsth264parse.c
+++ b/gst/videoparsers/gsth264parse.c
@@ -1635,7 +1635,12 @@
         profile = "scalable-baseline";
       break;
     case 86:
-      profile = "scalable-high";
+      if (sps->constraint_set3_flag)
+        profile = "scalable-high-intra";
+      else if (sps->constraint_set5_flag)
+        profile = "scalable-constrained-high";
+      else
+        profile = "scalable-high";
       break;
     default:
       return NULL;
diff --git a/gst/videoparsers/gstjpeg2000parse.c b/gst/videoparsers/gstjpeg2000parse.c
index 9388771..13fee2c 100644
--- a/gst/videoparsers/gstjpeg2000parse.c
+++ b/gst/videoparsers/gstjpeg2000parse.c
@@ -443,7 +443,7 @@
     } else {
       parsed_sampling =
           (numcomps ==
-          4) ? GST_JPEG2000_SAMPLING_RGBA : GST_JPEG2000_COLORSPACE_RGB;
+          4) ? GST_JPEG2000_SAMPLING_RGBA : GST_JPEG2000_SAMPLING_RGB;
     }
   } else {
     if (gst_jpeg2000_sampling_is_mono (sink_sampling)) {
diff --git a/gst/videosignal/Makefile.in b/gst/videosignal/Makefile.in
index 54fe672..d0aba62 100644
--- a/gst/videosignal/Makefile.in
+++ b/gst/videosignal/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/vmnc/Makefile.in b/gst/vmnc/Makefile.in
index 1d80e67..a760253 100644
--- a/gst/vmnc/Makefile.in
+++ b/gst/vmnc/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/y4m/Makefile.in b/gst/y4m/Makefile.in
index e861810..7d1ef95 100644
--- a/gst/y4m/Makefile.in
+++ b/gst/y4m/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/gst/yadif/Makefile.in b/gst/yadif/Makefile.in
index 4a54932..88e95c6 100644
--- a/gst/yadif/Makefile.in
+++ b/gst/yadif/Makefile.in
@@ -323,6 +323,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -372,6 +374,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/ltmain.sh b/ltmain.sh
index 147d758..a736cf9 100644
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -31,7 +31,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.6 Debian-2.4.6-0.1"
+VERSION="2.4.6 Debian-2.4.6-2"
 package_revision=2.4.6
 
 
@@ -2068,7 +2068,7 @@
        compiler:       $LTCC
        compiler flags: $LTCFLAGS
        linker:         $LD (gnu? $with_gnu_ld)
-       version:        $progname (GNU libtool) 2.4.6
+       version:        $progname $scriptversion Debian-2.4.6-2
        automake:       `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
        autoconf:       `($AUTOCONF --version) 2>/dev/null |$SED 1q`
 
diff --git a/m4/Makefile.in b/m4/Makefile.in
index 33f94dd..d6b28b9 100644
--- a/m4/Makefile.in
+++ b/m4/Makefile.in
@@ -239,6 +239,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -288,6 +290,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index 10ab284..ee80844 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -728,7 +728,6 @@
     cat <<_LT_EOF >> "$cfgfile"
 #! $SHELL
 # Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
 # NOTE: Changes made to this file will be lost: look at ltmain.sh.
 
 # Provide generalized library-building support services.
diff --git a/pkgconfig/Makefile.in b/pkgconfig/Makefile.in
index af727b5..b56e542 100644
--- a/pkgconfig/Makefile.in
+++ b/pkgconfig/Makefile.in
@@ -301,6 +301,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -350,6 +352,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/pkgconfig/gstreamer-gl.pc.in b/pkgconfig/gstreamer-gl.pc.in
index 5589e2a..112ce21 100644
--- a/pkgconfig/gstreamer-gl.pc.in
+++ b/pkgconfig/gstreamer-gl.pc.in
@@ -10,4 +10,4 @@
 Requires: gstreamer-base-@GST_API_VERSION@ gstreamer-@GST_API_VERSION@
 
 Libs: -L${libdir} -lgstgl-@GST_API_VERSION@ @GL_LIBS@
-Cflags: -I${includedir} @GL_CFLAGS@
+Cflags: -I${includedir} -I${libdir}/gstreamer-@GST_API_VERSION@/include @GL_CFLAGS@
diff --git a/po/af.gmo b/po/af.gmo
index 11b3633..434b581 100644
--- a/po/af.gmo
+++ b/po/af.gmo
Binary files differ
diff --git a/po/af.po b/po/af.po
index f27267b..91329b9 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-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+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"
@@ -69,9 +69,6 @@
 msgid "Could not start sndio"
 msgstr "Kon nie skryf na lêer \"%s\" nie."
 
-msgid "Internal data flow error."
-msgstr ""
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -91,10 +88,10 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
+msgid "Couldn't download fragments"
 msgstr ""
 
-msgid "Couldn't download fragments"
+msgid "Internal data stream error."
 msgstr ""
 
 #, fuzzy
diff --git a/po/az.gmo b/po/az.gmo
index 6167267..8f5c9af 100644
--- a/po/az.gmo
+++ b/po/az.gmo
Binary files differ
diff --git a/po/az.po b/po/az.po
index af87a1f..789ba97 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-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+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"
@@ -70,9 +70,6 @@
 msgid "Could not start sndio"
 msgstr "\"%s\" faylına yazıla bilmədi."
 
-msgid "Internal data flow error."
-msgstr ""
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -92,10 +89,10 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
+msgid "Couldn't download fragments"
 msgstr ""
 
-msgid "Couldn't download fragments"
+msgid "Internal data stream error."
 msgstr ""
 
 #, fuzzy
diff --git a/po/bg.gmo b/po/bg.gmo
index 928df85..47546c5 100644
--- a/po/bg.gmo
+++ b/po/bg.gmo
Binary files differ
diff --git a/po/bg.po b/po/bg.po
index a5f8f1d..6608f03 100644
--- a/po/bg.po
+++ b/po/bg.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+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"
@@ -68,9 +68,6 @@
 msgid "Could not start sndio"
 msgstr "Не може да се стартира sndio"
 
-msgid "Internal data flow error."
-msgstr "Вътрешна грешка в потока на данни."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Генерираният файл е с по-дълго време за буфериране отколкото е самата му "
@@ -92,12 +89,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Неуспешно получаване на адреса на фрагмента."
 
-msgid "Internal data stream error."
-msgstr "Вътрешна грешка в потока на данни."
-
 msgid "Couldn't download fragments"
 msgstr "Фрагментите не могат да бъдат свалени"
 
+msgid "Internal data stream error."
+msgstr "Вътрешна грешка в потока на данни."
+
 msgid "No file name specified for writing."
 msgstr "Не е указано име на файл за запис."
 
@@ -164,3 +161,6 @@
 msgstr ""
 "Файлът с настройките на цифровото видеоръзпръскване (DVB) не съдържа никакви "
 "канали"
+
+#~ msgid "Internal data flow error."
+#~ msgstr "Вътрешна грешка в потока на данни."
diff --git a/po/ca.gmo b/po/ca.gmo
index 814b45b..959a293 100644
--- a/po/ca.gmo
+++ b/po/ca.gmo
Binary files differ
diff --git a/po/ca.po b/po/ca.po
index 309de63..eb6e274 100644
--- a/po/ca.po
+++ b/po/ca.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+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"
@@ -72,9 +72,6 @@
 msgid "Could not start sndio"
 msgstr "No s'ha pogut llegir el DVD."
 
-msgid "Internal data flow error."
-msgstr "S'ha produït un error intern de flux de dades."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -94,12 +91,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "S'ha produït un error intern de flux de dades."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "S'ha produït un error intern de flux de dades."
+
 msgid "No file name specified for writing."
 msgstr "No s'ha especificat cap nom de fitxer per a l'escriptura."
 
@@ -157,5 +154,8 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "S'ha produït un error intern de flux de dades."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "No s'ha pogut escriure al fitxer «%s»."
diff --git a/po/cs.gmo b/po/cs.gmo
index 9e4fd8f..27a4312 100644
--- a/po/cs.gmo
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/cs.po b/po/cs.po
index 378a991..5f0b918 100644
--- a/po/cs.po
+++ b/po/cs.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-10-15 20:54+0200\n"
 "Last-Translator: Marek Černocký <marek@manet.cz>\n"
 "Language-Team: Czech <translation-team-cs@lists.sourceforge.net>\n"
@@ -72,9 +72,6 @@
 msgid "Could not start sndio"
 msgstr "Nelze spustit sndio"
 
-msgid "Internal data flow error."
-msgstr "Vnitřní chyba datového toku."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Vygenerovaný soubor má delší čas videa vloženého před začátek (preroll) než "
@@ -98,12 +95,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Selhalo získání adresy URL fragmentu."
 
-msgid "Internal data stream error."
-msgstr "Chyba proudu vnitřních dat."
-
 msgid "Couldn't download fragments"
 msgstr "Nelze stáhnout fragmenty"
 
+msgid "Internal data stream error."
+msgstr "Chyba proudu vnitřních dat."
+
 msgid "No file name specified for writing."
 msgstr "K zápisu nebyl zadán žádný název souboru."
 
@@ -163,6 +160,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "Soubor s nastavením kanálů DVB neobsahuje žádné kanály"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Vnitřní chyba datového toku."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "výchozí zvukový cíl GStreamer pro zvukové události"
 
diff --git a/po/da.gmo b/po/da.gmo
index 20e527b..2a19704 100644
--- a/po/da.gmo
+++ b/po/da.gmo
Binary files differ
diff --git a/po/da.po b/po/da.po
index 44bb1cc..216fcdb 100644
--- a/po/da.po
+++ b/po/da.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-12-05 11:28+0200\n"
 "Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
 "Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -67,9 +67,6 @@
 msgid "Could not start sndio"
 msgstr "Kunne ikke starte sndio"
 
-msgid "Internal data flow error."
-msgstr "Intern datastrømfejl."
-
 # pre-roll. The name of an online video commercial that appears prior to an online video,
 # http://en.wiktionary.org/wiki/preroll
 msgid "Generated file has a larger preroll time than its streams duration"
@@ -91,12 +88,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Kunne ikke indhente fragmentadresse."
 
-msgid "Internal data stream error."
-msgstr "Intern datastrømfejl."
-
 msgid "Couldn't download fragments"
 msgstr "Kunne ikke hente fragmenter"
 
+msgid "Internal data stream error."
+msgstr "Intern datastrømfejl."
+
 msgid "No file name specified for writing."
 msgstr "Intet filnavn er angivet til skrivning."
 
@@ -155,6 +152,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "DVB-kanalens konfigurationsfil indeholder ikke nogen kanaler"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Intern datastrømfejl."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "standardlydkanal for GStreamers lydhændelser"
 
diff --git a/po/de.gmo b/po/de.gmo
index 4b15447..689fbf0 100644
--- a/po/de.gmo
+++ b/po/de.gmo
Binary files differ
diff --git a/po/de.po b/po/de.po
index 1d773e6..0f8fc53 100644
--- a/po/de.po
+++ b/po/de.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-10-21 00:15+0200\n"
 "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
 "Language-Team: German <translation-team-de@lists.sourceforge.net>\n"
@@ -71,9 +71,6 @@
 msgid "Could not start sndio"
 msgstr "sndio konnten nicht gestartet werden"
 
-msgid "Internal data flow error."
-msgstr "Interner Datenstromfehler."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Die erzeugte Datei hat eine größere Vorlaufzeit als die Dauer ihres "
@@ -98,12 +95,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Ermitteln der Fragment-Adresse schlug fehl."
 
-msgid "Internal data stream error."
-msgstr "Interner Datenstromfehler."
-
 msgid "Couldn't download fragments"
 msgstr "Fragmente konnten nicht heruntergeladen werden"
 
+msgid "Internal data stream error."
+msgstr "Interner Datenstromfehler."
+
 msgid "No file name specified for writing."
 msgstr "Kein Dateiname zum Schreiben angegeben."
 
@@ -165,6 +162,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "DVB Kanal-Konfigurationsdatei enthält keine Kanäle"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Interner Datenstromfehler."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "Voreingestellte GStreamer Tonereignis-Audioziel"
 
diff --git a/po/el.gmo b/po/el.gmo
index 959cf7e..2a42ab7 100644
--- a/po/el.gmo
+++ b/po/el.gmo
Binary files differ
diff --git a/po/el.po b/po/el.po
index 65e1597..fe2fbb4 100644
--- a/po/el.po
+++ b/po/el.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2012-05-05 19:17+0100\n"
 "Last-Translator: Savvas Radevic <vicedar@gmail.com>\n"
 "Language-Team: Greek <team@lists.gnome.gr>\n"
@@ -73,9 +73,6 @@
 msgid "Could not start sndio"
 msgstr "Αδυναμία ανάγνωσης δίσκου DVD."
 
-msgid "Internal data flow error."
-msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -95,12 +92,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
+
 msgid "No file name specified for writing."
 msgstr "Δεν έχει καθορισθεί όνομα αρχείου για εγγραφή."
 
@@ -158,5 +155,8 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Εσωτερικό σφάλμα ροής δεδομένων."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Αδυναμία εγγραφής στο αρχείο \"%s\"."
diff --git a/po/en_GB.gmo b/po/en_GB.gmo
index ef22362..e505037 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 798a6df..eaf89f8 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-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+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"
@@ -68,9 +68,6 @@
 msgid "Could not start sndio"
 msgstr "Could not write to file \"%s\"."
 
-msgid "Internal data flow error."
-msgstr ""
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -90,10 +87,10 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
+msgid "Couldn't download fragments"
 msgstr ""
 
-msgid "Couldn't download fragments"
+msgid "Internal data stream error."
 msgstr ""
 
 #, fuzzy
diff --git a/po/eo.gmo b/po/eo.gmo
index f989a06..86cdc6c 100644
--- a/po/eo.gmo
+++ b/po/eo.gmo
Binary files differ
diff --git a/po/eo.po b/po/eo.po
index 84aac86..d02b5eb 100644
--- a/po/eo.po
+++ b/po/eo.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2011-06-04 22:18+0200\n"
 "Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
 "Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -70,9 +70,6 @@
 msgid "Could not start sndio"
 msgstr "Ne eblis legi la DVD-n."
 
-msgid "Internal data flow error."
-msgstr "Interna datum-flu-eraro."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -92,12 +89,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Interna datum-flu-eraro."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Interna datum-flu-eraro."
+
 msgid "No file name specified for writing."
 msgstr "Neniu dosiernomo estas specifite por skribi."
 
@@ -155,5 +152,8 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Interna datum-flu-eraro."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Ne eblis skribi al dosiero \"%s\"."
diff --git a/po/es.gmo b/po/es.gmo
index ce56311..b291ac1 100644
--- a/po/es.gmo
+++ b/po/es.gmo
Binary files differ
diff --git a/po/es.po b/po/es.po
index 7aa127c..04d3526 100644
--- a/po/es.po
+++ b/po/es.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2011-10-02 15:47+0200\n"
 "Last-Translator: Jorge González González <aloriel@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\n"
@@ -70,9 +70,6 @@
 msgid "Could not start sndio"
 msgstr "No se pudo leer el DVD."
 
-msgid "Internal data flow error."
-msgstr "Error en el flujo de datos interno."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -92,12 +89,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Error en el flujo de datos interno."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Error en el flujo de datos interno."
+
 msgid "No file name specified for writing."
 msgstr "No se especificó un nombre de archivo para su escritura."
 
@@ -156,6 +153,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Error en el flujo de datos interno."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "No se pudo escribir en el archivo «%s»."
 
diff --git a/po/eu.gmo b/po/eu.gmo
index 4a954ac..a07d0f2 100644
--- a/po/eu.gmo
+++ b/po/eu.gmo
Binary files differ
diff --git a/po/eu.po b/po/eu.po
index 88d618e..4386c35 100644
--- a/po/eu.po
+++ b/po/eu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-0.10.17.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2010-03-25 12:30+0100\n"
 "Last-Translator: Mikel Olasagasti Uranga <hey_neken@mundurat.net>\n"
 "Language-Team: Basque <translation-team-eu@lists.sourceforge.net>\n"
@@ -71,9 +71,6 @@
 msgid "Could not start sndio"
 msgstr "Ezin izan da DVDaren tituluaren informazioa irakurri."
 
-msgid "Internal data flow error."
-msgstr "Datu-korrontearen barne-errorea."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -93,12 +90,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Datu-korrontearen barne-errorea."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Datu-korrontearen barne-errorea."
+
 msgid "No file name specified for writing."
 msgstr "Ez da fitxategi-izenik zehaztu idazteko."
 
@@ -156,6 +153,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Datu-korrontearen barne-errorea."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Ezin izan da idatzi \"%s\" fitxategian."
 
diff --git a/po/fi.gmo b/po/fi.gmo
index cc023a9..9cc41dc 100644
--- a/po/fi.gmo
+++ b/po/fi.gmo
Binary files differ
diff --git a/po/fi.po b/po/fi.po
index 1dccd65..ee4c35f 100644
--- a/po/fi.po
+++ b/po/fi.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2009-08-12 22:13+0300\n"
 "Last-Translator: Tommi Vainikainen <Tommi.Vainikainen@iki.fi>\n"
 "Language-Team: Finnish <translation-team-fi@lists.sourceforge.net>\n"
@@ -74,9 +74,6 @@
 msgid "Could not start sndio"
 msgstr "DVD:n otsikkotietoja ei voitu lukea."
 
-msgid "Internal data flow error."
-msgstr "Sisäinen tietovirtavirhe."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -96,12 +93,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Sisäisen tietovirran virhe."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Sisäisen tietovirran virhe."
+
 msgid "No file name specified for writing."
 msgstr "Kirjoitettavaa tiedostonimeä ei annettu."
 
@@ -160,6 +157,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Sisäinen tietovirtavirhe."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Tiedostoon \"%s\" ei voitu kirjoittaa."
 
diff --git a/po/fr.gmo b/po/fr.gmo
index 15f9aa6..3fa1fa4 100644
--- a/po/fr.gmo
+++ b/po/fr.gmo
Binary files differ
diff --git a/po/fr.po b/po/fr.po
index da7045f..be2fd9e 100644
--- a/po/fr.po
+++ b/po/fr.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2016-02-20 16:27+0100\n"
 "Last-Translator: Stéphane Aulery <lkppo@free.fr>\n"
 "Language-Team: French <traduc@traduc.org>\n"
@@ -68,9 +68,6 @@
 msgid "Could not start sndio"
 msgstr "Impossible de démarrer sndio"
 
-msgid "Internal data flow error."
-msgstr "Erreur du flux de données interne."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Le fichier généré a un temps de lancement plus long que la durée du flux"
@@ -93,12 +90,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Échec de la récupération de l’URL de fragment."
 
-msgid "Internal data stream error."
-msgstr "Erreur interne de flux de données."
-
 msgid "Couldn't download fragments"
 msgstr "Impossible de télécharger les fragments"
 
+msgid "Internal data stream error."
+msgstr "Erreur interne de flux de données."
+
 msgid "No file name specified for writing."
 msgstr "Aucun nom de fichier indiqué en écriture."
 
@@ -159,6 +156,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "Le fichier de configuration de canal DVB ne contient aucun canal"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Erreur du flux de données interne."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "récepteur audio GStreamer par défaut pour les événements sonores"
 
diff --git a/po/gl.gmo b/po/gl.gmo
index cedc61a..e73e8af 100644
--- a/po/gl.gmo
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/gl.po b/po/gl.po
index a205cf7..5eb7239 100644
--- a/po/gl.po
+++ b/po/gl.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2011-09-05 12:50+0200\n"
 "Last-Translator: Fran Dieguez <frandieguez@ubuntu.com>\n"
 "Language-Team: Galician <proxecto@trasno.net>\n"
@@ -72,9 +72,6 @@
 msgid "Could not start sndio"
 msgstr "Non foi posíbel ler o DVD."
 
-msgid "Internal data flow error."
-msgstr "Produciuse un erro interno no fluxo de datos."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -94,12 +91,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Produciuse un erro interno no fluxo de datos."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Produciuse un erro interno no fluxo de datos."
+
 msgid "No file name specified for writing."
 msgstr "Non se especificou ningún nome de ficheiro para a súa escritura."
 
@@ -157,6 +154,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Produciuse un erro interno no fluxo de datos."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Non foi posíbel escribir no ficheiro «%s»."
 
diff --git a/po/gst-plugins-bad-1.0.pot b/po/gst-plugins-bad-1.0.pot
index d8b99cb..6df5bfa 100644
--- a/po/gst-plugins-bad-1.0.pot
+++ b/po/gst-plugins-bad-1.0.pot
@@ -5,9 +5,9 @@
 #, fuzzy
 msgid ""
 msgstr ""
-"Project-Id-Version: gst-plugins-bad 1.9.1\n"
+"Project-Id-Version: gst-plugins-bad 1.9.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+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"
@@ -16,15 +16,15 @@
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: ext/gl/gstgltestsrc.c:519
+#: ext/gl/gstgltestsrc.c:521
 msgid "failed to draw pattern"
 msgstr ""
 
-#: ext/gl/gstgltestsrc.c:520
+#: ext/gl/gstgltestsrc.c:522
 msgid "A GL error occured"
 msgstr ""
 
-#: ext/gl/gstgltestsrc.c:526
+#: ext/gl/gstgltestsrc.c:528
 msgid "format wasn't negotiated before get function"
 msgstr ""
 
@@ -56,7 +56,7 @@
 msgstr ""
 
 #: ext/smoothstreaming/gstmssdemux.c:405
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:674
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:692
 msgid "This file contains no playable streams."
 msgstr ""
 
@@ -80,21 +80,17 @@
 msgid "Could not start sndio"
 msgstr ""
 
-#: gst/aiff/aiffparse.c:1504
-msgid "Internal data flow error."
-msgstr ""
-
 #: gst/asfmux/gstasfmux.c:1831
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
-#: gst/camerabin2/camerabingeneral.c:166 gst/camerabin2/gstcamerabin2.c:1876
+#: gst/camerabin2/camerabingeneral.c:166 gst/camerabin2/gstcamerabin2.c:1875
 #: gst/camerabin2/gstdigitalzoom.c:282 gst/camerabin2/gstviewfinderbin.c:270
 #, c-format
 msgid "Missing element '%s' - check your GStreamer installation."
 msgstr ""
 
-#: gst/camerabin2/gstcamerabin2.c:364
+#: gst/camerabin2/gstcamerabin2.c:363
 msgid "File location is set to NULL, please set it to a valid filename"
 msgstr ""
 
@@ -102,23 +98,21 @@
 msgid "Digitalzoom element couldn't be created"
 msgstr ""
 
-#: gst/dvdspu/gstdvdspu.c:1039
+#: gst/dvdspu/gstdvdspu.c:1041
 msgid "Subpicture format was not configured before data flow"
 msgstr ""
 
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2712
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3053
 msgid "Failed to get fragment URL."
 msgstr ""
 
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:2950
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3145
-#: gst/mpegtsdemux/mpegtsbase.c:1382 gst/mpegtsdemux/mpegtsbase.c:1386
-#: gst/nuvdemux/gstnuvdemux.c:733
-msgid "Internal data stream error."
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3404
+msgid "Couldn't download fragments"
 msgstr ""
 
-#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3061
-msgid "Couldn't download fragments"
+#: gst-libs/gst/adaptivedemux/gstadaptivedemux.c:3493
+#: gst/mpegtsdemux/mpegtsbase.c:1382
+msgid "Internal data stream error."
 msgstr ""
 
 #: gst/videomeasure/gstvideomeasure_collector.c:294
@@ -160,35 +154,35 @@
 msgid "Could not open file \"%s\" for reading."
 msgstr ""
 
-#: sys/dvb/parsechannels.c:336
+#: sys/dvb/parsechannels.c:359
 msgid "Couldn't find DVB channel configuration file"
 msgstr ""
 
-#: sys/dvb/parsechannels.c:339 sys/dvb/parsechannels.c:495
+#: sys/dvb/parsechannels.c:362 sys/dvb/parsechannels.c:518
 #, c-format
 msgid "Couldn't load DVB channel configuration file: %s"
 msgstr ""
 
-#: sys/dvb/parsechannels.c:348 sys/dvb/parsechannels.c:780
+#: sys/dvb/parsechannels.c:371 sys/dvb/parsechannels.c:803
 #, c-format
 msgid "Couldn't find details for DVB channel %s"
 msgstr ""
 
-#: sys/dvb/parsechannels.c:358
+#: sys/dvb/parsechannels.c:381
 #, c-format
 msgid "No properties for the DVB channel %s"
 msgstr ""
 
-#: sys/dvb/parsechannels.c:368
+#: sys/dvb/parsechannels.c:391
 #, c-format
 msgid "Failed to set properties for the DVB channel %s"
 msgstr ""
 
-#: sys/dvb/parsechannels.c:492
+#: sys/dvb/parsechannels.c:515
 #, c-format
 msgid "Couldn't find DVB channel configuration file: %s"
 msgstr ""
 
-#: sys/dvb/parsechannels.c:502
+#: sys/dvb/parsechannels.c:525
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
diff --git a/po/hr.gmo b/po/hr.gmo
index 54bbd5c..333eea6 100644
--- a/po/hr.gmo
+++ b/po/hr.gmo
Binary files differ
diff --git a/po/hr.po b/po/hr.po
index 94c54f2..3d0f443 100644
--- a/po/hr.po
+++ b/po/hr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2016-05-27 12:45-0700\n"
 "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n"
 "Language-Team: Croatian <lokalizacija@linux.hr>\n"
@@ -71,9 +71,6 @@
 msgid "Could not start sndio"
 msgstr "‘sndio’ nije moguće pokrenuti"
 
-msgid "Internal data flow error."
-msgstr "Interna greška u protoku podataka."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "U generiranoj datoteci priprema (preroll vrijeme) je duža od ukupnog "
@@ -96,12 +93,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Nije uspjelo dobiti fragmente adrese URL-a."
 
-msgid "Internal data stream error."
-msgstr "Interna greška toka (stream) podataka."
-
 msgid "Couldn't download fragments"
 msgstr "Nije moguće preuzeti fragmente"
 
+msgid "Internal data stream error."
+msgstr "Interna greška toka (stream) podataka."
+
 msgid "No file name specified for writing."
 msgstr "Nedostaje naziv (nema ga) datoteke za pisanje."
 
@@ -162,5 +159,8 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "Konfiguracijska datoteka za DVB kanal ne sadrži nijedan kanal"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Interna greška u protoku podataka."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Ne mogu pisati u datoteku „%s”."
diff --git a/po/hu.gmo b/po/hu.gmo
index 4827a23..63e9c19 100644
--- a/po/hu.gmo
+++ b/po/hu.gmo
Binary files differ
diff --git a/po/hu.po b/po/hu.po
index e5b7e0a..938a8fd 100644
--- a/po/hu.po
+++ b/po/hu.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-11-20 23:46+0100\n"
 "Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
 "Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -69,9 +69,6 @@
 msgid "Could not start sndio"
 msgstr "Nem sikerült az sndio indítása"
 
-msgid "Internal data flow error."
-msgstr "Belső adatfolyamhiba."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Az előállított fájlnak nagyobb előtekerési ideje van, mint a folyamának "
@@ -95,12 +92,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Nem sikerült lekérni a töredék URL-t."
 
-msgid "Internal data stream error."
-msgstr "Belső adatfolyamhiba."
-
 msgid "Couldn't download fragments"
 msgstr "Nem sikerült letölteni a töredékeket"
 
+msgid "Internal data stream error."
+msgstr "Belső adatfolyamhiba."
+
 msgid "No file name specified for writing."
 msgstr "Nincs megadva fájlnév az íráshoz."
 
@@ -160,6 +157,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "A DVB-csatorna beállítófájl nem tartalmaz egyetlen csatornát sem"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Belső adatfolyamhiba."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "alapértelmezett GStreamer hangesemények audiosink"
 
diff --git a/po/id.gmo b/po/id.gmo
index 35dcac0..9f7eab4 100644
--- a/po/id.gmo
+++ b/po/id.gmo
Binary files differ
diff --git a/po/id.po b/po/id.po
index c05e78a..8c3ea4e 100644
--- a/po/id.po
+++ b/po/id.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.3.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2014-05-31 22:16+0700\n"
 "Last-Translator: Andhika Padmawan <andhika.padmawan@gmail.com>\n"
 "Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -67,9 +67,6 @@
 msgid "Could not start sndio"
 msgstr "Tak dapat memulai sndio"
 
-msgid "Internal data flow error."
-msgstr "Galat arus data internal."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Berkas yang dihasilkan memiliki waktu preroll lebih besar daripada durasi "
@@ -91,12 +88,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Gagal mendapat URL fragmen."
 
-msgid "Internal data stream error."
-msgstr "Galat arus data internal."
-
 msgid "Couldn't download fragments"
 msgstr "Tak bisa mengunduh fragmen."
 
+msgid "Internal data stream error."
+msgstr "Galat arus data internal."
+
 msgid "No file name specified for writing."
 msgstr "Tak ada nama berkas yang ditentukan untuk ditulis."
 
@@ -157,6 +154,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "Berkas konfigurasi kanal DVB tak memuat kanal apapun"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Galat arus data internal."
+
 #~ msgid "Couldn't get the Manifest's URI"
 #~ msgstr "Tak bisa memperoleh URI Manifes"
 
diff --git a/po/it.gmo b/po/it.gmo
index 45fd955..d5d5c31 100644
--- a/po/it.gmo
+++ b/po/it.gmo
Binary files differ
diff --git a/po/it.po b/po/it.po
index 471c079..12e711b 100644
--- a/po/it.po
+++ b/po/it.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.13.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2009-08-14 00:12+0200\n"
 "Last-Translator: Luca Ferretti <elle.uca@infinito.it>\n"
 "Language-Team: Italian <tp@lists.linux.it>\n"
@@ -68,9 +68,6 @@
 msgid "Could not start sndio"
 msgstr "Impossibile leggere le informazioni del titolo per il DVD."
 
-msgid "Internal data flow error."
-msgstr "Errore interno nel flusso di dati."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -90,12 +87,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Errore interno nello stream di dati."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Errore interno nello stream di dati."
+
 msgid "No file name specified for writing."
 msgstr "Nessun nome di file specificato per la scrittura."
 
@@ -153,6 +150,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Errore interno nel flusso di dati."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Impossibile scrivere sul file «%s»."
 
diff --git a/po/ja.gmo b/po/ja.gmo
index 7839bf2..858830d 100644
--- a/po/ja.gmo
+++ b/po/ja.gmo
Binary files differ
diff --git a/po/ja.po b/po/ja.po
index c8b304a..dd4eb9a 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2011-04-26 19:38+0900\n"
 "Last-Translator: Makoto Kato <makoto.kt@gmail.com>\n"
 "Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -70,9 +70,6 @@
 msgid "Could not start sndio"
 msgstr "DVDを読み込むことができませんでした。"
 
-msgid "Internal data flow error."
-msgstr "内部データフローエラー。"
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -92,12 +89,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "内部データストリームエラー。"
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "内部データストリームエラー。"
+
 msgid "No file name specified for writing."
 msgstr "書き込み用にファイル名が指定されていません。"
 
@@ -156,6 +153,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "内部データフローエラー。"
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "ファイル \"%s\" へ書き込むことができませんでした。"
 
diff --git a/po/ky.gmo b/po/ky.gmo
index 3c91f43..0bdc59b 100644
--- a/po/ky.gmo
+++ b/po/ky.gmo
Binary files differ
diff --git a/po/ky.po b/po/ky.po
index 9b05a5f..d7a1074 100644
--- a/po/ky.po
+++ b/po/ky.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.5\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2007-11-13 17:16+0600\n"
 "Last-Translator: Ilyas Bakirov <just_ilyas@yahoo.com>\n"
 "Language-Team: Kirghiz <i18n-team-ky-kyrgyz@lists.sourceforge.net>\n"
@@ -67,9 +67,6 @@
 msgid "Could not start sndio"
 msgstr ""
 
-msgid "Internal data flow error."
-msgstr ""
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -89,10 +86,10 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
+msgid "Couldn't download fragments"
 msgstr ""
 
-msgid "Couldn't download fragments"
+msgid "Internal data stream error."
 msgstr ""
 
 msgid "No file name specified for writing."
diff --git a/po/lt.gmo b/po/lt.gmo
index ad45b89..1b113e1 100644
--- a/po/lt.gmo
+++ b/po/lt.gmo
Binary files differ
diff --git a/po/lt.po b/po/lt.po
index f50f38b..1f6c885 100644
--- a/po/lt.po
+++ b/po/lt.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-0.10.6.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2008-05-14 02:13+0300\n"
 "Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
 "Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -71,10 +71,6 @@
 msgid "Could not start sndio"
 msgstr "Nepavyko rašyti į failą „%s“."
 
-#, fuzzy
-msgid "Internal data flow error."
-msgstr "Vidinė duomenų srauto klaida."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -94,12 +90,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Vidinė duomenų srauto klaida."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Vidinė duomenų srauto klaida."
+
 msgid "No file name specified for writing."
 msgstr "Nenurodytas failo rašymui pavadinimas."
 
@@ -157,6 +153,10 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#, fuzzy
+#~ msgid "Internal data flow error."
+#~ msgstr "Vidinė duomenų srauto klaida."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Nepavyko rašyti į failą „%s“."
 
diff --git a/po/lv.gmo b/po/lv.gmo
index 308d904..f1580fa 100644
--- a/po/lv.gmo
+++ b/po/lv.gmo
Binary files differ
diff --git a/po/lv.po b/po/lv.po
index 287242f..e933294 100644
--- a/po/lv.po
+++ b/po/lv.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.2.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2014-04-20 15:52+0300\n"
 "Last-Translator: Rihards Prieditis <rprieditis@gmail.com>\n"
 "Language-Team: Latvian <translation-team-lv@lists.sourceforge.net>\n"
@@ -73,9 +73,6 @@
 msgid "Could not start sndio"
 msgstr "Nevarēja palaist sndio"
 
-msgid "Internal data flow error."
-msgstr "Iekšēja datu plūsmas kļūda."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Izveidotajai datnei ir lielāks pirms-atskaņojuma laiks, kā straumes garums"
@@ -97,12 +94,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Neizdevās saņemt fragmenta URL."
 
-msgid "Internal data stream error."
-msgstr "Iekšējās datu plūsmas kļūda."
-
 msgid "Couldn't download fragments"
 msgstr "Nevarēja lejupielādēt fragmentus"
 
+msgid "Internal data stream error."
+msgstr "Iekšējās datu plūsmas kļūda."
+
 msgid "No file name specified for writing."
 msgstr "Ierakstīšanai nav norādīts neviens datnes nosaukums."
 
@@ -162,6 +159,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "DVB kanāla konfigurācijas datne nesatur nevienu kanālu"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Iekšēja datu plūsmas kļūda."
+
 #~ msgid "Couldn't get the Manifest's URI"
 #~ msgstr "Nevarēja saņemt manifesta URI"
 
diff --git a/po/mt.gmo b/po/mt.gmo
index be30e96..8aefa50 100644
--- a/po/mt.gmo
+++ b/po/mt.gmo
Binary files differ
diff --git a/po/mt.po b/po/mt.po
index e432974..f002ee6 100644
--- a/po/mt.po
+++ b/po/mt.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-0.10.8.3\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2008-10-26 20:27+0100\n"
 "Last-Translator: Michel Bugeja <michelbugeja@rabatmalta.com>\n"
 "Language-Team: Maltese <translation-team-mt@lists.sourceforge.net>\n"
@@ -70,9 +70,6 @@
 msgid "Could not start sndio"
 msgstr "Ma stajtx naqra informazzjoni fuq it-titlu tad-DVD."
 
-msgid "Internal data flow error."
-msgstr "Internal data flow error."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -92,12 +89,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Internal data stream error."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Internal data stream error."
+
 msgid "No file name specified for writing."
 msgstr "L-ebda isem speċifikat biex nikteb."
 
@@ -156,6 +153,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Internal data flow error."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Ma nistax nikteb fil-fajl \"%s\". "
 
diff --git a/po/nb.gmo b/po/nb.gmo
index a08df95..ebd5fd2 100644
--- a/po/nb.gmo
+++ b/po/nb.gmo
Binary files differ
diff --git a/po/nb.po b/po/nb.po
index 2cccaf1..e508329 100644
--- a/po/nb.po
+++ b/po/nb.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-12-22 21:08+0100\n"
 "Last-Translator: Johnny A. Solbu <johnny@solbu.net>\n"
 "Language-Team: Norwegian Bokmaal <i18n-nb@lister.ping.uio.no>\n"
@@ -68,9 +68,6 @@
 msgid "Could not start sndio"
 msgstr "Kunne ikke starte sndio"
 
-msgid "Internal data flow error."
-msgstr "Intern feil i datastrøm."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr "Genererte filen har en større preroll tid enn strømmens varighet"
 
@@ -91,12 +88,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Klarte ikke å hente fragment-nettadresse."
 
-msgid "Internal data stream error."
-msgstr "Intern feil i datastrøm."
-
 msgid "Couldn't download fragments"
 msgstr "Kunne ikke laste ned fragmenter"
 
+msgid "Internal data stream error."
+msgstr "Intern feil i datastrøm."
+
 msgid "No file name specified for writing."
 msgstr "Ingen filnavn oppgitt for skriving."
 
@@ -154,6 +151,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "DVB-kanalkonfigurasjonsfilen inneholder ingen kanaler"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Intern feil i datastrøm."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "standard GStreamer lydhendelser-audiosink"
 
diff --git a/po/nl.gmo b/po/nl.gmo
index 4b9c60f..be0c758 100644
--- a/po/nl.gmo
+++ b/po/nl.gmo
Binary files differ
diff --git a/po/nl.po b/po/nl.po
index a1a1ba8..91e1b2e 100644
--- a/po/nl.po
+++ b/po/nl.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2016-02-20 12:35+0100\n"
 "Last-Translator: Freek de Kruijf <f.de.kruijf@gmail.com>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.org>\n"
@@ -68,9 +68,6 @@
 msgid "Could not start sndio"
 msgstr "Kon sndio niet starten"
 
-msgid "Internal data flow error."
-msgstr "Interne fout met gegevensdoorvoer."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Gegenereerd bestand heeft een grotere voorlooptijd dan de duur van zijn "
@@ -94,12 +91,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Verkrijgen van de URL van het fragment is mislukt."
 
-msgid "Internal data stream error."
-msgstr "Interne fout in gegevensstroom."
-
 msgid "Couldn't download fragments"
 msgstr "Kan fragmenten niet downloaden"
 
+msgid "Internal data stream error."
+msgstr "Interne fout in gegevensstroom."
+
 msgid "No file name specified for writing."
 msgstr "Geen bestandsnaam gespecificeerd voor de uitvoer."
 
@@ -159,6 +156,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "Het instellingenbestand van het DVB-kanaal bevat geen kanalen"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Interne fout met gegevensdoorvoer."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "standaard GStreamer audiosink voor geluidsgebeurtenissen"
 
diff --git a/po/or.gmo b/po/or.gmo
index 7411476..752eaca 100644
--- a/po/or.gmo
+++ b/po/or.gmo
Binary files differ
diff --git a/po/or.po b/po/or.po
index 7cd5f7c..a4eaf9b 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-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+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"
@@ -70,9 +70,6 @@
 msgid "Could not start sndio"
 msgstr "\"%s\" ଫାଇଲ ଲେଖିହେଲା ନାହିଁ."
 
-msgid "Internal data flow error."
-msgstr ""
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -92,10 +89,10 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
+msgid "Couldn't download fragments"
 msgstr ""
 
-msgid "Couldn't download fragments"
+msgid "Internal data stream error."
 msgstr ""
 
 #, fuzzy
diff --git a/po/pl.gmo b/po/pl.gmo
index a39855f..dfc47bb 100644
--- a/po/pl.gmo
+++ b/po/pl.gmo
Binary files differ
diff --git a/po/pl.po b/po/pl.po
index 398bdfc..2888657 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-10-15 20:50+0200\n"
 "Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
 "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -65,9 +65,6 @@
 msgid "Could not start sndio"
 msgstr "Nie udało się uruchomić sndio"
 
-msgid "Internal data flow error."
-msgstr "Błąd wewnętrzny przepływu danych."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Wygenerowany plik ma dłuższy czas rozbiegówki niż czas trwania strumieni"
@@ -89,12 +86,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Nie udało się uzyskać URL-a fragmentu."
 
-msgid "Internal data stream error."
-msgstr "Błąd wewnętrzny strumienia danych."
-
 msgid "Couldn't download fragments"
 msgstr "Nie udało się pobrać fragmentów"
 
+msgid "Internal data stream error."
+msgstr "Błąd wewnętrzny strumienia danych."
+
 msgid "No file name specified for writing."
 msgstr "Nie określono nazwy pliku do zapisu."
 
@@ -155,6 +152,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "Plik konfiguracyjny kanałów DVB nie zawiera żadnych kanałów"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Błąd wewnętrzny przepływu danych."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "domyślny element GStreamera pochłaniający zdarzenia dźwiękowe"
 
diff --git a/po/pt_BR.gmo b/po/pt_BR.gmo
index 3ee0c5d..dfa910d 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 7de69cc..6cb4621 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2016-05-06 16:02-0300\n"
 "Last-Translator: Fabrício Godoy <skarllot@gmail.com>\n"
 "Language-Team: Brazilian Portuguese <ldpbr-translation@lists.sourceforge."
@@ -69,9 +69,6 @@
 msgid "Could not start sndio"
 msgstr "Não foi possível iniciar o sndio"
 
-msgid "Internal data flow error."
-msgstr "Erro interno de fluxo de dados."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "O arquivo gerado tem um tempo de preparação maior que a sua duração de fluxo"
@@ -94,12 +91,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Falha ao obter um fragmento de URL."
 
-msgid "Internal data stream error."
-msgstr "Erro interno de fluxo de dados."
-
 msgid "Couldn't download fragments"
 msgstr "Não foi possível baixar os fragmentos"
 
+msgid "Internal data stream error."
+msgstr "Erro interno de fluxo de dados."
+
 msgid "No file name specified for writing."
 msgstr "Nenhum nome de arquivo especificado para gravação."
 
@@ -162,6 +159,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "O arquivo de configuração de canal DVB não contém nenhum canal"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Erro interno de fluxo de dados."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "audiosink do GStreamer pré-definido para eventos de som"
 
diff --git a/po/ro.gmo b/po/ro.gmo
index 9e47748..9e988e6 100644
--- a/po/ro.gmo
+++ b/po/ro.gmo
Binary files differ
diff --git a/po/ro.po b/po/ro.po
index e96f5ad..970fd2a 100644
--- a/po/ro.po
+++ b/po/ro.po
@@ -5,7 +5,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.18.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2010-08-16 03:11+0300\n"
 "Last-Translator: Lucian Adrian Grijincu <lucian.grijincu@gmail.com>\n"
 "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n"
@@ -69,9 +69,6 @@
 msgid "Could not start sndio"
 msgstr "Nu s-au putut citi informațiile despre titlu pentru DVD."
 
-msgid "Internal data flow error."
-msgstr "Eroare internă de flux al datelor."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -91,12 +88,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Eroare internă a fluxului de date."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Eroare internă a fluxului de date."
+
 msgid "No file name specified for writing."
 msgstr "Niciun nume de fișier specificat pentru scriere."
 
@@ -154,5 +151,8 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Eroare internă de flux al datelor."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "Nu s-a putut scrie în fișierul „%s”."
diff --git a/po/ru.gmo b/po/ru.gmo
index 967c791..0586158 100644
--- a/po/ru.gmo
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/ru.po b/po/ru.po
index 35eb3aa..c4a18a4 100644
--- a/po/ru.po
+++ b/po/ru.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-10-18 13:40+0300\n"
 "Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
 "Language-Team: Russian <gnu@d07.ru>\n"
@@ -70,9 +70,6 @@
 msgid "Could not start sndio"
 msgstr "Не удалось запустить sndio"
 
-msgid "Internal data flow error."
-msgstr "Внутренняя ошибка передачи данных."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "В сгенерированном файле время предпуска (preroll) больше чем длительность "
@@ -94,12 +91,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Ошибка при получении URL фрагмента."
 
-msgid "Internal data stream error."
-msgstr "Внутренняя ошибка потока данных."
-
 msgid "Couldn't download fragments"
 msgstr "Не удалось скачать фрагменты"
 
+msgid "Internal data stream error."
+msgstr "Внутренняя ошибка потока данных."
+
 msgid "No file name specified for writing."
 msgstr "Не указано имя файла для записи."
 
@@ -159,6 +156,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "Файл настройки каналов DVB не содержит каналов"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Внутренняя ошибка передачи данных."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "GStreamer audiosink по умолчанию для звуковых событий"
 
diff --git a/po/sk.gmo b/po/sk.gmo
index c004936..c7f64ff 100644
--- a/po/sk.gmo
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/sk.po b/po/sk.po
index 376710d..fea6121 100644
--- a/po/sk.po
+++ b/po/sk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2016-05-20 12:33+0100\n"
 "Last-Translator: Peter Tuhársky <tuharsky@misbb.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -70,9 +70,6 @@
 msgid "Could not start sndio"
 msgstr "Nepodarilo sa spustiť sndio"
 
-msgid "Internal data flow error."
-msgstr "Vnútorná chyba prúdu údajov."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Vytvorený súbor má väčší prerolovací čas než je trvanie jeho prúdu údajov"
@@ -95,12 +92,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Nepodarilo sa získať URL fragmentu."
 
-msgid "Internal data stream error."
-msgstr "Vnútorná chyba prúdu údajov."
-
 msgid "Couldn't download fragments"
 msgstr "Nepodarilo sa získať fragmenty"
 
+msgid "Internal data stream error."
+msgstr "Vnútorná chyba prúdu údajov."
+
 msgid "No file name specified for writing."
 msgstr "Nebolo zadané žiadne meno súboru pre zápis."
 
@@ -160,6 +157,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "Konfiguračný súbor DVB kanála neobsahuje žiadne kanály"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Vnútorná chyba prúdu údajov."
+
 #~ msgid "Couldn't get the Manifest's URI"
 #~ msgstr "Nepodarilo sa získať URI Manifestu"
 
diff --git a/po/sl.gmo b/po/sl.gmo
index 5d98ad1..19adc55 100644
--- a/po/sl.gmo
+++ b/po/sl.gmo
Binary files differ
diff --git a/po/sl.po b/po/sl.po
index f448710..b37d1cc 100644
--- a/po/sl.po
+++ b/po/sl.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.21.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2011-04-26 15:21+0100\n"
 "Last-Translator: Klemen Košir <klemen.kosir@gmx.com>\n"
 "Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -75,9 +75,6 @@
 msgid "Could not start sndio"
 msgstr "DVD-ja ni mogoče prebrati."
 
-msgid "Internal data flow error."
-msgstr "Notranja napaka pretočnosti podatkov."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -97,12 +94,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Notranja napaka pretoka podatkov."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Notranja napaka pretoka podatkov."
+
 msgid "No file name specified for writing."
 msgstr "Ni navedenega imena datoteke za pisanje."
 
@@ -160,6 +157,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Notranja napaka pretočnosti podatkov."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "V datoteko \"%s\" ni mogoče pisati."
 
diff --git a/po/sq.gmo b/po/sq.gmo
index 3aa0c60..78d5a40 100644
--- a/po/sq.gmo
+++ b/po/sq.gmo
Binary files differ
diff --git a/po/sq.po b/po/sq.po
index ece9068..cd3c734 100644
--- a/po/sq.po
+++ b/po/sq.po
@@ -6,7 +6,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 0.10.7.2\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2008-08-15 16:07+0200\n"
 "Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
 "Language-Team: Albanian <translation-team-sq@lists.sourceforge.net>\n"
@@ -68,10 +68,6 @@
 msgid "Could not start sndio"
 msgstr "I pamundur shkrimi tek file \"%s\"."
 
-#, fuzzy
-msgid "Internal data flow error."
-msgstr "Gabim i brendshëm tek stream i të dhënave."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 
@@ -91,12 +87,12 @@
 msgid "Failed to get fragment URL."
 msgstr ""
 
-msgid "Internal data stream error."
-msgstr "Gabim i brendshëm tek stream i të dhënave."
-
 msgid "Couldn't download fragments"
 msgstr ""
 
+msgid "Internal data stream error."
+msgstr "Gabim i brendshëm tek stream i të dhënave."
+
 msgid "No file name specified for writing."
 msgstr "Asnjë emër file specifikuar për shkrim."
 
@@ -154,6 +150,10 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr ""
 
+#, fuzzy
+#~ msgid "Internal data flow error."
+#~ msgstr "Gabim i brendshëm tek stream i të dhënave."
+
 #~ msgid "Could not write to file \"%s\"."
 #~ msgstr "I pamundur shkrimi tek file \"%s\"."
 
diff --git a/po/sr.gmo b/po/sr.gmo
index 609d562..871b3af 100644
--- a/po/sr.gmo
+++ b/po/sr.gmo
Binary files differ
diff --git a/po/sr.po b/po/sr.po
index 7c6f7fa..dc12f85 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-12-24 11:34+0200\n"
 "Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
 "Language-Team: Serbian <(nothing)>\n"
@@ -68,9 +68,6 @@
 msgid "Could not start sndio"
 msgstr "Не могу да покренем улаз/излаз звука"
 
-msgid "Internal data flow error."
-msgstr "Унутрашња грешка протока података."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr "Створена датотека има дуже време припреме од трајања њеног тока"
 
@@ -91,12 +88,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Нисам успео да добијем адресу одломка."
 
-msgid "Internal data stream error."
-msgstr "Унутрашња грешка тока података."
-
 msgid "Couldn't download fragments"
 msgstr "Не могу да преузмем одломке"
 
+msgid "Internal data stream error."
+msgstr "Унутрашња грешка тока података."
+
 msgid "No file name specified for writing."
 msgstr "Није наведен назив датотеке за упис."
 
@@ -156,6 +153,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "Датотека подешавања ДВБ канала не садржи ниједан канал"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Унутрашња грешка протока података."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "основни аудио усклађивач звучних догађаја Гстримера"
 
diff --git a/po/sv.gmo b/po/sv.gmo
index cfd1a2d..6a39cde 100644
--- a/po/sv.gmo
+++ b/po/sv.gmo
Binary files differ
diff --git a/po/sv.po b/po/sv.po
index d255206..3569469 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-11-01 00:48+0100\n"
 "Last-Translator: Sebastian Rasmussen <sebras@gmail.com>\n"
 "Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
@@ -68,9 +68,6 @@
 msgid "Could not start sndio"
 msgstr "Kunde ej starta sndio"
 
-msgid "Internal data flow error."
-msgstr "Internt fel i dataflöde."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr "Den genererade filen har en längre förrullningstid än dess strömlängd"
 
@@ -91,12 +88,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Misslyckades att hämta fragment-URL"
 
-msgid "Internal data stream error."
-msgstr "Internt fel i dataström."
-
 msgid "Couldn't download fragments"
 msgstr "Kunde ej ladda ner fragment"
 
+msgid "Internal data stream error."
+msgstr "Internt fel i dataström."
+
 msgid "No file name specified for writing."
 msgstr "Inget filnamn angavs för skrivning."
 
@@ -260,6 +257,9 @@
 #~ msgid "Describes the selected visualization element."
 #~ msgstr "Beskriver det valda visualiseringselementet."
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Internt fel i dataflöde."
+
 #~ msgid "Couldn't get the Manifest's URI"
 #~ msgstr "Kunde ej hämta manifestets URI"
 
diff --git a/po/tr.gmo b/po/tr.gmo
index d98a6a2..351cef8 100644
--- a/po/tr.gmo
+++ b/po/tr.gmo
Binary files differ
diff --git a/po/tr.po b/po/tr.po
index ebd6553..c08c42f 100644
--- a/po/tr.po
+++ b/po/tr.po
@@ -7,7 +7,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad-1.4.1\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+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"
@@ -68,9 +68,6 @@
 msgid "Could not start sndio"
 msgstr "Sndio başlatılamadı"
 
-msgid "Internal data flow error."
-msgstr "İç veri akış hatası."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Oluşturlmuş dosya, akışlarının süresinden daha büyük preroll zamanına sahip"
@@ -93,12 +90,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Parça adresi alınamadı."
 
-msgid "Internal data stream error."
-msgstr "İç veri akım hatası."
-
 msgid "Couldn't download fragments"
 msgstr "Parçalar indirilemedi"
 
+msgid "Internal data stream error."
+msgstr "İç veri akım hatası."
+
 msgid "No file name specified for writing."
 msgstr "Yazmak için dosya adı belirtilmedi."
 
@@ -156,6 +153,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "DVB kanal yapılandırma dosyası herhangi bir kanal içermiyor"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "İç veri akış hatası."
+
 #~ msgid "Couldn't get the Manifest's URI"
 #~ msgstr "Manifest URI alınamadı"
 
diff --git a/po/uk.gmo b/po/uk.gmo
index 9d8d2f8..0e91a5b 100644
--- a/po/uk.gmo
+++ b/po/uk.gmo
Binary files differ
diff --git a/po/uk.po b/po/uk.po
index cba3fad..93c6b85 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-10-15 20:44+0300\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <translation-team-uk@lists.sourceforge.net>\n"
@@ -70,9 +70,6 @@
 msgid "Could not start sndio"
 msgstr "Не вдалося задіяти sndio"
 
-msgid "Internal data flow error."
-msgstr "Помилка внутрішнього перенесення даних."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Створений файл має більше значення випереджувального просування даних ніж "
@@ -97,12 +94,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Не вдалося отримати адреси фрагмента."
 
-msgid "Internal data stream error."
-msgstr "Помилка внутрішнього потоку даних."
-
 msgid "Couldn't download fragments"
 msgstr "Не вдалося отримати фрагменти"
 
+msgid "Internal data stream error."
+msgstr "Помилка внутрішнього потоку даних."
+
 msgid "No file name specified for writing."
 msgstr "Не вказано назви файла для запису."
 
@@ -164,6 +161,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "У файлі налаштувань каналів DVB не міститься даних щодо жодного каналу"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Помилка внутрішнього перенесення даних."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "типовий приймач звукових подій GStreamer"
 
diff --git a/po/vi.gmo b/po/vi.gmo
index 53af1e1..6e77352 100644
--- a/po/vi.gmo
+++ b/po/vi.gmo
Binary files differ
diff --git a/po/vi.po b/po/vi.po
index cd4fe49..2bbb892 100644
--- a/po/vi.po
+++ b/po/vi.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-10-16 08:27+0700\n"
 "Last-Translator: Trần Ngọc Quân <vnwildman@gmail.com>\n"
 "Language-Team: Vietnamese <translation-team-vi@lists.sourceforge.net>\n"
@@ -70,9 +70,6 @@
 msgid "Could not start sndio"
 msgstr "Không thể khởi chạy sndio"
 
-msgid "Internal data flow error."
-msgstr "Lỗi tràn luồng dữ liệu nội bộ."
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr ""
 "Tập tin đã tạo có thời gian cuộn trước lớn hơn thời lượng của dòng dữ liệu"
@@ -94,12 +91,12 @@
 msgid "Failed to get fragment URL."
 msgstr "Gặp lỗi khi lấy URL phân mảnh."
 
-msgid "Internal data stream error."
-msgstr "Lỗi luồng dữ liệu nội bộ."
-
 msgid "Couldn't download fragments"
 msgstr "Không thể tải về các phân mảnh"
 
+msgid "Internal data stream error."
+msgstr "Lỗi luồng dữ liệu nội bộ."
+
 msgid "No file name specified for writing."
 msgstr "Chưa chỉ định tên tập tin để ghi vào."
 
@@ -160,6 +157,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "Tập tin cấu hình kênh DVB chẳng chứa kênh nào cả"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "Lỗi tràn luồng dữ liệu nội bộ."
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "các sự kiện âm thanh GStreamer mặc định cho “audiosink”"
 
diff --git a/po/zh_CN.gmo b/po/zh_CN.gmo
index 32ac8a5..fe5e55d 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 265bc13..f861a3a 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -9,7 +9,7 @@
 msgstr ""
 "Project-Id-Version: gst-plugins-bad 1.6.0\n"
 "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/\n"
-"POT-Creation-Date: 2016-07-06 11:51+0300\n"
+"POT-Creation-Date: 2016-09-01 11:24+0300\n"
 "PO-Revision-Date: 2015-10-16 19:27+0800\n"
 "Last-Translator: Tianze Wang <zwpwjwtz@126.com>\n"
 "Language-Team: Chinese (simplified) <i18n-zh@googlegroups.com>\n"
@@ -67,9 +67,6 @@
 msgid "Could not start sndio"
 msgstr "无法启动sndio。"
 
-msgid "Internal data flow error."
-msgstr "内部数据流错误。"
-
 msgid "Generated file has a larger preroll time than its streams duration"
 msgstr "生成文件的预告片段超过其自身流长度。"
 
@@ -89,12 +86,12 @@
 msgid "Failed to get fragment URL."
 msgstr "无法获取片段URL。"
 
-msgid "Internal data stream error."
-msgstr "内部数据流错误。"
-
 msgid "Couldn't download fragments"
 msgstr "无法下载片段。"
 
+msgid "Internal data stream error."
+msgstr "内部数据流错误。"
+
 msgid "No file name specified for writing."
 msgstr "未指定写入文件名。"
 
@@ -152,6 +149,9 @@
 msgid "DVB channel configuration file doesn't contain any channels"
 msgstr "DVB通道配置文件不包含任何通道"
 
+#~ msgid "Internal data flow error."
+#~ msgstr "内部数据流错误。"
+
 #~ msgid "default GStreamer sound events audiosink"
 #~ msgstr "默认GStreamer声音事件的音频汇"
 
diff --git a/sys/Makefile.am b/sys/Makefile.am
index 9a34006..5365316 100644
--- a/sys/Makefile.am
+++ b/sys/Makefile.am
@@ -11,7 +11,7 @@
 endif
 
 if USE_APPLE_MEDIA
-APPLE_MEDIA_DIR=applemedia applemedia-nonpublic
+APPLE_MEDIA_DIR=applemedia
 else
 APPLE_MEDIA_DIR=
 endif
@@ -156,7 +156,7 @@
 
 SUBDIRS = $(ACM_DIR) $(ANDROID_MEDIA_DIR) $(APPLE_MEDIA_DIR) $(AVC_DIR) $(BLUEZ_DIR) $(D3DVIDEOSINK_DIR) $(DECKLINK_DIR) $(DIRECTSOUND_DIR) $(WINKS_DIR) $(DVB_DIR) $(FBDEV_DIR) $(KMS_DIR) $(LINSYS_DIR) $(OPENSLES_DIR) $(PVR_DIR) $(SHM_DIR) $(UVCH264_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(WINSCREENCAP_DIR) $(WASAPI_DIR) $(NVENC_DIR) $(TINYALSA_DIR)
 
-DIST_SUBDIRS = acmenc acmmp3dec androidmedia applemedia applemedia-nonpublic avc bluez d3dvideosink decklink directsound dvb linsys fbdev kms dshowdecwrapper dshowsrcwrapper dshowvideosink \
+DIST_SUBDIRS = acmenc acmmp3dec androidmedia applemedia avc bluez d3dvideosink decklink directsound dvb linsys fbdev kms dshowdecwrapper dshowsrcwrapper dshowvideosink \
 		opensles pvr2d shm uvch264 vcd vdpau wasapi wininet winks winscreencap \
 		nvenc tinyalsa
 
diff --git a/sys/Makefile.in b/sys/Makefile.in
index 31a0c6b..e309628 100644
--- a/sys/Makefile.in
+++ b/sys/Makefile.in
@@ -304,6 +304,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -353,6 +355,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -765,7 +769,7 @@
 @USE_ANDROID_MEDIA_FALSE@ANDROID_MEDIA_DIR = 
 @USE_ANDROID_MEDIA_TRUE@ANDROID_MEDIA_DIR = androidmedia
 @USE_APPLE_MEDIA_FALSE@APPLE_MEDIA_DIR = 
-@USE_APPLE_MEDIA_TRUE@APPLE_MEDIA_DIR = applemedia applemedia-nonpublic
+@USE_APPLE_MEDIA_TRUE@APPLE_MEDIA_DIR = applemedia
 @USE_AVC_FALSE@AVC_DIR = 
 @USE_AVC_TRUE@AVC_DIR = avc
 @USE_BLUEZ_FALSE@BLUEZ_DIR = 
@@ -821,7 +825,7 @@
 @USE_TINYALSA_FALSE@TINYALSA_DIR = 
 @USE_TINYALSA_TRUE@TINYALSA_DIR = tinyalsa
 SUBDIRS = $(ACM_DIR) $(ANDROID_MEDIA_DIR) $(APPLE_MEDIA_DIR) $(AVC_DIR) $(BLUEZ_DIR) $(D3DVIDEOSINK_DIR) $(DECKLINK_DIR) $(DIRECTSOUND_DIR) $(WINKS_DIR) $(DVB_DIR) $(FBDEV_DIR) $(KMS_DIR) $(LINSYS_DIR) $(OPENSLES_DIR) $(PVR_DIR) $(SHM_DIR) $(UVCH264_DIR) $(VCD_DIR) $(VDPAU_DIR) $(WININET_DIR) $(WINSCREENCAP_DIR) $(WASAPI_DIR) $(NVENC_DIR) $(TINYALSA_DIR)
-DIST_SUBDIRS = acmenc acmmp3dec androidmedia applemedia applemedia-nonpublic avc bluez d3dvideosink decklink directsound dvb linsys fbdev kms dshowdecwrapper dshowsrcwrapper dshowvideosink \
+DIST_SUBDIRS = acmenc acmmp3dec androidmedia applemedia avc bluez d3dvideosink decklink directsound dvb linsys fbdev kms dshowdecwrapper dshowsrcwrapper dshowvideosink \
 		opensles pvr2d shm uvch264 vcd vdpau wasapi wininet winks winscreencap \
 		nvenc tinyalsa
 
diff --git a/sys/acmenc/Makefile.in b/sys/acmenc/Makefile.in
index 9f36020..d3666bb 100644
--- a/sys/acmenc/Makefile.in
+++ b/sys/acmenc/Makefile.in
@@ -322,6 +322,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -371,6 +373,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/acmmp3dec/Makefile.in b/sys/acmmp3dec/Makefile.in
index 78cad2b..7a87cef 100644
--- a/sys/acmmp3dec/Makefile.in
+++ b/sys/acmmp3dec/Makefile.in
@@ -322,6 +322,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -371,6 +373,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/androidmedia/Makefile.am b/sys/androidmedia/Makefile.am
index 3bb4ea3..c56eee2 100644
--- a/sys/androidmedia/Makefile.am
+++ b/sys/androidmedia/Makefile.am
@@ -2,6 +2,7 @@
 
 libgstandroidmedia_la_SOURCES = \
 	gstahcsrc.c \
+	gstahssrc.c \
 	gstamcaudiodec.c \
 	gstamc.c \
 	gstamcsurface.c \
@@ -10,10 +11,12 @@
 	gstamcvideoenc.c \
 	gst-android-graphics-imageformat.c \
 	gst-android-hardware-camera.c \
+	gst-android-hardware-sensor.c \
 	gstjniutils.c
 
 noinst_HEADERS = \
 	gstahcsrc.h \
+	gstahssrc.h \
 	gstamcaudiodec.h \
 	gstamc-constants.h \
 	gstamc.h \
@@ -23,6 +26,7 @@
 	gstamcvideoenc.h \
 	gst-android-graphics-imageformat.h \
 	gst-android-hardware-camera.h \
+	gst-android-hardware-sensor.h \
 	gstjniutils.h
 
 libgstandroidmedia_la_CFLAGS = \
@@ -50,4 +54,5 @@
 androidmedia_java_classesdir = $(datadir)/gst-android/ndk-build/androidmedia/
 androidmedia_java_classes_DATA = \
 	org/freedesktop/gstreamer/androidmedia/GstAhcCallback.java \
+	org/freedesktop/gstreamer/androidmedia/GstAhsCallback.java \
 	org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java
diff --git a/sys/androidmedia/Makefile.in b/sys/androidmedia/Makefile.in
index cdf845c..88fda28 100644
--- a/sys/androidmedia/Makefile.in
+++ b/sys/androidmedia/Makefile.in
@@ -170,6 +170,7 @@
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
 am_libgstandroidmedia_la_OBJECTS = libgstandroidmedia_la-gstahcsrc.lo \
+	libgstandroidmedia_la-gstahssrc.lo \
 	libgstandroidmedia_la-gstamcaudiodec.lo \
 	libgstandroidmedia_la-gstamc.lo \
 	libgstandroidmedia_la-gstamcsurface.lo \
@@ -178,6 +179,7 @@
 	libgstandroidmedia_la-gstamcvideoenc.lo \
 	libgstandroidmedia_la-gst-android-graphics-imageformat.lo \
 	libgstandroidmedia_la-gst-android-hardware-camera.lo \
+	libgstandroidmedia_la-gst-android-hardware-sensor.lo \
 	libgstandroidmedia_la-gstjniutils.lo
 libgstandroidmedia_la_OBJECTS = $(am_libgstandroidmedia_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
@@ -339,6 +341,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -388,6 +392,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -798,6 +804,7 @@
 plugin_LTLIBRARIES = libgstandroidmedia.la
 libgstandroidmedia_la_SOURCES = \
 	gstahcsrc.c \
+	gstahssrc.c \
 	gstamcaudiodec.c \
 	gstamc.c \
 	gstamcsurface.c \
@@ -806,10 +813,12 @@
 	gstamcvideoenc.c \
 	gst-android-graphics-imageformat.c \
 	gst-android-hardware-camera.c \
+	gst-android-hardware-sensor.c \
 	gstjniutils.c
 
 noinst_HEADERS = \
 	gstahcsrc.h \
+	gstahssrc.h \
 	gstamcaudiodec.h \
 	gstamc-constants.h \
 	gstamc.h \
@@ -819,6 +828,7 @@
 	gstamcvideoenc.h \
 	gst-android-graphics-imageformat.h \
 	gst-android-hardware-camera.h \
+	gst-android-hardware-sensor.h \
 	gstjniutils.h
 
 libgstandroidmedia_la_CFLAGS = \
@@ -846,6 +856,7 @@
 androidmedia_java_classesdir = $(datadir)/gst-android/ndk-build/androidmedia/
 androidmedia_java_classes_DATA = \
 	org/freedesktop/gstreamer/androidmedia/GstAhcCallback.java \
+	org/freedesktop/gstreamer/androidmedia/GstAhsCallback.java \
 	org/freedesktop/gstreamer/androidmedia/GstAmcOnFrameAvailableListener.java
 
 all: all-am
@@ -928,7 +939,9 @@
 
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gst-android-graphics-imageformat.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-camera.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-sensor.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gstahcsrc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gstahssrc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gstamc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gstamcaudiodec.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstandroidmedia_la-gstamcsurface.Plo@am__quote@
@@ -968,6 +981,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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstahcsrc.lo `test -f 'gstahcsrc.c' || echo '$(srcdir)/'`gstahcsrc.c
 
+libgstandroidmedia_la-gstahssrc.lo: gstahssrc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstahssrc.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstahssrc.Tpo -c -o libgstandroidmedia_la-gstahssrc.lo `test -f 'gstahssrc.c' || echo '$(srcdir)/'`gstahssrc.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstahssrc.Tpo $(DEPDIR)/libgstandroidmedia_la-gstahssrc.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gstahssrc.c' object='libgstandroidmedia_la-gstahssrc.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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gstahssrc.lo `test -f 'gstahssrc.c' || echo '$(srcdir)/'`gstahssrc.c
+
 libgstandroidmedia_la-gstamcaudiodec.lo: gstamcaudiodec.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstamcaudiodec.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstamcaudiodec.Tpo -c -o libgstandroidmedia_la-gstamcaudiodec.lo `test -f 'gstamcaudiodec.c' || echo '$(srcdir)/'`gstamcaudiodec.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstamcaudiodec.Tpo $(DEPDIR)/libgstandroidmedia_la-gstamcaudiodec.Plo
@@ -1024,6 +1044,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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gst-android-hardware-camera.lo `test -f 'gst-android-hardware-camera.c' || echo '$(srcdir)/'`gst-android-hardware-camera.c
 
+libgstandroidmedia_la-gst-android-hardware-sensor.lo: gst-android-hardware-sensor.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gst-android-hardware-sensor.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-sensor.Tpo -c -o libgstandroidmedia_la-gst-android-hardware-sensor.lo `test -f 'gst-android-hardware-sensor.c' || echo '$(srcdir)/'`gst-android-hardware-sensor.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-sensor.Tpo $(DEPDIR)/libgstandroidmedia_la-gst-android-hardware-sensor.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gst-android-hardware-sensor.c' object='libgstandroidmedia_la-gst-android-hardware-sensor.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 $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -c -o libgstandroidmedia_la-gst-android-hardware-sensor.lo `test -f 'gst-android-hardware-sensor.c' || echo '$(srcdir)/'`gst-android-hardware-sensor.c
+
 libgstandroidmedia_la-gstjniutils.lo: gstjniutils.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstandroidmedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstandroidmedia_la_CFLAGS) $(CFLAGS) -MT libgstandroidmedia_la-gstjniutils.lo -MD -MP -MF $(DEPDIR)/libgstandroidmedia_la-gstjniutils.Tpo -c -o libgstandroidmedia_la-gstjniutils.lo `test -f 'gstjniutils.c' || echo '$(srcdir)/'`gstjniutils.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstandroidmedia_la-gstjniutils.Tpo $(DEPDIR)/libgstandroidmedia_la-gstjniutils.Plo
diff --git a/sys/androidmedia/gst-android-hardware-camera.c b/sys/androidmedia/gst-android-hardware-camera.c
index c22129f..aa574bd 100644
--- a/sys/androidmedia/gst-android-hardware-camera.c
+++ b/sys/androidmedia/gst-android-hardware-camera.c
@@ -2129,7 +2129,7 @@
   GST_DEBUG ("add callback_buffer %p", buffer);
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.addCallbackBuffer, buffer);
+      android_hardware_camera.addCallbackBuffer, buffer);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.addCallbackBuffer: %s",
         err->message);
@@ -2154,14 +2154,15 @@
         org_freedesktop_gstreamer_androidmedia_gstahccallback.constructor,
         *((jlong *) & cb), *((jlong *) & user_data));
     if (err) {
-      GST_ERROR ("Failed to create org.freedesktop.gstreamer.androidmedia.GstAhcCallback object");
+      GST_ERROR
+          ("Failed to create org.freedesktop.gstreamer.androidmedia.GstAhcCallback object");
       g_clear_error (&err);
       goto done;
     }
   }
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.autoFocus, object);
+      android_hardware_camera.autoFocus, object);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.autoFocus: %s",
         err->message);
@@ -2171,7 +2172,7 @@
   ret = TRUE;
 done:
   if (err)
-    g_clear_error(&err);
+    g_clear_error (&err);
   if (object)
     gst_amc_jni_object_local_unref (env, object);
 
@@ -2185,7 +2186,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.cancelAutoFocus);
+      android_hardware_camera.cancelAutoFocus);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.cancelAutoFocus: %s",
         err->message);
@@ -2216,7 +2217,7 @@
   }
 
   gst_amc_jni_call_static_void_method (env, &err, android_hardware_camera.klass,
-    android_hardware_camera.getCameraInfo, camera_id, jcamera_info);
+      android_hardware_camera.getCameraInfo, camera_id, jcamera_info);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.getCameraInfo: %s",
         err->message);
@@ -2257,7 +2258,7 @@
   gint num_cameras;
 
   gst_amc_jni_call_static_int_method (env, &err, android_hardware_camera.klass,
-    android_hardware_camera.getNumberOfCameras, &num_cameras);
+      android_hardware_camera.getNumberOfCameras, &num_cameras);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.getNumberOfCameras: %s",
         err->message);
@@ -2277,7 +2278,7 @@
   GstAHCParameters *params = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera.getParameters, &object);
+      android_hardware_camera.getParameters, &object);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.getParameters: %s",
         err->message);
@@ -2311,7 +2312,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.lock);
+      android_hardware_camera.lock);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.lock: %s", err->message);
     g_clear_error (&err);
@@ -2330,11 +2331,10 @@
   GstAHCamera *camera = NULL;
 
   gst_amc_jni_call_static_object_method (env, &err,
-    android_hardware_camera.klass, android_hardware_camera.open, &object,
-    camera_id);
+      android_hardware_camera.klass, android_hardware_camera.open, &object,
+      camera_id);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.open: %s",
-        err->message);
+    GST_ERROR ("Failed to call android.hardware.Camera.open: %s", err->message);
     g_clear_error (&err);
     goto done;
   }
@@ -2362,7 +2362,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.reconnect);
+      android_hardware_camera.reconnect);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.reconnect: %s",
         err->message);
@@ -2380,7 +2380,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.release);
+      android_hardware_camera.release);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.release: %s",
         err->message);
@@ -2405,7 +2405,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.setParameters, params->object);
+      android_hardware_camera.setParameters, params->object);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.setParameters: %s",
         err->message);
@@ -2433,14 +2433,15 @@
         org_freedesktop_gstreamer_androidmedia_gstahccallback.constructor,
         *((jlong *) & cb), *((jlong *) & user_data));
     if (err) {
-      GST_ERROR ("Failed to create org.freedesktop.gstreamer.androidmedia.GstAhcCallback object");
+      GST_ERROR
+          ("Failed to create org.freedesktop.gstreamer.androidmedia.GstAhcCallback object");
       g_clear_error (&err);
       goto done;
     }
   }
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.setErrorCallback, object);
+      android_hardware_camera.setErrorCallback, object);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.setErrorCallback: %s",
         err->message);
@@ -2474,16 +2475,18 @@
         org_freedesktop_gstreamer_androidmedia_gstahccallback.constructor,
         *((jlong *) & cb), *((jlong *) & user_data));
     if (err) {
-      GST_ERROR ("Failed to create org.freedesktop.gstreamer.androidmedia.GstAhcCallback object");
+      GST_ERROR
+          ("Failed to create org.freedesktop.gstreamer.androidmedia.GstAhcCallback object");
       g_clear_error (&err);
       goto done;
     }
   }
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.setPreviewCallbackWithBuffer, object);
+      android_hardware_camera.setPreviewCallbackWithBuffer, object);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.setPreviewCallbackWithBuffer: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.setPreviewCallbackWithBuffer: %s",
         err->message);
     goto done;
   }
@@ -2506,7 +2509,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.setPreviewTexture, surfaceTexture->jobject);
+      android_hardware_camera.setPreviewTexture, surfaceTexture->jobject);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.setPreviewTexture: %s",
         err->message);
@@ -2521,7 +2524,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.startPreview);
+      android_hardware_camera.startPreview);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.startPreview: %s",
         err->message);
@@ -2539,7 +2542,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.startSmoothZoom, value);
+      android_hardware_camera.startSmoothZoom, value);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.startSmoothZoom: %s",
         err->message);
@@ -2557,7 +2560,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.stopPreview);
+      android_hardware_camera.stopPreview);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.stopPreview: %s",
         err->message);
@@ -2575,7 +2578,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.stopSmoothZoom);
+      android_hardware_camera.stopSmoothZoom);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.stopSmoothZoom: %s",
         err->message);
@@ -2593,7 +2596,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera.unlock);
+      android_hardware_camera.unlock);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.unlock: %s",
         err->message);
@@ -3034,7 +3037,7 @@
   gchar *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.flatten, &v_str);
+      android_hardware_camera_parameters.flatten, &v_str);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.Parameters.flatten: %s",
         err->message);
@@ -3069,9 +3072,10 @@
   jstring antibanding;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getAntibanding, &antibanding);
+      android_hardware_camera_parameters.getAntibanding, &antibanding);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getAntibanding: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getAntibanding: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3094,9 +3098,10 @@
   jstring color_effect;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getColorEffect, &color_effect);
+      android_hardware_camera_parameters.getColorEffect, &color_effect);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getColorEffect: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getColorEffect: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3118,9 +3123,10 @@
   gint ev;
 
   gst_amc_jni_call_int_method (env, &err, self->object,
-    android_hardware_camera_parameters.getExposureCompensation, &ev);
+      android_hardware_camera_parameters.getExposureCompensation, &ev);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getExposureCompensation: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getExposureCompensation: %s",
         err->message);
     g_clear_error (&err);
     return -1;
@@ -3137,9 +3143,10 @@
   gfloat step;
 
   gst_amc_jni_call_float_method (env, &err, self->object,
-    android_hardware_camera_parameters.getExposureCompensationStep, &step);
+      android_hardware_camera_parameters.getExposureCompensationStep, &step);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getExposureCompensationStep: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getExposureCompensationStep: %s",
         err->message);
     g_clear_error (&err);
     return 0.0;
@@ -3157,9 +3164,10 @@
   jstring flash_mode;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getFlashMode, &flash_mode);
+      android_hardware_camera_parameters.getFlashMode, &flash_mode);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getFlashMode: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getFlashMode: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3181,9 +3189,10 @@
   gfloat length;
 
   gst_amc_jni_call_float_method (env, &err, self->object,
-    android_hardware_camera_parameters.getFocalLength, &length);
+      android_hardware_camera_parameters.getFocalLength, &length);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getFocalLength: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getFocalLength: %s",
         err->message);
     g_clear_error (&err);
     return 0.0;
@@ -3201,9 +3210,10 @@
   jstring focus_mode;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getFocusMode, &focus_mode);
+      android_hardware_camera_parameters.getFocusMode, &focus_mode);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getFocusMode: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getFocusMode: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3225,9 +3235,10 @@
   gfloat angle;
 
   gst_amc_jni_call_float_method (env, &err, self->object,
-    android_hardware_camera_parameters.getHorizontalViewAngle, &angle);
+      android_hardware_camera_parameters.getHorizontalViewAngle, &angle);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getHorizontalViewAngle: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getHorizontalViewAngle: %s",
         err->message);
     g_clear_error (&err);
     return 0.0;
@@ -3244,9 +3255,10 @@
   gint max;
 
   gst_amc_jni_call_int_method (env, &err, self->object,
-    android_hardware_camera_parameters.getMaxExposureCompensation, &max);
+      android_hardware_camera_parameters.getMaxExposureCompensation, &max);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getMaxExposureCompensation: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getMaxExposureCompensation: %s",
         err->message);
     g_clear_error (&err);
     return 0;
@@ -3263,9 +3275,10 @@
   gint max;
 
   gst_amc_jni_call_int_method (env, &err, self->object,
-    android_hardware_camera_parameters.getMaxZoom, &max);
+      android_hardware_camera_parameters.getMaxZoom, &max);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getMaxZoom: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getMaxZoom: %s",
         err->message);
     g_clear_error (&err);
     return -1;
@@ -3282,9 +3295,10 @@
   gint min;
 
   gst_amc_jni_call_int_method (env, &err, self->object,
-    android_hardware_camera_parameters.getMinExposureCompensation, &min);
+      android_hardware_camera_parameters.getMinExposureCompensation, &min);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getMinExposureCompensation: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getMinExposureCompensation: %s",
         err->message);
     g_clear_error (&err);
     return 0;
@@ -3301,9 +3315,10 @@
   gint format;
 
   gst_amc_jni_call_int_method (env, &err, self->object,
-    android_hardware_camera_parameters.getPreviewFormat, &format);
+      android_hardware_camera_parameters.getPreviewFormat, &format);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getPreviewFormat: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getPreviewFormat: %s",
         err->message);
     g_clear_error (&err);
     return 0;
@@ -3330,9 +3345,10 @@
   }
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.getPreviewFpsRange, range);
+      android_hardware_camera_parameters.getPreviewFpsRange, range);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getPreviewFpsRange: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getPreviewFpsRange: %s",
         err->message);
     goto done;
   }
@@ -3369,9 +3385,10 @@
   GstAHCSize *size = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getPreviewSize, &jsize);
+      android_hardware_camera_parameters.getPreviewSize, &jsize);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getPreviewSize: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getPreviewSize: %s",
         err->message);
     goto done;
   }
@@ -3415,9 +3432,10 @@
   jstring scene_mode;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getSceneMode, &scene_mode);
+      android_hardware_camera_parameters.getSceneMode, &scene_mode);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSceneMode: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getSceneMode: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3440,9 +3458,10 @@
   GList *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getSupportedAntibanding, &list);
+      android_hardware_camera_parameters.getSupportedAntibanding, &list);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedAntibanding: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getSupportedAntibanding: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3486,9 +3505,10 @@
   GList *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getSupportedColorEffects, &list);
+      android_hardware_camera_parameters.getSupportedColorEffects, &list);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedColorEffects: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getSupportedColorEffects: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3532,9 +3552,10 @@
   GList *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getSupportedFlashModes, &list);
+      android_hardware_camera_parameters.getSupportedFlashModes, &list);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedFlashModes: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getSupportedFlashModes: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3578,9 +3599,10 @@
   GList *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getSupportedFocusModes, &list);
+      android_hardware_camera_parameters.getSupportedFocusModes, &list);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedFocusModes: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getSupportedFocusModes: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3624,9 +3646,10 @@
   GList *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getSupportedPreviewFormats, &list);
+      android_hardware_camera_parameters.getSupportedPreviewFormats, &list);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedPreviewFormats: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getSupportedPreviewFormats: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3670,9 +3693,10 @@
   GList *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getSupportedPreviewFpsRange, &list);
+      android_hardware_camera_parameters.getSupportedPreviewFpsRange, &list);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedPreviewFpsRange: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getSupportedPreviewFpsRange: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3718,9 +3742,10 @@
   GList *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getSupportedPreviewSizes, &list);
+      android_hardware_camera_parameters.getSupportedPreviewSizes, &list);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedPreviewSizes: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getSupportedPreviewSizes: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3770,9 +3795,10 @@
   GList *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getSupportedSceneModes, &list);
+      android_hardware_camera_parameters.getSupportedSceneModes, &list);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedSceneModes: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getSupportedSceneModes: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3816,9 +3842,10 @@
   GList *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getSupportedWhiteBalance, &list);
+      android_hardware_camera_parameters.getSupportedWhiteBalance, &list);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getSupportedWhiteBalance: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getSupportedWhiteBalance: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3861,9 +3888,10 @@
   gfloat angle;
 
   gst_amc_jni_call_float_method (env, &err, self->object,
-    android_hardware_camera_parameters.getVerticalViewAngle, &angle);
+      android_hardware_camera_parameters.getVerticalViewAngle, &angle);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getVerticalViewAngle: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getVerticalViewAngle: %s",
         err->message);
     g_clear_error (&err);
     return 0.0;
@@ -3880,9 +3908,10 @@
   gboolean ret;
 
   gst_amc_jni_call_boolean_method (env, &err, self->object,
-    android_hardware_camera_parameters.getVideoStabilization, &ret);
+      android_hardware_camera_parameters.getVideoStabilization, &ret);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getVideoStabilization: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getVideoStabilization: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -3900,9 +3929,10 @@
   jstring white_balance;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getWhiteBalance, &white_balance);
+      android_hardware_camera_parameters.getWhiteBalance, &white_balance);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getWhiteBalance: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getWhiteBalance: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3924,7 +3954,7 @@
   gint zoom;
 
   gst_amc_jni_call_int_method (env, &err, self->object,
-    android_hardware_camera_parameters.getZoom, &zoom);
+      android_hardware_camera_parameters.getZoom, &zoom);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getZoom: %s",
         err->message);
@@ -3944,9 +3974,10 @@
   GList *ret = NULL;
 
   gst_amc_jni_call_object_method (env, &err, self->object,
-    android_hardware_camera_parameters.getZoomRatios, &list);
+      android_hardware_camera_parameters.getZoomRatios, &list);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.getZoomRatios: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.getZoomRatios: %s",
         err->message);
     g_clear_error (&err);
     return NULL;
@@ -3989,9 +4020,10 @@
   gboolean supported;
 
   gst_amc_jni_call_boolean_method (env, &err, self->object,
-    android_hardware_camera_parameters.isSmoothZoomSupported, &supported);
+      android_hardware_camera_parameters.isSmoothZoomSupported, &supported);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.isSmoothZoomSupported: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.isSmoothZoomSupported: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4008,10 +4040,11 @@
   gboolean supported;
 
   gst_amc_jni_call_boolean_method (env, &err, self->object,
-    android_hardware_camera_parameters.isVideoStabilizationSupported,
-    &supported);
+      android_hardware_camera_parameters.isVideoStabilizationSupported,
+      &supported);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.isVideoStabilizationSupported: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.isVideoStabilizationSupported: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4028,9 +4061,10 @@
   gboolean supported;
 
   gst_amc_jni_call_boolean_method (env, &err, self->object,
-    android_hardware_camera_parameters.isZoomSupported, &supported);
+      android_hardware_camera_parameters.isZoomSupported, &supported);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.isZoomSupported: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.isZoomSupported: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4052,9 +4086,10 @@
     return FALSE;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setAntibanding, antibanding);
+      android_hardware_camera_parameters.setAntibanding, antibanding);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setAntibanding: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setAntibanding: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4076,9 +4111,10 @@
     return FALSE;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setColorEffect, color_effect);
+      android_hardware_camera_parameters.setColorEffect, color_effect);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setColorEffect: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setColorEffect: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4095,9 +4131,10 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setExposureCompensation, value);
+      android_hardware_camera_parameters.setExposureCompensation, value);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setExposureCompensation: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setExposureCompensation: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4118,9 +4155,10 @@
     return FALSE;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setFlashMode, flash_mode);
+      android_hardware_camera_parameters.setFlashMode, flash_mode);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setFlashMode: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setFlashMode: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4141,9 +4179,10 @@
     return FALSE;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setFocusMode, focus_mode);
+      android_hardware_camera_parameters.setFocusMode, focus_mode);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setFocusMode: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setFocusMode: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4159,9 +4198,10 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setPreviewFormat, format);
+      android_hardware_camera_parameters.setPreviewFormat, format);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setPreviewFormat: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setPreviewFormat: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4178,9 +4218,10 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setPreviewFpsRange, min, max);
+      android_hardware_camera_parameters.setPreviewFpsRange, min, max);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setPreviewFpsRange: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setPreviewFpsRange: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4197,9 +4238,10 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setPreviewSize, width, height);
+      android_hardware_camera_parameters.setPreviewSize, width, height);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setPreviewSize: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setPreviewSize: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4220,9 +4262,10 @@
     return FALSE;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setSceneMode, scene_mode);
+      android_hardware_camera_parameters.setSceneMode, scene_mode);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setSceneMode: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setSceneMode: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4240,9 +4283,10 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setVideoStabilization, toggle);
+      android_hardware_camera_parameters.setVideoStabilization, toggle);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setVideoStabilization: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setVideoStabilization: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4264,9 +4308,10 @@
     return FALSE;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setWhiteBalance, white_balance);
+      android_hardware_camera_parameters.setWhiteBalance, white_balance);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setWhiteBalance: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.setWhiteBalance: %s",
         err->message);
     g_clear_error (&err);
     return FALSE;
@@ -4282,7 +4327,7 @@
   GError *err = NULL;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.setZoom, value);
+      android_hardware_camera_parameters.setZoom, value);
   if (err) {
     GST_ERROR ("Failed to call android.hardware.Camera.Parameters.setZoom: %s",
         err->message);
@@ -4306,9 +4351,10 @@
     return FALSE;
 
   gst_amc_jni_call_void_method (env, &err, self->object,
-    android_hardware_camera_parameters.unflatten, v_str);
+      android_hardware_camera_parameters.unflatten, v_str);
   if (err) {
-    GST_ERROR ("Failed to call android.hardware.Camera.Parameters.unflatten: %s",
+    GST_ERROR
+        ("Failed to call android.hardware.Camera.Parameters.unflatten: %s",
         err->message);
     g_clear_error (&err);
     ret = FALSE;
diff --git a/sys/androidmedia/gst-android-hardware-sensor.c b/sys/androidmedia/gst-android-hardware-sensor.c
new file mode 100644
index 0000000..862e9fb
--- /dev/null
+++ b/sys/androidmedia/gst-android-hardware-sensor.c
@@ -0,0 +1,834 @@
+/*
+ * Copyright (C) 2016 SurroundIO
+ *   Author: Martin Kelly <martin@surround.io>
+ *
+ * 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.
+ *
+ * The UNION_CAST macro is copyright:
+ * Copyright (C) 2008-2016 Matt Gallagher ( http://cocoawithlove.com ).
+ * All rights reserved.
+ * Permission to use, copy, modify, and/or distribute this software for any purpose
+ * with or without fee is hereby granted, provided that the above copyright notice
+ * and this permission notice appear in all copies.
+
+ * THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
+ * OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
+ * THIS SOFTWARE.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib.h>
+#include <gmodule.h>
+
+#include "gstjniutils.h"
+#include "gst-android-hardware-sensor.h"
+
+static jobject (*gst_android_get_application_context) (void) = NULL;
+
+GST_DEBUG_CATEGORY_STATIC (ahs_debug);
+#define GST_CAT_DEFAULT ahs_debug
+
+/*
+ * See:
+ * http://www.cocoawithlove.com/2008/04/using-pointers-to-recast-in-c-is-bad.html
+ * for details.
+ */
+#define UNION_CAST(x, destType) \
+	(((union {__typeof__(x) a; destType b;})x).b)
+
+static struct
+{
+  jclass klass;
+  jstring SENSOR_SERVICE;
+  jmethodID getSystemService;
+} android_content_context = {
+0};
+
+static struct
+{
+  jclass klass;
+  jfieldID accuracy;
+  jfieldID values;
+} android_hardware_sensor_event = {
+0};
+
+static struct
+{
+  jclass klass;
+  jmethodID getDefaultSensor;;
+  jmethodID registerListener;
+  jmethodID unregisterListener;
+} android_hardware_sensor_manager = {
+0};
+
+static struct
+{
+  jclass klass;
+  jmethodID constructor;
+} org_freedesktop_gstreamer_androidmedia_gstahscallback = {
+0};
+
+GHashTable *sensor_sizes = NULL;
+static void
+gst_ah_sensor_sensor_sizes_init (void)
+{
+  gint i;
+  static struct
+  {
+    gint type;
+    gsize size;
+  } types[] = {
+    {
+    AHS_SENSOR_TYPE_ACCELEROMETER, sizeof (GstAHSAccelerometerValues)}
+    , {
+    AHS_SENSOR_TYPE_AMBIENT_TEMPERATURE,
+          sizeof (GstAHSAmbientTemperatureValues)}
+    , {
+    AHS_SENSOR_TYPE_GAME_ROTATION_VECTOR,
+          sizeof (GstAHSGameRotationVectorValues)}
+    , {
+    AHS_SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR,
+          sizeof (GstAHSGeomagneticRotationVectorValues)}
+    , {
+    AHS_SENSOR_TYPE_GRAVITY, sizeof (GstAHSGravityValues)}
+    , {
+    AHS_SENSOR_TYPE_GYROSCOPE, sizeof (GstAHSGyroscopeValues)}
+    , {
+    AHS_SENSOR_TYPE_GYROSCOPE_UNCALIBRATED,
+          sizeof (GstAHSGyroscopeUncalibratedValues)}
+    , {
+    AHS_SENSOR_TYPE_HEART_RATE, sizeof (GstAHSHeartRateValues)}
+    , {
+    AHS_SENSOR_TYPE_LIGHT, sizeof (GstAHSLightValues)}
+    , {
+    AHS_SENSOR_TYPE_LINEAR_ACCELERATION,
+          sizeof (GstAHSLinearAccelerationValues)}
+    , {
+    AHS_SENSOR_TYPE_MAGNETIC_FIELD, sizeof (GstAHSMagneticFieldValues)}
+    , {
+    AHS_SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED,
+          sizeof (GstAHSMagneticFieldUncalibratedValues)}
+    , {
+    AHS_SENSOR_TYPE_ORIENTATION, sizeof (GstAHSOrientationValues)}
+    , {
+    AHS_SENSOR_TYPE_PRESSURE, sizeof (GstAHSPressureValues)}
+    , {
+    AHS_SENSOR_TYPE_PROXIMITY, sizeof (GstAHSProximityValues)}
+    , {
+    AHS_SENSOR_TYPE_RELATIVE_HUMIDITY, sizeof (GstAHSRelativeHumidityValues)}
+    , {
+    AHS_SENSOR_TYPE_ROTATION_VECTOR, sizeof (GstAHSRotationVectorValues)}
+    , {
+    AHS_SENSOR_TYPE_STEP_COUNTER, sizeof (GstAHSStepCounterValues)}
+    , {
+    AHS_SENSOR_TYPE_STEP_DETECTOR, sizeof (GstAHSStepDetectorValues)}
+  ,};
+
+  g_assert_null (sensor_sizes);
+
+  sensor_sizes = g_hash_table_new (g_int_hash, g_int_equal);
+  for (i = 0; i < G_N_ELEMENTS (types); i++)
+    g_hash_table_insert (sensor_sizes, &types[i].type, &types[i].size);
+}
+
+static void
+gst_ah_sensor_sensor_sizes_deinit (void)
+{
+  g_assert_nonnull (sensor_sizes);
+
+  g_hash_table_unref (sensor_sizes);
+  sensor_sizes = NULL;
+}
+
+gsize
+gst_ah_sensor_get_sensor_data_size (gint sensor_type)
+{
+  return *((gsize *) g_hash_table_lookup (sensor_sizes, &sensor_type));
+}
+
+static void
+gst_ah_sensor_on_sensor_changed (JNIEnv * env, jclass klass,
+    jobject sensor_event, jlong callback, jlong user_data)
+{
+  GstAHSensorCallback cb = (GstAHSensorCallback) (gsize) callback;
+
+  if (cb)
+    cb (sensor_event, (gpointer) (gsize) user_data);
+}
+
+static void
+gst_ah_sensor_on_accuracy_changed (JNIEnv * env, jclass klass,
+    jobject sensor, jint accuracy, jlong callback, jlong user_data)
+{
+  GstAHSAccuracyCallback cb = (GstAHSAccuracyCallback) (gsize) callback;
+
+  if (cb)
+    cb (sensor, accuracy, (gpointer) (gsize) user_data);
+}
+
+static gboolean natives_registered = FALSE;
+
+static JNINativeMethod native_methods[] = {
+  {(gchar *) "gst_ah_sensor_on_sensor_changed",
+        (gchar *) "(Landroid/hardware/SensorEvent;JJ)V",
+      (void *) gst_ah_sensor_on_sensor_changed},
+  {(gchar *) "gst_ah_sensor_on_accuracy_changed",
+        (gchar *) "(Landroid/hardware/Sensor;IJJ)V",
+      (void *) gst_ah_sensor_on_accuracy_changed}
+};
+
+static gboolean
+_init_classes (void)
+{
+  gint32 delay;
+  JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
+  jclass klass;
+  jfieldID fieldID;
+  GModule *module;
+  gboolean success;
+  gint32 type;
+
+  /*
+   * Lookup the Android function to get an Android context. This function will
+   * be provided when the plugin is built via ndk-build.
+   */
+  module = g_module_open (NULL, G_MODULE_BIND_LOCAL);
+  if (!module)
+    goto failed;
+  success = g_module_symbol (module, "gst_android_get_application_context",
+      (gpointer *) & gst_android_get_application_context);
+  if (!success || !gst_android_get_application_context)
+    goto failed;
+  g_module_close (module);
+
+  /* android.content.Context */
+  klass = android_content_context.klass = gst_amc_jni_get_class (env, &err,
+      "android/content/Context");
+  if (!klass)
+    goto failed;
+  android_content_context.getSystemService =
+      gst_amc_jni_get_method_id (env, &err, klass, "getSystemService",
+      "(Ljava/lang/String;)Ljava/lang/Object;");
+  if (!android_content_context.getSystemService)
+    goto failed;
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "SENSOR_SERVICE",
+      "Ljava/lang/String;");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_object_field (env, &err, klass, fieldID,
+          &android_content_context.SENSOR_SERVICE))
+    goto failed;
+  android_content_context.SENSOR_SERVICE =
+      gst_amc_jni_object_make_global (env,
+      android_content_context.SENSOR_SERVICE);
+  if (!android_content_context.SENSOR_SERVICE)
+    goto failed;
+
+  /* android.hardware.SensorEvent */
+  klass = android_hardware_sensor_event.klass =
+      gst_amc_jni_get_class (env, &err, "android/hardware/SensorEvent");
+  if (!klass)
+    goto failed;
+  android_hardware_sensor_event.accuracy =
+      gst_amc_jni_get_field_id (env, &err, klass, "accuracy", "I");
+  if (!android_hardware_sensor_event.accuracy)
+    goto failed;
+  android_hardware_sensor_event.values =
+      gst_amc_jni_get_field_id (env, &err, klass, "values", "[F");
+  if (!android_hardware_sensor_event.values)
+    goto failed;
+
+  /* android.hardware.SensorManager */
+  klass = android_hardware_sensor_manager.klass =
+      gst_amc_jni_get_class (env, &err, "android/hardware/SensorManager");
+  if (!klass)
+    goto failed;
+  android_hardware_sensor_manager.getDefaultSensor =
+      gst_amc_jni_get_method_id (env, &err, klass,
+      "getDefaultSensor", "(I)Landroid/hardware/Sensor;");
+  if (!android_hardware_sensor_manager.getDefaultSensor)
+    goto failed;
+  android_hardware_sensor_manager.registerListener =
+      gst_amc_jni_get_method_id (env, &err, klass,
+      "registerListener",
+      "(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z");
+  if (!android_hardware_sensor_manager.registerListener)
+    goto failed;
+  android_hardware_sensor_manager.unregisterListener =
+      gst_amc_jni_get_method_id (env, &err, klass,
+      "unregisterListener", "(Landroid/hardware/SensorEventListener;)V");
+  if (!android_hardware_sensor_manager.unregisterListener)
+    goto failed;
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "SENSOR_DELAY_FASTEST",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &delay))
+    goto failed;
+  if (delay != AHS_SENSOR_DELAY_FASTEST) {
+    GST_ERROR ("SENSOR_DELAY_FASTEST has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "SENSOR_DELAY_GAME",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &delay))
+    goto failed;
+  if (delay != AHS_SENSOR_DELAY_GAME) {
+    GST_ERROR ("SENSOR_DELAY_GAME has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "SENSOR_DELAY_NORMAL",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &delay))
+    goto failed;
+  if (delay != AHS_SENSOR_DELAY_NORMAL) {
+    GST_ERROR ("SENSOR_DELAY_NORMAL has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "SENSOR_DELAY_UI",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &delay))
+    goto failed;
+  if (delay != AHS_SENSOR_DELAY_UI) {
+    GST_ERROR ("SENSOR_DELAY_UI has changed value");
+    goto failed;
+  }
+
+  /* android.hardware.Sensor */
+  klass = gst_amc_jni_get_class (env, &err, "android/hardware/Sensor");
+  if (!klass)
+    goto failed;
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_ACCELEROMETER",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_ACCELEROMETER) {
+    GST_ERROR ("TYPE_ACCELEROMETER has changed value");
+    goto failed;
+  }
+
+  fieldID = gst_amc_jni_get_static_field_id (env, &err, klass,
+      "TYPE_AMBIENT_TEMPERATURE", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_AMBIENT_TEMPERATURE) {
+    GST_ERROR ("TYPE_AMBIENT_TEMPERATURE has changed value");
+    goto failed;
+  }
+
+  fieldID = gst_amc_jni_get_static_field_id (env, &err, klass,
+      "TYPE_GAME_ROTATION_VECTOR", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_GAME_ROTATION_VECTOR) {
+    GST_ERROR ("TYPE_GAME_ROTATION_VECTOR has changed value");
+    goto failed;
+  }
+
+  fieldID = gst_amc_jni_get_static_field_id (env, &err, klass,
+      "TYPE_GEOMAGNETIC_ROTATION_VECTOR", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR) {
+    GST_ERROR ("TYPE_GEOMAGNETIC_ROTATION_VECTOR has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_GRAVITY", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_GRAVITY) {
+    GST_ERROR ("TYPE_GRAVITY has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_GYROSCOPE", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_GYROSCOPE) {
+    GST_ERROR ("TYPE_GYROSCOPE has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass,
+      "TYPE_GYROSCOPE_UNCALIBRATED", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_GYROSCOPE_UNCALIBRATED) {
+    GST_ERROR ("TYPE_GYROSCOPE_UNCALIBRATED has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_HEART_RATE",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_HEART_RATE) {
+    GST_ERROR ("TYPE_HEART_RATE has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_LIGHT", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_LIGHT) {
+    GST_ERROR ("TYPE_LIGHT has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass,
+      "TYPE_LINEAR_ACCELERATION", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_LINEAR_ACCELERATION) {
+    GST_ERROR ("TYPE_LINEAR_ACCELERATION has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_MAGNETIC_FIELD",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_MAGNETIC_FIELD) {
+    GST_ERROR ("TYPE_MAGNETIC_FIELD has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass,
+      "TYPE_MAGNETIC_FIELD_UNCALIBRATED", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED) {
+    GST_ERROR ("TYPE_MAGNETIC_FIELD_UNCALIBRATED has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_ORIENTATION",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_ORIENTATION) {
+    GST_ERROR ("TYPE_ORIENTATION has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_PRESSURE", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_PRESSURE) {
+    GST_ERROR ("TYPE_PRESSURE has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_PROXIMITY", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_PROXIMITY) {
+    GST_ERROR ("TYPE_PROXIMITY has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass,
+      "TYPE_RELATIVE_HUMIDITY", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_RELATIVE_HUMIDITY) {
+    GST_ERROR ("TYPE_RELATIVE_HUMIDITY has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_ROTATION_VECTOR",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_ROTATION_VECTOR) {
+    GST_ERROR ("TYPE_ROTATION_VECTOR has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass,
+      "TYPE_SIGNIFICANT_MOTION", "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_SIGNIFICANT_MOTION) {
+    GST_ERROR ("TYPE_SIGNIFICANT_MOTION has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_STEP_COUNTER",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_STEP_COUNTER) {
+    GST_ERROR ("TYPE_STEP_COUNTER has changed value");
+    goto failed;
+  }
+
+  fieldID =
+      gst_amc_jni_get_static_field_id (env, &err, klass, "TYPE_STEP_DETECTOR",
+      "I");
+  if (!fieldID)
+    goto failed;
+  if (!gst_amc_jni_get_static_int_field (env, &err, klass, fieldID, &type))
+    goto failed;
+  if (type != AHS_SENSOR_TYPE_STEP_DETECTOR) {
+    GST_ERROR ("TYPE_STEP_DETECTOR has changed value");
+    goto failed;
+  }
+
+  /* org.freedesktop.gstreamer.androidmedia.GstAhsCallback */
+  if (!org_freedesktop_gstreamer_androidmedia_gstahscallback.klass) {
+    org_freedesktop_gstreamer_androidmedia_gstahscallback.klass =
+        gst_amc_jni_get_class (env, &err,
+        "org/freedesktop/gstreamer/androidmedia/GstAhsCallback");
+  }
+  if (!org_freedesktop_gstreamer_androidmedia_gstahscallback.klass)
+    goto failed;
+  org_freedesktop_gstreamer_androidmedia_gstahscallback.constructor =
+      gst_amc_jni_get_method_id (env, &err,
+      org_freedesktop_gstreamer_androidmedia_gstahscallback.klass, "<init>",
+      "(JJJ)V");
+  if (!org_freedesktop_gstreamer_androidmedia_gstahscallback.constructor)
+    goto failed;
+
+  if ((*env)->RegisterNatives (env,
+          org_freedesktop_gstreamer_androidmedia_gstahscallback.klass,
+          native_methods, G_N_ELEMENTS (native_methods))) {
+    GST_ERROR ("Failed to register native methods for GstAhsCallback");
+    goto failed;
+  }
+  natives_registered = TRUE;
+
+  return TRUE;
+
+failed:
+  if (err) {
+    GST_ERROR ("Failed to initialize Android classes: %s", err->message);
+    g_clear_error (&err);
+  }
+
+  return FALSE;
+}
+
+gboolean
+gst_android_hardware_sensor_init (void)
+{
+  GST_DEBUG_CATEGORY_INIT (ahs_debug, "ahs", 0,
+      "Android Gstreamer Hardware Sensor");
+  if (!_init_classes ()) {
+    gst_android_hardware_sensor_deinit ();
+    return FALSE;
+  }
+
+  gst_ah_sensor_sensor_sizes_init ();
+
+  return TRUE;
+}
+
+void
+gst_android_hardware_sensor_deinit (void)
+{
+  JNIEnv *env = gst_amc_jni_get_env ();
+
+  if (android_content_context.SENSOR_SERVICE) {
+    gst_amc_jni_object_unref (env, android_content_context.SENSOR_SERVICE);
+    android_content_context.SENSOR_SERVICE = NULL;
+  }
+
+  if (android_content_context.klass) {
+    gst_amc_jni_object_unref (env, android_content_context.klass);
+    android_content_context.klass = NULL;
+  }
+
+  if (android_hardware_sensor_event.klass) {
+    gst_amc_jni_object_unref (env, android_hardware_sensor_event.klass);
+    android_hardware_sensor_event.klass = NULL;
+  }
+
+  if (android_hardware_sensor_manager.klass) {
+    gst_amc_jni_object_unref (env, android_hardware_sensor_manager.klass);
+    android_hardware_sensor_manager.klass = NULL;
+  }
+
+  if (org_freedesktop_gstreamer_androidmedia_gstahscallback.klass) {
+    if (natives_registered) {
+      (*env)->UnregisterNatives (env,
+          org_freedesktop_gstreamer_androidmedia_gstahscallback.klass);
+      natives_registered = FALSE;
+    }
+    gst_amc_jni_object_unref (env,
+        org_freedesktop_gstreamer_androidmedia_gstahscallback.klass);
+    org_freedesktop_gstreamer_androidmedia_gstahscallback.klass = NULL;
+  }
+
+  gst_ah_sensor_sensor_sizes_deinit ();
+}
+
+GstAHSensorManager *
+gst_ah_sensor_get_manager (void)
+{
+  jobject context;
+  GError *err = NULL;
+  JNIEnv *env = gst_amc_jni_get_env ();
+  GstAHSensorManager *manager;
+  jobject object;
+  gboolean success;
+
+  context = gst_android_get_application_context ();
+  success = gst_amc_jni_call_object_method (env, &err, context,
+      android_content_context.getSystemService,
+      &object, android_content_context.SENSOR_SERVICE);
+  if (!success)
+    return NULL;
+
+  object = gst_amc_jni_object_make_global (env, object);
+  if (!object)
+    return NULL;
+
+  manager = g_slice_new (GstAHSensorManager);
+  manager->object = object;
+
+  return manager;
+}
+
+GstAHSensor *
+gst_ah_sensor_get_default_sensor (GstAHSensorManager * self, gint32 sensor_type)
+{
+  JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
+  jobject object;
+  GstAHSensor *sensor;
+
+  if (!gst_amc_jni_call_object_method (env, &err, self->object,
+          android_hardware_sensor_manager.getDefaultSensor,
+          &object, sensor_type))
+    return NULL;
+
+  object = gst_amc_jni_object_make_global (env, object);
+  if (!object)
+    return NULL;
+
+  sensor = g_slice_new (GstAHSensor);
+  sensor->object = object;
+
+  return sensor;
+}
+
+GstAHSensorEventListener *
+gst_ah_sensor_create_listener (GstAHSensorCallback sensor_cb,
+    GstAHSAccuracyCallback accuracy_cb, gpointer user_data)
+{
+  JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
+  GstAHSensorEventListener *listener;
+  jobject object;
+
+  object = gst_amc_jni_new_object (env,
+      &err,
+      TRUE,
+      org_freedesktop_gstreamer_androidmedia_gstahscallback.klass,
+      org_freedesktop_gstreamer_androidmedia_gstahscallback.constructor,
+      UNION_CAST (sensor_cb, jlong),
+      UNION_CAST (accuracy_cb, jlong), UNION_CAST (user_data, jlong));
+  if (err) {
+    GST_ERROR ("Failed to create listener callback class");
+    g_clear_error (&err);
+    return NULL;
+  }
+
+  listener = g_slice_new (GstAHSensorEventListener);
+  listener->object = object;
+
+  return listener;
+}
+
+gboolean
+gst_ah_sensor_register_listener (GstAHSensorManager * self,
+    GstAHSensorEventListener * listener, GstAHSensor * sensor, gint32 delay)
+{
+  JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
+  gboolean success;
+
+  gst_amc_jni_call_boolean_method (env, &err, self->object,
+      android_hardware_sensor_manager.registerListener, &success,
+      listener->object, sensor->object, (jint) delay);
+  if (err) {
+    GST_ERROR
+        ("Failed to call android.hardware.SensorManager.registerListener: %s",
+        err->message);
+    g_clear_error (&err);
+    return FALSE;
+  }
+  listener->registered = TRUE;
+
+  return TRUE;
+}
+
+void
+gst_ah_sensor_unregister_listener (GstAHSensorManager * self,
+    GstAHSensorEventListener * listener)
+{
+  JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
+
+  gst_amc_jni_call_void_method (env, &err, self->object,
+      android_hardware_sensor_manager.unregisterListener, listener->object);
+  if (err) {
+    GST_ERROR
+        ("Failed to call android.hardware.SensorManager.unregisterListener: %s",
+        err->message);
+    g_clear_error (&err);
+  }
+  listener->registered = FALSE;
+}
+
+gboolean
+gst_ah_sensor_populate_event (GstAHSensorEvent * event, jobject event_object,
+    gint size)
+{
+  JNIEnv *env = gst_amc_jni_get_env ();
+  GError *err = NULL;
+  jfloatArray object_array;
+  jfloat *values;
+
+  gst_amc_jni_get_int_field (env, &err,
+      event_object, android_hardware_sensor_event.accuracy, &event->accuracy);
+  if (err) {
+    GST_ERROR ("Failed to get sensor accuracy field: %s", err->message);
+    goto error;
+  }
+
+  gst_amc_jni_get_object_field (env, &err, event_object,
+      android_hardware_sensor_event.values, &object_array);
+  if (err) {
+    GST_ERROR ("Failed to get sensor values field: %s", err->message);
+    goto error;
+  }
+
+  values = (*env)->GetFloatArrayElements (env, object_array, NULL);
+  if (!values) {
+    GST_ERROR ("Failed to get float array elements from object array");
+    gst_amc_jni_object_local_unref (env, object_array);
+    return FALSE;
+  }
+  /* We can't use gst_amc_jni_object_make_global here because we need to call
+   * ReleaseFloatArrayElements before doing a local unref in the failure case,
+   * but gst_amc_jni_object_make_global would unref before we could Release.
+   */
+  event->data.array = gst_amc_jni_object_ref (env, object_array);
+  if (!event->data.array) {
+    (*env)->ReleaseFloatArrayElements (env, object_array, values, JNI_ABORT);
+    gst_amc_jni_object_local_unref (env, object_array);
+    return FALSE;
+  }
+  event->data.values = values;
+  gst_amc_jni_object_local_unref (env, object_array);
+
+  return TRUE;
+
+error:
+  g_clear_error (&err);
+  return FALSE;
+}
+
+void
+gst_ah_sensor_free_sensor_data (GstAHSensorData * data)
+{
+  JNIEnv *env = gst_amc_jni_get_env ();
+
+  (*env)->ReleaseFloatArrayElements (env, data->array, data->values, JNI_ABORT);
+  gst_amc_jni_object_unref (env, data->array);
+}
diff --git a/sys/androidmedia/gst-android-hardware-sensor.h b/sys/androidmedia/gst-android-hardware-sensor.h
new file mode 100644
index 0000000..2dc79dc
--- /dev/null
+++ b/sys/androidmedia/gst-android-hardware-sensor.h
@@ -0,0 +1,156 @@
+/*
+ * Copyright (C) 2016 SurroundIO
+ *   Author: Martin Kelly <martin@surround.io>
+ *
+ * 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_ANDROID_HARDWARE_SENSOR_H__
+#define __GST_ANDROID_HARDWARE_SENSOR_H__
+
+#include <gst/gst.h>
+#include <jni.h>
+
+#include "gstsensors.h"
+
+G_BEGIN_DECLS
+
+typedef struct GstAHSensor
+{
+  /* < private > */
+  jobject object;
+} GstAHSensor;
+
+typedef struct GstAHSensorData
+{
+  jfloatArray array;
+  gfloat *values;
+} GstAHSensorData;
+
+typedef struct GstAHSensorEvent
+{
+  /*
+   * Note that we don't use the Android event timestamp, as it's not reliable.
+   * See https://code.google.com/p/android/issues/detail?id=7981 for more
+   * details.
+   */
+  gint32 accuracy;
+  GstAHSensorData data;
+} GstAHSensorEvent;
+
+typedef struct GstAHSensorEventListener
+{
+  /* < private > */
+  jobject object;
+
+  gboolean registered;
+} GstAHSensorEventListener;
+
+typedef struct GstAHSensorManager
+{
+  /* < private > */
+  jobject object;
+} GstAHSensorManager;
+
+gint gst_android_sensor_type_from_string (const gchar * type_str);
+
+/* android.hardware.SensorListener onSensorChanged */
+typedef void (*GstAHSensorCallback) (jobject sensor_event, gpointer user_data);
+
+/* android.hardware.SensorListener onAccuracyChanged */
+typedef void (*GstAHSAccuracyCallback) (jobject sensor, gint32 accuracy,
+    gpointer user_data);
+
+gboolean gst_android_hardware_sensor_init (void);
+void gst_android_hardware_sensor_deinit (void);
+
+/*
+ * Example usage (excluding error checking):
+ *
+ * GstAHSensorManager *manager = gst_ah_sensor_get_manager ();
+ * GstAHSensor *sensor =
+ *     gst_ah_sensor_get_default_sensor (manager, * sensor_type);
+ * GstAHSensorEventListener *listener =
+ *     gst_ah_sensor_create_listener * (change_cb, accuracy_cb, self);
+ * gst_ah_sensor_register_listener (manager, listener, sensor,
+ *     SensorDelay_SENSOR_DELAY_NORMAL);
+ */
+GstAHSensorManager *gst_ah_sensor_get_manager (void);
+GstAHSensor *gst_ah_sensor_get_default_sensor (GstAHSensorManager * manager,
+    gint32 sensor_type);
+GstAHSensorEventListener *gst_ah_sensor_create_listener (GstAHSensorCallback
+    sensor_cb, GstAHSAccuracyCallback accuracy_cb, gpointer user_data);
+gboolean gst_ah_sensor_register_listener (GstAHSensorManager * self,
+    GstAHSensorEventListener * listener, GstAHSensor * sensor, gint32 delay);
+void gst_ah_sensor_unregister_listener (GstAHSensorManager * self,
+    GstAHSensorEventListener * listener);
+
+gboolean gst_ah_sensor_populate_event (GstAHSensorEvent * event,
+    jobject event_object, gint size);
+void gst_ah_sensor_free_sensor_data (GstAHSensorData * data);
+
+/*
+ * These constants come from the matching SENSOR_DELAY_* TYPE_* constants found
+ * in the Android documentation:
+ *
+ * SENSOR_DELAY_*:
+ * https://developer.android.com/reference/android/hardware/SensorManager.html
+ *
+ * TYPE_*:
+ * https://developer.android.com/reference/android/hardware/Sensor.html
+ *
+ * They are intended to be passed into the registerListener callback for
+ * listener registration. Note that, although these are hardcoded, we also do
+ * paranoid runtime checks during plugin init to verify that the API values
+ * haven't changed. This is unlikely but seems like a good precaution. When
+ * adding values, please keep the two lists in sync.
+ */
+enum
+{
+  AHS_SENSOR_DELAY_FASTEST = 0,
+  AHS_SENSOR_DELAY_GAME = 1,
+  AHS_SENSOR_DELAY_NORMAL = 3,
+  AHS_SENSOR_DELAY_UI = 2
+};
+
+enum
+{
+  AHS_SENSOR_TYPE_ACCELEROMETER = 0x1,
+  AHS_SENSOR_TYPE_AMBIENT_TEMPERATURE = 0xd,
+  AHS_SENSOR_TYPE_GAME_ROTATION_VECTOR = 0xf,
+  AHS_SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR = 0x14,
+  AHS_SENSOR_TYPE_GRAVITY = 0x9,
+  AHS_SENSOR_TYPE_GYROSCOPE = 0x4,
+  AHS_SENSOR_TYPE_GYROSCOPE_UNCALIBRATED = 0x10,
+  AHS_SENSOR_TYPE_HEART_RATE = 0x15,
+  AHS_SENSOR_TYPE_LIGHT = 0x5,
+  AHS_SENSOR_TYPE_LINEAR_ACCELERATION = 0xa,
+  AHS_SENSOR_TYPE_MAGNETIC_FIELD = 0x2,
+  AHS_SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED = 0xe,
+  AHS_SENSOR_TYPE_ORIENTATION = 0x3,
+  AHS_SENSOR_TYPE_PRESSURE = 0x6,
+  AHS_SENSOR_TYPE_PROXIMITY = 0x8,
+  AHS_SENSOR_TYPE_RELATIVE_HUMIDITY = 0xc,
+  AHS_SENSOR_TYPE_ROTATION_VECTOR = 0xb,
+  AHS_SENSOR_TYPE_SIGNIFICANT_MOTION = 0x11,
+  AHS_SENSOR_TYPE_STEP_COUNTER = 0x13,
+  AHS_SENSOR_TYPE_STEP_DETECTOR = 0x12
+};
+
+gsize gst_ah_sensor_get_sensor_data_size (gint sensor_type);
+
+G_END_DECLS
+#endif /* __GST_ANDROID_HARDWARE_SENSOR_H__ */
diff --git a/sys/androidmedia/gstahssrc.c b/sys/androidmedia/gstahssrc.c
new file mode 100644
index 0000000..88f8282
--- /dev/null
+++ b/sys/androidmedia/gstahssrc.c
@@ -0,0 +1,687 @@
+/* GStreamer android.hardware.Sensor Source
+ * Copyright (C) 2016 SurroundIO
+ *   Author: Martin Kelly <martin@surround.io>
+ *
+ * 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-gstahssrc
+ *
+ * The ahssrc element reads data from Android device sensors
+ * (android.hardware.Sensor).
+ *
+ * <refsect2>
+ * <title>Example launch line</title>
+ * |[
+ * gst-launch -v ahssrc ! fakesink
+ * ]|
+ * Push Android sensor data into a fakesink.
+ * </refsect2>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <string.h>
+
+#include <gst/gst.h>
+#include <gst/gstclock.h>
+#include <gst/base/gstbasesrc.h>
+#include <gst/base/gstpushsrc.h>
+#include "gstjniutils.h"
+#include "gst-android-hardware-sensor.h"
+#include "gstahssrc.h"
+#include "gstsensors.h"
+
+GST_DEBUG_CATEGORY_STATIC (gst_ahs_src_debug);
+#define GST_CAT_DEFAULT gst_ahs_src_debug
+
+#define parent_class gst_ahs_src_parent_class
+
+/* GObject */
+static void gst_ahs_src_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec);
+static void gst_ahs_src_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec);
+static void gst_ahs_src_dispose (GObject * object);
+
+/* GstBaseSrc */
+static gboolean gst_ahs_src_set_caps (GstBaseSrc * src, GstCaps * caps);
+static gboolean gst_ahs_src_start (GstBaseSrc * src);
+static gboolean gst_ahs_src_stop (GstBaseSrc * src);
+static gboolean gst_ahs_src_get_size (GstBaseSrc * src, guint64 * size);
+static gboolean gst_ahs_src_is_seekable (GstBaseSrc * src);
+static gboolean gst_ahs_src_unlock (GstBaseSrc * src);
+static gboolean gst_ahs_src_unlock_stop (GstBaseSrc * src);
+
+/* GstPushSrc */
+static GstFlowReturn gst_ahs_src_create (GstPushSrc * src, GstBuffer ** buf);
+
+/* GstAHSSrc */
+static void gst_ahs_src_on_sensor_changed (jobject sensor_event,
+    gpointer user_data);
+static void gst_ahs_src_on_accuracy_changed (jobject sensor, gint accuracy,
+    gpointer user_data);
+static gboolean gst_ahs_src_register_callback (GstAHSSrc * self);
+
+enum
+{
+  PROP_0,
+  PROP_SENSOR_DELAY,
+  PROP_ALPHA,
+  PROP_SAMPLE_INTERVAL,
+  PROP_LAST
+};
+
+static GParamSpec *properties[PROP_LAST];
+
+#define GST_AHS_SRC_CAPS_STR GST_SENSOR_CAPS_MAKE (GST_SENSOR_FORMATS_ALL)
+
+static GstStaticPadTemplate gst_ahs_src_template =
+GST_STATIC_PAD_TEMPLATE ("src",
+    GST_PAD_SRC,
+    GST_PAD_ALWAYS,
+    GST_STATIC_CAPS (GST_AHS_SRC_CAPS_STR));
+
+
+G_DEFINE_TYPE_WITH_CODE (GstAHSSrc, gst_ahs_src, GST_TYPE_PUSH_SRC,
+    GST_DEBUG_CATEGORY_INIT (gst_ahs_src_debug, "ahssrc", 0,
+        "Android hardware sensors"));
+
+#define GST_TYPE_AHS_SENSOR_DELAY (gst_ahs_src_get_sensor_delay ())
+static GType
+gst_ahs_src_get_sensor_delay (void)
+{
+  static GType ahs_src_sensor_delay = 0;
+
+  if (!ahs_src_sensor_delay) {
+    static GEnumValue sensor_delay[5];
+    sensor_delay[0].value = AHS_SENSOR_DELAY_FASTEST;
+    sensor_delay[0].value_name = "fastest";
+    sensor_delay[0].value_nick = "fastest";
+    sensor_delay[1].value = AHS_SENSOR_DELAY_GAME;
+    sensor_delay[1].value_name = "game";
+    sensor_delay[1].value_nick = "game";
+    sensor_delay[2].value = AHS_SENSOR_DELAY_NORMAL;
+    sensor_delay[2].value_name = "normal";
+    sensor_delay[2].value_nick = "normal";
+    sensor_delay[3].value = AHS_SENSOR_DELAY_UI;
+    sensor_delay[3].value_name = "ui";
+    sensor_delay[3].value_nick = "ui";
+    sensor_delay[4].value = 0;
+    sensor_delay[4].value_name = NULL;
+    sensor_delay[4].value_nick = NULL;
+
+    ahs_src_sensor_delay =
+        g_enum_register_static ("GstAhsSrcSensorDelay", sensor_delay);
+  }
+
+  return ahs_src_sensor_delay;
+}
+
+#define GST_TYPE_AHS_SENSOR_TYPE (gst_ahs_src_get_sensor_type ())
+static GType
+gst_ahs_src_get_sensor_type (void)
+{
+  static GType ahs_src_sensor_type = 0;
+
+  if (!ahs_src_sensor_type) {
+    static const GEnumValue sensor_types[] = {
+      {AHS_SENSOR_TYPE_ACCELEROMETER, "accelerometer"},
+      {AHS_SENSOR_TYPE_AMBIENT_TEMPERATURE, "ambient-temperature"},
+      {AHS_SENSOR_TYPE_GAME_ROTATION_VECTOR, "game-rotation-vector"},
+      {AHS_SENSOR_TYPE_GEOMAGNETIC_ROTATION_VECTOR,
+          "geomagnetic-rotation-vector"},
+      {AHS_SENSOR_TYPE_GRAVITY, "gravity"},
+      {AHS_SENSOR_TYPE_GYROSCOPE, "gyroscope"},
+      {AHS_SENSOR_TYPE_GYROSCOPE_UNCALIBRATED, "gyroscope-uncalibrated"},
+      {AHS_SENSOR_TYPE_HEART_RATE, "heart-rate"},
+      {AHS_SENSOR_TYPE_LIGHT, "light"},
+      {AHS_SENSOR_TYPE_LINEAR_ACCELERATION, "linear-acceleration"},
+      {AHS_SENSOR_TYPE_MAGNETIC_FIELD, "magnetic-field"},
+      {AHS_SENSOR_TYPE_MAGNETIC_FIELD_UNCALIBRATED,
+          "magnetic-field-uncalibrated"},
+      {AHS_SENSOR_TYPE_ORIENTATION, "orientation"},
+      {AHS_SENSOR_TYPE_PRESSURE, "pressure"},
+      {AHS_SENSOR_TYPE_PROXIMITY, "proximity"},
+      {AHS_SENSOR_TYPE_RELATIVE_HUMIDITY, "relative-humidity"},
+      {AHS_SENSOR_TYPE_ROTATION_VECTOR, "rotation-vector"},
+      {AHS_SENSOR_TYPE_STEP_COUNTER, "step-counter"},
+      {AHS_SENSOR_TYPE_STEP_DETECTOR, "step-detector"},
+      {0, NULL, NULL}
+    };
+
+    ahs_src_sensor_type =
+        g_enum_register_static ("GstAhsSrcSensorType", sensor_types);
+  }
+
+  return ahs_src_sensor_type;
+}
+
+static void
+gst_ahs_src_class_init (GstAHSSrcClass * klass)
+{
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+  GstBaseSrcClass *base_src_class = GST_BASE_SRC_CLASS (klass);
+  GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+  GstPushSrcClass *push_src_class = GST_PUSH_SRC_CLASS (klass);
+
+  gobject_class->set_property = gst_ahs_src_set_property;
+  gobject_class->get_property = gst_ahs_src_get_property;
+  gobject_class->dispose = gst_ahs_src_dispose;
+
+  base_src_class->set_caps = GST_DEBUG_FUNCPTR (gst_ahs_src_set_caps);
+  base_src_class->start = GST_DEBUG_FUNCPTR (gst_ahs_src_start);
+  base_src_class->stop = GST_DEBUG_FUNCPTR (gst_ahs_src_stop);
+  base_src_class->get_size = GST_DEBUG_FUNCPTR (gst_ahs_src_get_size);
+  base_src_class->is_seekable = GST_DEBUG_FUNCPTR (gst_ahs_src_is_seekable);
+  base_src_class->unlock = GST_DEBUG_FUNCPTR (gst_ahs_src_unlock);
+  base_src_class->unlock_stop = GST_DEBUG_FUNCPTR (gst_ahs_src_unlock_stop);
+
+  push_src_class->create = GST_DEBUG_FUNCPTR (gst_ahs_src_create);
+
+  gst_element_class_add_pad_template (element_class,
+      gst_static_pad_template_get (&gst_ahs_src_template));
+
+  properties[PROP_SENSOR_DELAY] = g_param_spec_enum ("sensor-delay",
+      "Sensor delay", "Configure the sensor rate", GST_TYPE_AHS_SENSOR_DELAY,
+      AHS_SENSOR_DELAY_NORMAL,
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
+  g_object_class_install_property (gobject_class, PROP_SENSOR_DELAY,
+      properties[PROP_SENSOR_DELAY]);
+
+  properties[PROP_ALPHA] = g_param_spec_double ("alpha", "Alpha",
+      "Alpha value used for exponential smoothing (between 0.0 and 1.0)", 0.0,
+      1.0, 0.2, G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
+  g_object_class_install_property (gobject_class, PROP_ALPHA,
+      properties[PROP_ALPHA]);
+
+  properties[PROP_SAMPLE_INTERVAL] = g_param_spec_uint ("sample-interval",
+      "Sample interval",
+      "Sample interval (for interval n, will output a smoothed average every "
+      "nth sample)", 1, G_MAXUINT, 1,
+      G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS);
+  g_object_class_install_property (gobject_class, PROP_SAMPLE_INTERVAL,
+      properties[PROP_SAMPLE_INTERVAL]);
+
+  gst_element_class_set_static_metadata (element_class,
+      "Android hardware sensors", "Source/Sensor/Device",
+      "Source for Android hardware sensor data",
+      "Martin Kelly <martin@surround.io>");
+}
+
+static gboolean
+_data_queue_check_full (GstDataQueue * queue, guint visible,
+    guint bytes, guint64 time, gpointer checkdata)
+{
+  return FALSE;
+}
+
+static void
+gst_ahs_src_init (GstAHSSrc * self)
+{
+  gst_base_src_set_live (GST_BASE_SRC (self), TRUE);
+  gst_base_src_set_format (GST_BASE_SRC (self), GST_FORMAT_TIME);
+  gst_base_src_set_do_timestamp (GST_BASE_SRC (self), FALSE);
+
+  self->sensor_enum_class = g_type_class_ref (GST_TYPE_AHS_SENSOR_TYPE);
+  self->sensor_type_name = NULL;
+
+  self->manager = NULL;
+  self->sensor = NULL;
+  self->listener = NULL;
+  self->callback_registered = FALSE;
+
+  self->queue = gst_data_queue_new (_data_queue_check_full, NULL, NULL, NULL);
+
+  self->previous_time = GST_CLOCK_TIME_NONE;
+  self->sample_index = 0;
+  self->current_sample = NULL;
+}
+
+static void
+gst_ahs_src_dispose (GObject * object)
+{
+  JNIEnv *env = gst_amc_jni_get_env ();
+  GstAHSSrc *self = GST_AHS_SRC (object);
+
+  if (self->manager) {
+    gst_amc_jni_object_unref (env, self->manager->object);
+    g_slice_free (GstAHSensorManager, self->manager);
+    self->manager = NULL;
+  }
+
+  if (self->sensor) {
+    gst_amc_jni_object_unref (env, self->sensor->object);
+    g_slice_free (GstAHSensor, self->sensor);
+    self->sensor = NULL;
+  }
+
+  if (self->listener) {
+    gst_amc_jni_object_unref (env, self->listener->object);
+    g_slice_free (GstAHSensorEventListener, self->listener);
+    self->listener = NULL;
+  }
+
+  if (self->current_sample) {
+    g_free (self->current_sample);
+    self->current_sample = NULL;
+  }
+
+  if (self->sensor_enum_class) {
+    g_type_class_unref (self->sensor_enum_class);
+    self->sensor_enum_class = NULL;
+  }
+
+  if (self->sensor_type_name) {
+    g_free ((gpointer) self->sensor_type_name);
+    self->sensor_type_name = NULL;
+  }
+
+  if (self->queue) {
+    g_object_unref (self->queue);
+    self->queue = NULL;
+  }
+
+  G_OBJECT_CLASS (parent_class)->dispose (object);
+}
+
+static void
+gst_ahs_src_set_property (GObject * object, guint prop_id,
+    const GValue * value, GParamSpec * pspec)
+{
+  GstAHSSrc *self = GST_AHS_SRC (object);
+
+  /*
+   * Take the mutex to protect against callbacks or changes to the properties
+   * that the callback uses (e.g. caps changes).
+   */
+  GST_OBJECT_LOCK (self);
+
+  switch (prop_id) {
+    case PROP_SENSOR_DELAY:
+      self->sensor_delay = g_value_get_enum (value);
+      /*
+       * If we already have a callback running, reregister with the new delay.
+       * Otherwise, wait for the pipeline to start before we register.
+       */
+      if (self->callback_registered)
+        gst_ahs_src_register_callback (self);
+      break;
+    case PROP_ALPHA:
+      self->alpha = g_value_get_double (value);
+      break;
+    case PROP_SAMPLE_INTERVAL:
+      self->sample_interval = g_value_get_uint (value);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+      break;
+  }
+
+  GST_OBJECT_UNLOCK (self);
+}
+
+static void
+gst_ahs_src_get_property (GObject * object, guint prop_id,
+    GValue * value, GParamSpec * pspec)
+{
+  GstAHSSrc *self = GST_AHS_SRC (object);
+
+  switch (prop_id) {
+    case PROP_SENSOR_DELAY:
+      g_value_set_enum (value, self->sensor_delay);
+    case PROP_ALPHA:
+      g_value_set_double (value, self->alpha);
+      break;
+    case PROP_SAMPLE_INTERVAL:
+      g_value_set_uint (value, self->sample_interval);
+      break;
+    default:
+      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+  }
+}
+
+static gboolean
+gst_ahs_src_register_callback (GstAHSSrc * self)
+{
+  if (self->callback_registered) {
+    gst_ah_sensor_unregister_listener (self->manager, self->listener);
+    self->callback_registered = FALSE;
+  }
+  if (!gst_ah_sensor_register_listener (self->manager, self->listener,
+          self->sensor, self->sensor_delay)) {
+    return FALSE;
+  }
+  self->callback_registered = TRUE;
+
+  return TRUE;
+}
+
+static gboolean
+gst_ahs_src_change_sensor_type (GstAHSSrc * self, const gchar * type_str,
+    gint type)
+{
+  JNIEnv *env = gst_amc_jni_get_env ();
+
+  /* Replace sensor type. */
+  if (self->sensor_type_name)
+    g_free ((gpointer) self->sensor_type_name);
+  self->sensor_type_name = type_str;
+  self->sensor_type = type;
+
+  /* Adjust buffer and buffer size. */
+  self->buffer_size = gst_ah_sensor_get_sensor_data_size (self->sensor_type);
+  g_assert (self->buffer_size != 0);
+  self->sample_length = self->buffer_size / sizeof (*self->current_sample);
+  self->current_sample = g_realloc (self->current_sample, self->buffer_size);
+
+  /* Make sure we have a manager. */
+  if (!self->manager) {
+    self->manager = gst_ah_sensor_get_manager ();
+    if (!self->manager) {
+      GST_ERROR_OBJECT (self, "Failed to get sensor manager");
+      goto error_sensor_type_name;
+    }
+  }
+
+  /* Replace sensor object. */
+  if (self->sensor) {
+    gst_amc_jni_object_unref (env, self->sensor->object);
+    g_slice_free (GstAHSensor, self->sensor);
+  }
+  self->sensor = gst_ah_sensor_get_default_sensor (self->manager,
+      self->sensor_type);
+  if (!self->sensor) {
+    GST_ERROR_OBJECT (self, "Failed to get sensor type %s",
+        self->sensor_type_name);
+    goto error_manager;
+  }
+
+  /* Register for the callback, unregistering first if necessary. */
+  if (!gst_ahs_src_register_callback (self))
+    goto error_sensor;
+
+  return TRUE;
+
+error_sensor:
+  gst_amc_jni_object_unref (env, self->sensor->object);
+  g_slice_free (GstAHSensor, self->sensor);
+  self->sensor = NULL;
+error_manager:
+  gst_amc_jni_object_unref (env, self->manager->object);
+  g_slice_free (GstAHSensorManager, self->manager);
+  self->manager = NULL;
+error_sensor_type_name:
+  g_free ((gpointer) self->sensor_type_name);
+  self->sensor_type_name = NULL;
+  return FALSE;
+}
+
+static gboolean
+gst_ahs_src_set_caps (GstBaseSrc * src, GstCaps * caps)
+{
+  const GstStructure *caps_struct;
+  GstAHSSrc *self = GST_AHS_SRC (src);
+  gboolean success;
+  gint type;
+  const gchar *type_str;
+  GEnumValue *value;
+
+  caps_struct = gst_caps_get_structure (caps, 0);
+  type_str = gst_structure_get_string (caps_struct, "type");
+  value = g_enum_get_value_by_name (self->sensor_enum_class, type_str);
+  if (!value) {
+    GST_ERROR_OBJECT (self, "Failed to lookup sensor type %s", type_str);
+    return FALSE;
+  }
+  type_str = g_strdup (type_str);
+  type = value->value;
+
+  /*
+   * Take the mutex while changing the sensor type in case there are concurrent
+   * callbacks being processed.
+   */
+  GST_OBJECT_LOCK (self);
+  success = gst_ahs_src_change_sensor_type (self, type_str, type);
+  GST_OBJECT_UNLOCK (self);
+
+  if (!success)
+    return FALSE;
+
+  return TRUE;
+}
+
+static gboolean
+gst_ahs_src_start (GstBaseSrc * src)
+{
+  JNIEnv *env = gst_amc_jni_get_env ();
+  GstAHSSrc *self = GST_AHS_SRC (src);
+
+  g_assert_null (self->manager);
+  g_assert_null (self->listener);
+
+  self->manager = gst_ah_sensor_get_manager ();
+  if (!self->manager) {
+    GST_ERROR_OBJECT (self, "Failed to get sensor manager");
+    goto error;
+  }
+
+  self->previous_time = GST_CLOCK_TIME_NONE;
+
+  self->listener = gst_ah_sensor_create_listener (gst_ahs_src_on_sensor_changed,
+      gst_ahs_src_on_accuracy_changed, self);
+  if (!self->listener) {
+    GST_ERROR_OBJECT (self, "Failed to create sensor listener");
+    goto error_manager;
+  }
+
+  return TRUE;
+
+error_manager:
+  gst_amc_jni_object_unref (env, self->manager->object);
+  g_slice_free (GstAHSensorManager, self->manager);
+  self->manager = NULL;
+error:
+  return FALSE;
+}
+
+static gboolean
+gst_ahs_src_stop (GstBaseSrc * src)
+{
+  GstAHSSrc *self = GST_AHS_SRC (src);
+
+  g_assert_nonnull (self->manager);
+  g_assert_nonnull (self->sensor);
+  g_assert_nonnull (self->listener);
+
+  gst_ah_sensor_unregister_listener (self->manager, self->listener);
+  self->previous_time = GST_CLOCK_TIME_NONE;
+
+  return TRUE;
+}
+
+static gboolean
+gst_ahs_src_get_size (GstBaseSrc * src, guint64 * size)
+{
+  GstAHSSrc *self = GST_AHS_SRC (src);
+
+  return self->buffer_size;
+}
+
+static gboolean
+gst_ahs_src_is_seekable (GstBaseSrc * src)
+{
+  return FALSE;
+}
+
+static gboolean
+gst_ahs_src_unlock (GstBaseSrc * src)
+{
+  GstAHSSrc *self = GST_AHS_SRC (src);
+
+  gst_data_queue_set_flushing (self->queue, TRUE);
+
+  return TRUE;
+}
+
+static gboolean
+gst_ahs_src_unlock_stop (GstBaseSrc * src)
+{
+  GstAHSSrc *self = GST_AHS_SRC (src);
+
+  gst_data_queue_set_flushing (self->queue, FALSE);
+
+  return TRUE;
+}
+
+static GstFlowReturn
+gst_ahs_src_create (GstPushSrc * src, GstBuffer ** buffer)
+{
+  GstAHSSrc *self = GST_AHS_SRC (src);
+  GstDataQueueItem *item;
+
+  if (!gst_data_queue_pop (self->queue, &item)) {
+    GST_INFO_OBJECT (self, "data queue is empty");
+    return GST_FLOW_FLUSHING;
+  }
+
+  GST_DEBUG_OBJECT (self, "creating buffer %p->%p", item, item->object);
+
+  *buffer = GST_BUFFER (item->object);
+  g_slice_free (GstDataQueueItem, item);
+
+  return GST_FLOW_OK;
+}
+
+static void
+gst_ahs_src_free_data_queue_item (GstDataQueueItem * item)
+{
+  gst_buffer_unref (GST_BUFFER (item->object));
+  g_slice_free (GstDataQueueItem, item);
+}
+
+static void
+gst_ahs_src_update_smoothing (GstAHSSrc * self, const GstAHSensorEvent * event)
+{
+  gint i;
+
+  /*
+   * Since we're doing exponential smoothing, the first sample needs to be
+   * special-cased to prevent it from being artificially lowered by the alpha
+   * smoothing factor.
+   */
+  if (self->sample_index == 0) {
+    for (i = 0; i < self->sample_length; i++) {
+      self->current_sample[i] = event->data.values[i];
+    }
+  } else {
+    for (i = 0; i < self->sample_length; i++)
+      self->current_sample[i] =
+          (1 - self->alpha) * self->current_sample[i] +
+          self->alpha * event->data.values[i];
+  }
+}
+
+static void
+gst_ahs_src_on_sensor_changed (jobject event_object, gpointer user_data)
+{
+  GstBuffer *buffer;
+  GstClockTime buffer_time;
+  gfloat *data;
+  GstAHSensorEvent event;
+  GstDataQueueItem *item;
+  GstClock *pipeline_clock;
+  GstAHSSrc *self = GST_AHS_SRC (user_data);
+  gboolean success;
+
+  GST_OBJECT_LOCK (self);
+
+  pipeline_clock = GST_ELEMENT_CLOCK (self);
+  /* If the clock is NULL, the pipeline is not yet set to PLAYING. */
+  if (pipeline_clock == NULL)
+    goto done;
+
+  /*
+   * Unfortunately, the timestamp reported in the Android SensorEvent timestamp
+   * is not guaranteed to use any particular clock. On some device models, it
+   * uses system time, and on other models, it uses monotonic time. In addition,
+   * in some cases, the units are microseconds, and in other cases they are
+   * nanoseconds. Thus we cannot slave it to the pipeline clock or use any
+   * similar strategy that would allow us to correlate the two clocks. So
+   * instead, we approximate the buffer timestamp using the pipeline clock.
+   *
+   * See here for more details on issues with the Android SensorEvent timestamp:
+   * https://code.google.com/p/android/issues/detail?id=7981
+   */
+  buffer_time =
+      gst_clock_get_time (pipeline_clock) - GST_ELEMENT_CAST (self)->base_time;
+
+  success =
+      gst_ah_sensor_populate_event (&event, event_object, self->buffer_size);
+  if (!success) {
+    GST_ERROR_OBJECT (self, "Failed to populate sensor event");
+    goto done;
+  }
+
+  gst_ahs_src_update_smoothing (self, &event);
+  gst_ah_sensor_free_sensor_data (&event.data);
+  self->sample_index++;
+  if (self->sample_index < self->sample_interval)
+    goto done;
+  self->sample_index = 0;
+
+  /*
+   * We want to send off this sample; copy it into a separate data struct so we
+   * can continue using current_sample for aggregating future samples.
+   */
+  data = g_malloc (self->buffer_size);
+  memcpy (data, self->current_sample, self->buffer_size);
+
+  /* Wrap the datapoint with a buffer and add it to the queue. */
+  buffer = gst_buffer_new_wrapped (data, self->buffer_size);
+  GST_BUFFER_DURATION (buffer) = GST_CLOCK_TIME_NONE;
+  GST_BUFFER_PTS (buffer) = buffer_time;
+
+  item = g_slice_new (GstDataQueueItem);
+  item->object = GST_MINI_OBJECT (buffer);
+  item->size = gst_buffer_get_size (buffer);
+  item->duration = GST_BUFFER_DURATION (buffer);
+  item->visible = TRUE;
+  item->destroy = (GDestroyNotify) gst_ahs_src_free_data_queue_item;
+
+  success = gst_data_queue_push (self->queue, item);
+  if (!success) {
+    GST_ERROR_OBJECT (self, "Could not add buffer to queue");
+    gst_ahs_src_free_data_queue_item (item);
+    goto done;
+  }
+
+done:
+  GST_OBJECT_UNLOCK (self);
+}
+
+static void
+gst_ahs_src_on_accuracy_changed (jobject sensor, gint accuracy,
+    gpointer user_data)
+{
+  GstAHSSrc *self = GST_AHS_SRC (user_data);
+
+  /* TODO: Perhaps we should do something more with this information. */
+  GST_DEBUG_OBJECT (self, "Accuracy changed on sensor %p and is now %d", sensor,
+      accuracy);
+}
diff --git a/sys/androidmedia/gstahssrc.h b/sys/androidmedia/gstahssrc.h
new file mode 100644
index 0000000..9c00ca7
--- /dev/null
+++ b/sys/androidmedia/gstahssrc.h
@@ -0,0 +1,80 @@
+/* GStreamer android.hardware.Sensor Source
+ * Copyright (C) 2016 SurroundIO
+ *   Author: Martin Kelly <martin@surround.io>
+ *
+ * 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_AHSSRC_H__
+#define _GST_AHSSRC_H__
+
+#include <gst/base/gstdataqueue.h>
+#include <gst/base/gstpushsrc.h>
+
+#include "gst-android-hardware-sensor.h"
+
+G_BEGIN_DECLS
+#define GST_TYPE_AHS_SRC   (gst_ahs_src_get_type())
+#define GST_AHS_SRC(obj)   (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AHS_SRC,GstAHSSrc))
+#define GST_AHS_SRC_CLASS(klass)   (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AHS_SRC,GstAHSSrcClass))
+#define GST_IS_AHS_SRC(obj)   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AHS_SRC))
+#define GST_IS_AHS_SRC_CLASS(obj)   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AHS_SRC))
+typedef struct _GstAHSSrc GstAHSSrc;
+typedef struct _GstAHSSrcClass GstAHSSrcClass;
+
+struct _GstAHSSrc
+{
+  /* < private > */
+  GstPushSrc parent;
+
+  /* properties */
+  gint32 sensor_delay;
+  gdouble alpha;
+  guint sample_interval;
+
+  /* sensor type information */
+  GEnumClass *sensor_enum_class;
+  gint sensor_type;
+  const gchar *sensor_type_name;
+
+  /* JNI wrapper classes */
+  GstAHSensorManager *manager;
+  GstAHSensor *sensor;
+  GstAHSensorEventListener *listener;
+
+  /* timestamping */
+  GstClockTime previous_time;
+  gfloat *current_sample;
+
+  /* buffers */
+  gboolean callback_registered;
+  gint sample_index;
+  gint sample_length;
+  gint buffer_size;
+
+  /* multiprocessing */
+  GstDataQueue *queue;
+};
+
+struct _GstAHSSrcClass
+{
+  GstPushSrcClass parent_class;
+};
+
+GType gst_ahs_src_get_type (void);
+
+G_END_DECLS
+#endif
diff --git a/sys/androidmedia/gstamc.c b/sys/androidmedia/gstamc.c
index 78fd869..b6146d0 100644
--- a/sys/androidmedia/gstamc.c
+++ b/sys/androidmedia/gstamc.c
@@ -30,6 +30,7 @@
 #endif
 
 #include "gstahcsrc.h"
+#include "gstahssrc.h"
 
 #include "gstamc.h"
 #include "gstamc-constants.h"
@@ -49,7 +50,7 @@
 
 GQuark gst_amc_codec_info_quark = 0;
 
-static GList *codec_infos = NULL;
+static GQueue codec_infos = G_QUEUE_INIT;
 #ifdef GST_AMC_IGNORE_UNKNOWN_COLOR_FORMATS
 static gboolean ignore_unknown_color_formats = TRUE;
 #else
@@ -1398,7 +1399,7 @@
         }
       }
 
-      codec_infos = g_list_append (codec_infos, gst_codec_info);
+      g_queue_push_tail (&codec_infos, gst_codec_info);
     }
 
     return TRUE;
@@ -1851,9 +1852,42 @@
 
     /* We need at least a valid supported type */
     if (valid_codec) {
-      GST_LOG ("Successfully scanned codec '%s'", name_str);
-      codec_infos = g_list_append (codec_infos, gst_codec_info);
-      gst_codec_info = NULL;
+      GList *l;
+
+      for (l = codec_infos.head; l; l = l->next) {
+        GstAmcCodecInfo *tmp = l->data;
+
+        if (strcmp (tmp->name, gst_codec_info->name) == 0
+            && ! !tmp->is_encoder == ! !gst_codec_info->is_encoder) {
+          gint m = tmp->n_supported_types, n;
+
+          GST_LOG ("Successfully scanned codec '%s', appending to existing",
+              name_str);
+
+          tmp->gl_output_only |= gst_codec_info->gl_output_only;
+          tmp->n_supported_types += gst_codec_info->n_supported_types;
+          tmp->supported_types =
+              g_realloc (tmp->supported_types,
+              tmp->n_supported_types * sizeof (GstAmcCodecType));
+
+          for (n = 0; n < gst_codec_info->n_supported_types; n++, m++) {
+            tmp->supported_types[m] = gst_codec_info->supported_types[n];
+          }
+          g_free (gst_codec_info->supported_types);
+          g_free (gst_codec_info->name);
+          g_free (gst_codec_info);
+          gst_codec_info = NULL;
+
+          break;
+        }
+      }
+
+      /* Found no existing codec with this name */
+      if (l == NULL) {
+        GST_LOG ("Successfully scanned codec '%s'", name_str);
+        g_queue_push_tail (&codec_infos, gst_codec_info);
+        gst_codec_info = NULL;
+      }
     }
 
     /* Clean up of all local references we got */
@@ -1891,7 +1925,7 @@
     valid_codec = TRUE;
   }
 
-  ret = codec_infos != NULL;
+  ret = codec_infos.length != 0;
 
   /* If successful we store a cache of the codec information in
    * the registry. Otherwise we would always load all codecs during
@@ -1906,7 +1940,7 @@
 
     g_value_init (&arr, GST_TYPE_ARRAY);
 
-    for (l = codec_infos; l; l = l->next) {
+    for (l = codec_infos.head; l; l = l->next) {
       GstAmcCodecInfo *gst_codec_info = l->data;
       GValue cv = { 0, };
       GstStructure *cs = gst_structure_new_empty ("gst-amc-codec");
@@ -3187,7 +3221,7 @@
 
   GST_DEBUG ("Registering plugins");
 
-  for (l = codec_infos; l; l = l->next) {
+  for (l = codec_infos.head; l; l = l->next) {
     GstAmcCodecInfo *codec_info = l->data;
     gboolean is_audio = FALSE;
     gboolean is_video = FALSE;
@@ -3337,13 +3371,24 @@
     goto failed_graphics_imageformat;
   }
 
+  if (!gst_android_hardware_sensor_init ()) {
+    goto failed_hardware_camera;
+  }
+
   if (!gst_element_register (plugin, "ahcsrc", GST_RANK_NONE, GST_TYPE_AHC_SRC)) {
     GST_ERROR ("Failed to register android camera source");
-    goto failed_hardware_camera;
+    goto failed_hardware_sensor;
+  }
+
+  if (!gst_element_register (plugin, "ahssrc", GST_RANK_NONE, GST_TYPE_AHS_SRC)) {
+    GST_ERROR ("Failed to register android sensor source");
+    goto failed_hardware_sensor;
   }
 
   return TRUE;
 
+failed_hardware_sensor:
+  gst_android_hardware_sensor_deinit ();
 failed_hardware_camera:
   gst_android_hardware_camera_deinit ();
 failed_graphics_imageformat:
@@ -3820,6 +3865,10 @@
       }
     }
   }
+
+  GST_DEBUG ("Returning caps for '%s':", codec_info->name);
+  GST_DEBUG ("  raw caps: %" GST_PTR_FORMAT, raw_ret);
+  GST_DEBUG ("  encoded caps: %" GST_PTR_FORMAT, encoded_ret);
 }
 
 GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
diff --git a/sys/androidmedia/gstamcaudiodec.c b/sys/androidmedia/gstamcaudiodec.c
index 9a34c37..49c8c60 100644
--- a/sys/androidmedia/gstamcaudiodec.c
+++ b/sys/androidmedia/gstamcaudiodec.c
@@ -670,9 +670,7 @@
           gst_event_new_eos ());
       gst_pad_pause_task (GST_AUDIO_DECODER_SRC_PAD (self));
     } else if (flow_ret < GST_FLOW_EOS) {
-      GST_ELEMENT_ERROR (self, STREAM, FAILED,
-          ("Internal data stream error."), ("stream stopped, reason %s",
-              gst_flow_get_name (flow_ret)));
+      GST_ELEMENT_FLOW_ERROR (self, flow_ret);
       gst_pad_push_event (GST_AUDIO_DECODER_SRC_PAD (self),
           gst_event_new_eos ());
       gst_pad_pause_task (GST_AUDIO_DECODER_SRC_PAD (self));
diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c
index 397b585..bd772b7 100644
--- a/sys/androidmedia/gstamcvideodec.c
+++ b/sys/androidmedia/gstamcvideodec.c
@@ -1590,9 +1590,7 @@
           gst_event_new_eos ());
       gst_pad_pause_task (GST_VIDEO_DECODER_SRC_PAD (self));
     } else if (flow_ret < GST_FLOW_EOS) {
-      GST_ELEMENT_ERROR (self, STREAM, FAILED,
-          ("Internal data stream error."), ("stream stopped, reason %s",
-              gst_flow_get_name (flow_ret)));
+      GST_ELEMENT_FLOW_ERROR (self, flow_ret);
       gst_pad_push_event (GST_VIDEO_DECODER_SRC_PAD (self),
           gst_event_new_eos ());
       gst_pad_pause_task (GST_VIDEO_DECODER_SRC_PAD (self));
diff --git a/sys/androidmedia/gstamcvideoenc.c b/sys/androidmedia/gstamcvideoenc.c
index 136df41..1742d44 100644
--- a/sys/androidmedia/gstamcvideoenc.c
+++ b/sys/androidmedia/gstamcvideoenc.c
@@ -1129,9 +1129,7 @@
           gst_event_new_eos ());
       gst_pad_pause_task (GST_VIDEO_ENCODER_SRC_PAD (self));
     } else if (flow_ret == GST_FLOW_NOT_LINKED || flow_ret < GST_FLOW_EOS) {
-      GST_ELEMENT_ERROR (self, STREAM, FAILED,
-          ("Internal data stream error."), ("stream stopped, reason %s",
-              gst_flow_get_name (flow_ret)));
+      GST_ELEMENT_FLOW_ERROR (self, flow_ret);
       gst_pad_push_event (GST_VIDEO_ENCODER_SRC_PAD (self),
           gst_event_new_eos ());
       gst_pad_pause_task (GST_VIDEO_ENCODER_SRC_PAD (self));
diff --git a/sys/applemedia-nonpublic/Makefile.am b/sys/applemedia-nonpublic/Makefile.am
deleted file mode 100644
index e95abda..0000000
--- a/sys/applemedia-nonpublic/Makefile.am
+++ /dev/null
@@ -1,84 +0,0 @@
-plugin_LTLIBRARIES = libgstapplemedia_nonpublic.la
-
-libgstapplemedia_nonpublic_la_SOURCES =			\
-	plugin.m				\
-	bufferfactory.m				\
-	corevideobuffer.c			\
-	coremediabuffer.c			\
-	cvapi.c					\
-	cmapi.c					\
-	coremediactx.c				\
-	dynapi.c
-
-libgstapplemedia_nonpublic_la_CPPFLAGS =			\
-	-Dgst_dyn_api_get_type=gst_dyn_api_priv_get_type			\
-	-Dgst_dyn_api_debug=gst_dyn_api_priv_debug				\
-	-Dgst_dyn_api_new=gst_dyn_api_priv_new					\
-	-Dgst_core_media_buffer_new=gst_core_media_buffer_priv_new		\
-	-Dgst_core_media_buffer_get_type=gst_core_media_buffer_priv_get_type	\
-	-Dgst_core_media_buffer_get_pixel_buffer=gst_core_media_buffer_priv_get_pixel_buffer\
-	-Dgst_core_video_buffer_new=gst_core_video_buffer_priv_new		\
-	-Dgst_core_video_buffer_get_type=gst_core_video_buffer_priv_get_type	\
-	-Dgst_core_media_ctx_new=gst_core_media_ctx_priv_new			\
-	-Dgst_core_media_ctx_get_type=gst_core_media_ctx_priv_get_type
-
-libgstapplemedia_nonpublic_la_CFLAGS =			\
-	$(GST_CFLAGS)								\
-	$(GST_BASE_CFLAGS)							\
-	$(GST_PLUGINS_BASE_CFLAGS)
-
-libgstapplemedia_nonpublic_la_OBJCFLAGS =			\
-	$(GST_OBJCFLAGS)			\
-	$(GST_BASE_CFLAGS)			\
-	$(GST_PLUGINS_BASE_CFLAGS)
-
-if HAVE_IOS
-libgstapplemedia_nonpublic_la_OBJCFLAGS += -fobjc-abi-version=2 -fobjc-legacy-dispatch
-endif
-
-libgstapplemedia_nonpublic_la_LIBADD =			\
-	$(GST_BASE_LIBS)			\
-	$(GST_PLUGINS_BASE_LIBS)		\
-	-lgstvideo-$(GST_API_VERSION)		\
-	$(GMODULE_NO_EXPORT_LIBS)
-
-libgstapplemedia_nonpublic_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) --tag=CC
-
-libgstapplemedia_nonpublic_la_LDFLAGS =			\
-	$(GST_PLUGIN_LDFLAGS)			\
-	$(GST_BASE_LDFLAGS)			\
-	$(GST_PLUGINS_BASE_LDFLAGS)		\
-	-Wl,-framework -Wl,Foundation		\
-	-Wl,-framework -Wl,CoreFoundation	\
-	-Wl,-framework -Wl,CoreVideo
-
-noinst_HEADERS =				\
-	miovideosrc.h				\
-	miovideodevice.h			\
-	celvideosrc.h				\
-	bufferfactory.h				\
-	corevideobuffer.h			\
-	coremediabuffer.h			\
-	coremediactx.h				\
-	mioapi.h				\
-	mtapi.h					\
-	celapi.h				\
-	cvapi.h					\
-	cmapi.h					\
-	dynapi.h				\
-	dynapi-internal.h
-
-if HAVE_IOS
-
-#libgstapplemedia_nonpublic_la_SOURCES +=			\
-#	celvideosrc.c				\
-#	mtapi.c					\
-#	celapi.c
-
-else
-
-libgstapplemedia_nonpublic_la_SOURCES +=			\
-	mioapi.c
-
-endif
-
diff --git a/sys/applemedia-nonpublic/bufferfactory.m b/sys/applemedia-nonpublic/bufferfactory.m
deleted file mode 100644
index 7b2e845..0000000
--- a/sys/applemedia-nonpublic/bufferfactory.m
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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.
- */
-
-#import "bufferfactory.h"
-
-#include "coremediabuffer.h"
-#include "corevideobuffer.h"
-
-@implementation GstAMBufferFactory
-
-- (id)initWithError:(GError **)error
-{
-  GstCoreMediaCtx *ctx;
-
-  ctx =
-      gst_core_media_ctx_new (GST_API_CORE_VIDEO | GST_API_CORE_MEDIA, error);
-  if (ctx == NULL)
-    return nil;
-
-  if ((self = [super init]))
-    coreMediaCtx = ctx;
-  else
-    g_object_unref (ctx);
-
-  return self;
-}
-
-- (void)finalize
-{
-  g_object_unref (coreMediaCtx);
-
-  [super finalize];
-}
-
-- (GstBuffer *)createGstBufferForCoreVideoBuffer:(CFTypeRef)cvbuf
-{
-  return gst_core_video_buffer_new (coreMediaCtx, (CVBufferRef) cvbuf, NULL);
-}
-
-- (GstBuffer *)createGstBufferForSampleBuffer:(CFTypeRef)sbuf
-{
-  return gst_core_media_buffer_new (coreMediaCtx, sbuf);
-}
-
-@end
diff --git a/sys/applemedia-nonpublic/celapi.h b/sys/applemedia-nonpublic/celapi.h
deleted file mode 100644
index 78855f9..0000000
--- a/sys/applemedia-nonpublic/celapi.h
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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_CEL_API_H__
-#define __GST_CEL_API_H__
-
-#include "mtapi.h"
-
-G_BEGIN_DECLS
-
-typedef struct _GstCelApi GstCelApi;
-typedef struct _GstCelApiClass GstCelApiClass;
-
-enum
-{
-  kCelError_ResourceBusy = -12780
-};
-
-struct _GstCelApi
-{
-  GstDynApi parent;
-
-  OSStatus (* FigCreateCaptureDevicesAndStreamsForPreset)
-      (CFAllocatorRef allocator, CFStringRef capturePreset,
-      CFDictionaryRef audioOptions,
-      FigCaptureDeviceRef * outVideoDevice,
-      FigCaptureStreamRef * outVideoStream,
-      FigCaptureDeviceRef * outAudioDevice,
-      FigCaptureStreamRef * outAudioStream);
-
-  CFStringRef * kFigCaptureDeviceProperty_MultiplexStreams;
-  CFStringRef * kFigCapturePortType_Bottom;
-  CFStringRef * kFigCapturePortType_Camera;
-  CFStringRef * kFigCapturePortType_FrontFacingCamera;
-  CFStringRef * kFigCapturePortType_Top;
-  CFStringRef * kFigCapturePropertyValue_AFEarlyOutAllowPeakAtStart;
-  CFStringRef * kFigCapturePropertyValue_AFEarlyOutDecrementAmount;
-  CFStringRef * kFigCapturePropertyValue_AFEarlyOutEnable;
-  CFStringRef * kFigCapturePropertyValue_AFEarlyOutThreshold;
-  CFStringRef * kFigCapturePropertyValue_AFPositionCurrent;
-  CFStringRef * kFigCapturePropertyValue_AFPositionInfinity;
-  CFStringRef * kFigCapturePropertyValue_AFPositionMacro;
-  CFStringRef * kFigCapturePropertyValue_AFSearchPositionArray;
-  CFStringRef * kFigCapturePropertyValue_AGC;
-  CFStringRef * kFigCapturePropertyValue_CLPFControl;
-  CFStringRef * kFigCapturePropertyValue_ColorRangeFull;
-  CFStringRef * kFigCapturePropertyValue_ColorRangeSDVideo;
-  CFStringRef * kFigCapturePropertyValue_ModuleDate;
-  CFStringRef * kFigCapturePropertyValue_ModuleIntegratorInfo;
-  CFStringRef * kFigCapturePropertyValue_SensorID;
-  CFStringRef * kFigCapturePropertyValue_SigmaFilterControl;
-  CFStringRef * kFigCapturePropertyValue_YLPFControl;
-  CFStringRef * kFigCapturePropertyValue_hStart;
-  CFStringRef * kFigCapturePropertyValue_height;
-  CFStringRef * kFigCapturePropertyValue_ispDGain;
-  CFStringRef * kFigCapturePropertyValue_sensorDGain;
-  CFStringRef * kFigCapturePropertyValue_shutterSpeedDenominator;
-  CFStringRef * kFigCapturePropertyValue_shutterSpeedNumerator;
-  CFStringRef * kFigCapturePropertyValue_vStart;
-  CFStringRef * kFigCapturePropertyValue_weight;
-  CFStringRef * kFigCapturePropertyValue_width;
-  CFStringRef * kFigCaptureStreamPropertyValue_AEBracketedCaptureParams;
-  CFStringRef * kFigCaptureStreamPropertyValue_BLCCompensation;
-  CFStringRef * kFigCaptureStreamPropertyValue_BLCDebugMode;
-  CFStringRef * kFigCaptureStreamPropertyValue_BandHighFactor;
-  CFStringRef * kFigCaptureStreamPropertyValue_BandLowFactor;
-  CFStringRef * kFigCaptureStreamPropertyValue_CCMWarmUpWeight;
-  CFStringRef * kFigCaptureStreamPropertyValue_EdgeColorSuppressionSlope;
-  CFStringRef * kFigCaptureStreamPropertyValue_EdgeColorSuppressionThreshold;
-  CFStringRef * kFigCaptureStreamPropertyValue_EnableAESceneDynamicMetering;
-  CFStringRef * kFigCaptureStreamPropertyValue_EnableCCMWarmUp;
-  CFStringRef * kFigCaptureStreamPropertyValue_EnableHistogram1MetaData;
-  CFStringRef * kFigCaptureStreamPropertyValue_EnableHistogram2MetaData;
-  CFStringRef * kFigCaptureStreamPropertyValue_EnableHistogram3MetaData;
-  CFStringRef * kFigCaptureStreamPropertyValue_EnableHistogram4MetaData;
-  CFStringRef * kFigCaptureStreamPropertyValue_EnableHistogram;
-  CFStringRef * kFigCaptureStreamPropertyValue_HistogramBinMode;
-  CFStringRef * kFigCaptureStreamPropertyValue_HistogramDataType;
-  CFStringRef * kFigCaptureStreamPropertyValue_ImageCropRect;
-  CFStringRef * kFigCaptureStreamPropertyValue_LPExposure;
-  CFStringRef * kFigCaptureStreamPropertyValue_LPGain;
-  CFStringRef * kFigCaptureStreamPropertyValue_LowWeight;
-  CFStringRef * kFigCaptureStreamPropertyValue_MaxWeight;
-  CFStringRef * kFigCaptureStreamPropertyValue_MediumWeight;
-  CFStringRef * kFigCaptureStreamPropertyValue_MinWeight;
-  CFStringRef * kFigCaptureStreamPropertyValue_WeightDropOff;
-  CFStringRef * kFigCaptureStreamPropertyValue_WeightReduction;
-  CFStringRef * kFigCaptureStreamProperty_AEConvergenceSpeed;
-  CFStringRef * kFigCaptureStreamProperty_AEOutlierClipCount;
-  CFStringRef * kFigCaptureStreamProperty_AESceneDynamicMetering;
-  CFStringRef * kFigCaptureStreamProperty_AEStability;
-  CFStringRef * kFigCaptureStreamProperty_AEWindowManualWeightMatrix;
-  CFStringRef * kFigCaptureStreamProperty_AEWindowParams;
-  CFStringRef * kFigCaptureStreamProperty_AFEarlyOutParams;
-  CFStringRef * kFigCaptureStreamProperty_AFParams;
-  CFStringRef * kFigCaptureStreamProperty_AFSearchPositions;
-  CFStringRef * kFigCaptureStreamProperty_AFWindowParams;
-  CFStringRef * kFigCaptureStreamProperty_AGC;
-  CFStringRef * kFigCaptureStreamProperty_AWBWindowParams;
-  CFStringRef * kFigCaptureStreamProperty_AdditionalPTSOffset;
-  CFStringRef * kFigCaptureStreamProperty_AlternateAWB;
-  CFStringRef * kFigCaptureStreamProperty_Apply3AWindowSettings;
-  CFStringRef * kFigCaptureStreamProperty_AttachRAW;
-  CFStringRef * kFigCaptureStreamProperty_CCMWarmUp;
-  CFStringRef * kFigCaptureStreamProperty_ClientMaxBufferCountHint;
-  CFStringRef * kFigCaptureStreamProperty_ColorRange;
-  CFStringRef * kFigCaptureStreamProperty_ColorSaturation;
-  CFStringRef * kFigCaptureStreamProperty_ColorTables;
-  CFStringRef * kFigCaptureStreamProperty_EdgeColorSuppressionParams;
-  CFStringRef * kFigCaptureStreamProperty_ExposureBias;
-  CFStringRef * kFigCaptureStreamProperty_FastSwitchMode;
-  CFStringRef * kFigCaptureStreamProperty_FlashMode;
-  CFStringRef * kFigCaptureStreamProperty_HistogramParams;
-  CFStringRef * kFigCaptureStreamProperty_LockAENow;
-  CFStringRef * kFigCaptureStreamProperty_LockAWBNow;
-  CFStringRef * kFigCaptureStreamProperty_ManualAENow;
-  CFStringRef * kFigCaptureStreamProperty_ManualFocusNow;
-  CFStringRef * kFigCaptureStreamProperty_MaxIntegrationTime;
-  CFStringRef * kFigCaptureStreamProperty_ModuleInfo;
-  CFStringRef * kFigCaptureStreamProperty_NoiseReductionControls;
-  CFStringRef * kFigCaptureStreamProperty_PortType;
-  CFStringRef * kFigCaptureStreamProperty_PreFrameAE;
-  CFStringRef * kFigCaptureStreamProperty_RawImageProcessNow;
-  CFStringRef * kFigCaptureStreamProperty_RedEyeReductionParams;
-  CFStringRef * kFigCaptureStreamProperty_ResetParams;
-  CFStringRef * kFigCaptureStreamProperty_ScalerSharpening;
-  CFStringRef * kFigCaptureStreamProperty_SetGainCap;
-  CFStringRef * kFigCaptureStreamProperty_SharpeningControl;
-  CFStringRef * kFigCaptureStreamProperty_TorchLevel;
-  CFStringRef * kFigCaptureStreamProperty_UnlockAENow;
-  CFStringRef * kFigCaptureStreamProperty_UnlockAWBNow;
-  CFStringRef * kFigCaptureStreamProperty_UseFlashAFAssist;
-  CFStringRef * kFigCaptureStreamProperty_UseFlashRedEyeReduction;
-  CFStringRef * kFigCaptureStreamProperty_UseHardwareShutter;
-  CFStringRef * kFigCaptureStreamProperty_VideoRecordingInProgress;
-  CFStringRef * kFigRecorderCapturePreset_AudioRecording;
-  CFStringRef * kFigRecorderCapturePreset_AudioVideoRecording;
-  CFStringRef * kFigRecorderCapturePreset_PhotoCapture;
-  CFStringRef * kFigRecorderCapturePreset_VideoRecording;
-};
-
-struct _GstCelApiClass
-{
-  GstDynApiClass parent_class;
-};
-
-GType gst_cel_api_get_type (void);
-
-GstCelApi * gst_cel_api_obtain (GError ** error);
-
-G_END_DECLS
-
-#endif
diff --git a/sys/applemedia-nonpublic/celvideosrc.h b/sys/applemedia-nonpublic/celvideosrc.h
deleted file mode 100644
index 5fa656c..0000000
--- a/sys/applemedia-nonpublic/celvideosrc.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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_CEL_VIDEO_SRC_H__
-#define __GST_CEL_VIDEO_SRC_H__
-
-#include <gst/base/gstpushsrc.h>
-
-#include "coremediactx.h"
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_CEL_VIDEO_SRC \
-  (gst_cel_video_src_get_type ())
-#define GST_CEL_VIDEO_SRC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_CEL_VIDEO_SRC, GstCelVideoSrc))
-#define GST_CEL_VIDEO_SRC_CAST(obj) \
-  ((GstCelVideoSrc *) (obj))
-#define GST_CEL_VIDEO_SRC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_CEL_VIDEO_SRC, GstCelVideoSrcClass))
-#define GST_IS_CEL_VIDEO_SRC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_CEL_VIDEO_SRC))
-#define GST_IS_CEL_VIDEO_SRC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_CEL_VIDEO_SRC))
-
-typedef struct _GstCelVideoSrc         GstCelVideoSrc;
-typedef struct _GstCelVideoSrcClass    GstCelVideoSrcClass;
-
-struct _GstCelVideoSrc
-{
-  GstPushSrc push_src;
-
-  gint device_index;
-  gboolean do_stats;
-
-  GstCoreMediaCtx *ctx;
-
-  FigCaptureDeviceRef device;
-  FigCaptureDeviceIface *device_iface;
-  FigBaseObjectRef device_base;
-  FigBaseIface *device_base_iface;
-  FigCaptureStreamRef stream;
-  FigCaptureStreamIface *stream_iface;
-  FigBaseObjectRef stream_base;
-  FigBaseIface *stream_base_iface;
-
-  CMBufferQueueRef queue;
-  CMBufferQueueTriggerToken ready_trigger;
-  GstCaps *device_caps;
-  GArray *device_formats;
-  GstClockTime duration;
-
-  volatile gint is_running;
-  guint64 offset;
-
-  GCond *ready_cond;
-  volatile gboolean queue_is_ready;
-
-  GstClockTime last_sampling;
-  guint count;
-  gint fps;
-};
-
-struct _GstCelVideoSrcClass
-{
-  GstPushSrcClass parent_class;
-};
-
-GType gst_cel_video_src_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_CEL_VIDEO_SRC_H__ */
diff --git a/sys/applemedia-nonpublic/cmapi.c b/sys/applemedia-nonpublic/cmapi.c
deleted file mode 100644
index 15c28ed..0000000
--- a/sys/applemedia-nonpublic/cmapi.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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.
- */
-
-#include "cmapi.h"
-
-#include "dynapi-internal.h"
-
-#include <gmodule.h>
-
-#define CM_FRAMEWORK_PATH "/System/Library/Frameworks/" \
-    "CoreMedia.framework/CoreMedia"
-#define CM_FRAMEWORK_PATH_OLD "/System/Library/PrivateFrameworks/" \
-    "CoreMedia.framework/CoreMedia"
-
-G_DEFINE_TYPE (GstCMApi, gst_cm_api, GST_TYPE_DYN_API);
-
-static void
-gst_cm_api_init (GstCMApi * self)
-{
-}
-
-static void
-gst_cm_api_class_init (GstCMApiClass * klass)
-{
-}
-
-#define SYM_SPEC(name) GST_DYN_SYM_SPEC (GstCMApi, name)
-
-GstCMApi *
-gst_cm_api_obtain (GError ** error)
-{
-  static const GstDynSymSpec symbols[] = {
-    SYM_SPEC (FigBaseObjectGetVTable),
-
-    SYM_SPEC (CMGetAttachment),
-
-    SYM_SPEC (FigFormatDescriptionRelease),
-    SYM_SPEC (FigFormatDescriptionRetain),
-    SYM_SPEC (CMFormatDescriptionEqual),
-    SYM_SPEC (CMFormatDescriptionGetExtension),
-    SYM_SPEC (CMFormatDescriptionGetMediaType),
-    SYM_SPEC (CMFormatDescriptionGetMediaSubType),
-
-    SYM_SPEC (CMVideoFormatDescriptionCreate),
-    SYM_SPEC
-        (FigVideoFormatDescriptionCreateWithSampleDescriptionExtensionAtom),
-    SYM_SPEC (CMVideoFormatDescriptionGetDimensions),
-
-    SYM_SPEC (CMTimeMake),
-
-    SYM_SPEC (CMSampleBufferCreate),
-    SYM_SPEC (CMSampleBufferDataIsReady),
-    SYM_SPEC (CMSampleBufferGetDataBuffer),
-    SYM_SPEC (CMSampleBufferGetFormatDescription),
-    SYM_SPEC (CMSampleBufferGetImageBuffer),
-    SYM_SPEC (CMSampleBufferGetNumSamples),
-    SYM_SPEC (CMSampleBufferGetSampleAttachmentsArray),
-    SYM_SPEC (CMSampleBufferGetSampleSize),
-    SYM_SPEC (FigSampleBufferRelease),
-    SYM_SPEC (FigSampleBufferRetain),
-
-    SYM_SPEC (CMBlockBufferCreateWithMemoryBlock),
-    SYM_SPEC (CMBlockBufferGetDataLength),
-    SYM_SPEC (CMBlockBufferGetDataPointer),
-    SYM_SPEC (FigBlockBufferRelease),
-    SYM_SPEC (FigBlockBufferRetain),
-
-    SYM_SPEC (CMBufferQueueDequeueAndRetain),
-    SYM_SPEC (CMBufferQueueGetBufferCount),
-    SYM_SPEC (CMBufferQueueInstallTrigger),
-    SYM_SPEC (CMBufferQueueIsEmpty),
-    SYM_SPEC (FigBufferQueueRelease),
-    SYM_SPEC (CMBufferQueueRemoveTrigger),
-    SYM_SPEC (CMBufferQueueSetValidationCallback),
-
-    SYM_SPEC (kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms),
-    SYM_SPEC (kCMSampleAttachmentKey_DependsOnOthers),
-    SYM_SPEC (kCMTimeInvalid),
-
-    {NULL, 0},
-  };
-  GstCMApi *result;
-  GModule *module;
-
-  /* We cannot stat() the library as it may not be present on the filesystem.
-   * This is the case on newer versions of iOS where system libraries are all
-   * part of dyld_shared_cache... */
-  module = g_module_open (CM_FRAMEWORK_PATH, 0);
-  if (module != NULL) {
-    result = _gst_dyn_api_new (gst_cm_api_get_type (), CM_FRAMEWORK_PATH,
-        symbols, error);
-    g_module_close (module);
-  } else {
-    GstDynSymSpec *old_symbols;
-    guint i;
-
-    old_symbols = g_memdup (symbols, sizeof (symbols));
-    for (i = 0; old_symbols[i].name != NULL; i++) {
-      const gchar *name = old_symbols[i].name;
-      const gchar *translated_name;
-
-      if (g_str_has_prefix (name, "CM"))
-        translated_name = g_strconcat ("Fig", name + 2, NULL);
-      else if (g_str_has_prefix (name, "kCM"))
-        translated_name = g_strconcat ("kFig", name + 3, NULL);
-      else
-        translated_name = g_strdup (name);
-
-      old_symbols[i].name = translated_name;
-    }
-
-    result = _gst_dyn_api_new (gst_cm_api_get_type (), CM_FRAMEWORK_PATH_OLD,
-        old_symbols, error);
-
-    for (i = 0; old_symbols[i].name != NULL; i++)
-      g_free ((gpointer) old_symbols[i].name);
-    g_free (old_symbols);
-  }
-
-  return result;
-}
diff --git a/sys/applemedia-nonpublic/cmapi.h b/sys/applemedia-nonpublic/cmapi.h
deleted file mode 100644
index 92565fc..0000000
--- a/sys/applemedia-nonpublic/cmapi.h
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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_CM_API_H__
-#define __GST_CM_API_H__
-
-#include "dynapi.h"
-
-#include <CoreFoundation/CoreFoundation.h>
-#include "cvapi.h"
-
-G_BEGIN_DECLS
-
-typedef struct _GstCMApi GstCMApi;
-typedef struct _GstCMApiClass GstCMApiClass;
-
-typedef CFTypeRef FigBaseObjectRef;
-typedef struct _FigBaseVTable FigBaseVTable;
-typedef struct _FigBaseIface FigBaseIface;
-
-typedef CFTypeRef CMFormatDescriptionRef;
-typedef struct _CMVideoDimensions CMVideoDimensions;
-typedef struct _CMTime CMTime;
-
-typedef CFTypeRef CMBufferQueueRef;
-typedef SInt32 CMBufferQueueTriggerCondition;
-typedef struct _CMBufferQueueTriggerToken *CMBufferQueueTriggerToken;
-typedef CFTypeRef CMSampleBufferRef;
-typedef CFTypeRef CMBlockBufferRef;
-
-typedef void (* CMBufferQueueTriggerCallback) (void *triggerRefcon,
-    CMBufferQueueTriggerToken triggerToken);
-typedef Boolean (* CMBufferQueueValidationCallback) (CMBufferQueueRef queue,
-    CMSampleBufferRef buf, void *refCon);
-
-enum _FigMediaType
-{
-  kFigMediaTypeVideo = 'vide'
-};
-
-enum _FigCodecType
-{
-  kComponentVideoUnsigned           = 'yuvs',
-  kFigVideoCodecType_JPEG_OpenDML   = 'dmb1',
-  kYUV420vCodecType                 = '420v'
-};
-
-enum _CMBufferQueueTriggerCondition
-{
-  kCMBufferQueueTrigger_WhenDurationBecomesLessThan             = 1,
-  kCMBufferQueueTrigger_WhenDurationBecomesLessThanOrEqualTo    = 2,
-  kCMBufferQueueTrigger_WhenDurationBecomesGreaterThan          = 3,
-  kCMBufferQueueTrigger_WhenDurationBecomesGreaterThanOrEqualTo = 4,
-  kCMBufferQueueTrigger_WhenMinPresentationTimeStampChanges     = 5,
-  kCMBufferQueueTrigger_WhenMaxPresentationTimeStampChanges     = 6,
-  kCMBufferQueueTrigger_WhenDataBecomesReady                    = 7,
-  kCMBufferQueueTrigger_WhenEndOfDataReached                    = 8,
-  kCMBufferQueueTrigger_WhenReset                               = 9,
-  kCMBufferQueueTrigger_WhenBufferCountBecomesLessThan          = 10,
-  kCMBufferQueueTrigger_WhenBufferCountBecomesGreaterThan       = 11
-};
-
-struct _FigBaseVTable
-{
-  gsize unk;
-  FigBaseIface * base;
-  void * derived;
-};
-
-struct _FigBaseIface
-{
-  gsize unk1;
-  gsize unk2;
-  gsize unk3;
-  OSStatus (* Invalidate) (FigBaseObjectRef obj);
-  OSStatus (* Finalize) (FigBaseObjectRef obj);
-  gpointer unk4;
-  OSStatus (* CopyProperty) (FigBaseObjectRef obj, CFTypeRef key, void *unk,
-      CFTypeRef * value);
-  OSStatus (* SetProperty) (FigBaseObjectRef obj, CFTypeRef key,
-      CFTypeRef value);
-};
-
-struct _CMVideoDimensions
-{
-  UInt32 width;
-  UInt32 height;
-};
-
-struct _CMTime
-{
-  UInt8 data[24];
-};
-
-struct _GstCMApi
-{
-  GstDynApi parent;
-
-  FigBaseVTable * (* FigBaseObjectGetVTable) (FigBaseObjectRef obj);
-
-  void * (* CMGetAttachment) (CFTypeRef obj, CFStringRef attachmentKey,
-      UInt32 * foundWherePtr);
-
-  void (* FigFormatDescriptionRelease) (CMFormatDescriptionRef desc);
-  CMFormatDescriptionRef (* FigFormatDescriptionRetain) (
-      CMFormatDescriptionRef desc);
-  Boolean (* CMFormatDescriptionEqual) (CMFormatDescriptionRef desc1,
-      CMFormatDescriptionRef desc2);
-  CFTypeRef (* CMFormatDescriptionGetExtension) (
-      const CMFormatDescriptionRef desc, CFStringRef extensionKey);
-  UInt32 (* CMFormatDescriptionGetMediaType) (
-      const CMFormatDescriptionRef desc);
-  UInt32 (* CMFormatDescriptionGetMediaSubType) (
-      const CMFormatDescriptionRef desc);
-
-  OSStatus (* CMVideoFormatDescriptionCreate) (
-      CFAllocatorRef allocator, UInt32 formatId, UInt32 width, UInt32 height,
-      CFDictionaryRef extensions, CMFormatDescriptionRef * desc);
-  OSStatus (* FigVideoFormatDescriptionCreateWithSampleDescriptionExtensionAtom)
-      (CFAllocatorRef allocator, UInt32 formatId, UInt32 width, UInt32 height,
-      UInt32 atomId, const UInt8 * data, CFIndex len, void *unk1,
-      CMFormatDescriptionRef * formatDesc);
-  CMVideoDimensions (* CMVideoFormatDescriptionGetDimensions) (
-      const CMFormatDescriptionRef desc);
-
-  CMTime (* CMTimeMake) (int64_t value, int32_t timescale);
-
-  OSStatus (* CMSampleBufferCreate) (CFAllocatorRef allocator,
-      CMBlockBufferRef blockBuf, Boolean dataReady,
-      void *makeDataReadyCallback,
-      void *makeDataReadyRefcon,
-      CMFormatDescriptionRef fmtDesc, size_t numSamples,
-      size_t numSampleTimingEntries,
-      const void *sampleTimingArray,
-      size_t numSampleSizeEntries, const size_t *sampleSizeArray,
-      CMSampleBufferRef * sampleBuffer);
-  Boolean (* CMSampleBufferDataIsReady) (
-      const CMSampleBufferRef buf);
-  CMBlockBufferRef (* CMSampleBufferGetDataBuffer) (
-      const CMSampleBufferRef buf);
-  CMFormatDescriptionRef (* CMSampleBufferGetFormatDescription) (
-      const CMSampleBufferRef buf);
-  CVImageBufferRef (* CMSampleBufferGetImageBuffer) (
-      const CMSampleBufferRef buf);
-  SInt32 (* CMSampleBufferGetNumSamples) (
-      const CMSampleBufferRef buf);
-  CFArrayRef (* CMSampleBufferGetSampleAttachmentsArray) (
-      const CMSampleBufferRef buf, SInt32 sampleIndex);
-  SInt32 (* CMSampleBufferGetSampleSize) (
-      const CMSampleBufferRef buf, SInt32 sampleIndex);
-  void (* FigSampleBufferRelease) (CMSampleBufferRef buf);
-  CMSampleBufferRef (* FigSampleBufferRetain) (CMSampleBufferRef buf);
-
-  OSStatus (* CMBlockBufferCreateWithMemoryBlock)
-      (CFAllocatorRef allocator, void * memoryBlock, size_t blockLength,
-      CFAllocatorRef dataAllocator, void *customBlockSource,
-      size_t offsetToData, size_t dataLength,
-      int flags, CMBlockBufferRef * blockBuffer);
-  SInt32 (* CMBlockBufferGetDataLength) (const CMBlockBufferRef buf);
-  OSStatus (* CMBlockBufferGetDataPointer) (
-      const CMBlockBufferRef buf, UInt32 unk1, UInt32 unk2, UInt32 unk3,
-      Byte ** dataPtr);
-  void (* FigBlockBufferRelease) (CMBlockBufferRef buf);
-  CMBlockBufferRef (* FigBlockBufferRetain) (CMBlockBufferRef buf);
-
-  CMSampleBufferRef (* CMBufferQueueDequeueAndRetain)
-      (CMBufferQueueRef queue);
-  CFIndex (* CMBufferQueueGetBufferCount) (CMBufferQueueRef queue);
-  OSStatus (* CMBufferQueueInstallTrigger) (CMBufferQueueRef queue,
-      CMBufferQueueTriggerCallback triggerCallback, void * triggerRefCon,
-      CMBufferQueueTriggerCondition triggerCondition, CMTime triggerTime,
-      CMBufferQueueTriggerToken * triggerTokenOut);
-  Boolean (* CMBufferQueueIsEmpty) (CMBufferQueueRef queue);
-  void (* FigBufferQueueRelease) (CMBufferQueueRef queue);
-  OSStatus (* CMBufferQueueRemoveTrigger) (CMBufferQueueRef queue,
-      CMBufferQueueTriggerToken triggerToken);
-  OSStatus (* CMBufferQueueSetValidationCallback) (CMBufferQueueRef queue,
-      CMBufferQueueValidationCallback func, void *refCon);
-
-  CFStringRef * kCMFormatDescriptionExtension_SampleDescriptionExtensionAtoms;
-  CFStringRef * kCMSampleAttachmentKey_DependsOnOthers;
-  CMTime * kCMTimeInvalid;
-};
-
-struct _GstCMApiClass
-{
-  GstDynApiClass parent_class;
-};
-
-GType gst_cm_api_get_type (void);
-
-GstCMApi * gst_cm_api_obtain (GError ** error);
-
-G_END_DECLS
-
-#endif
diff --git a/sys/applemedia-nonpublic/coremediabuffer.c b/sys/applemedia-nonpublic/coremediabuffer.c
deleted file mode 100644
index bec604a..0000000
--- a/sys/applemedia-nonpublic/coremediabuffer.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright (C) 2009 Ole André Vadla Ravnås <oleavr@soundrop.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.
- */
-
-#include "coremediabuffer.h"
-
-static gboolean
-gst_core_media_meta_init (GstCoreMediaMeta * meta, gpointer params,
-    GstBuffer * buf)
-{
-  meta->ctx = NULL;
-  meta->sample_buf = NULL;
-  meta->image_buf = NULL;
-  meta->pixel_buf = NULL;
-  meta->block_buf = NULL;
-
-  return TRUE;
-}
-
-static void
-gst_core_media_meta_free (GstCoreMediaMeta * meta, GstBuffer * buf)
-{
-  if (meta->image_buf != NULL) {
-    GstCVApi *cv = meta->ctx->cv;
-    cv->CVPixelBufferUnlockBaseAddress (meta->image_buf,
-        kCVPixelBufferLock_ReadOnly);
-  }
-  meta->ctx->cm->FigSampleBufferRelease (meta->sample_buf);
-  g_object_unref (meta->ctx);
-}
-
-GType
-gst_core_media_meta_api_get_type (void)
-{
-  static volatile GType type;
-  static const gchar *tags[] = { "memory", NULL };
-
-  if (g_once_init_enter (&type)) {
-    GType _type = gst_meta_api_type_register ("GstCoreMediaMetaAPI", tags);
-    g_once_init_leave (&type, _type);
-  }
-  return type;
-}
-
-static const GstMetaInfo *
-gst_core_media_meta_get_info (void)
-{
-  static const GstMetaInfo *core_media_meta_info = NULL;
-
-  if (g_once_init_enter (&core_media_meta_info)) {
-    const GstMetaInfo *meta = gst_meta_register (GST_CORE_MEDIA_META_API_TYPE,
-        "GstCoreMediaMeta", sizeof (GstCoreMediaMeta),
-        (GstMetaInitFunction) gst_core_media_meta_init,
-        (GstMetaFreeFunction) gst_core_media_meta_free,
-        (GstMetaTransformFunction) NULL);
-    g_once_init_leave (&core_media_meta_info, meta);
-  }
-  return core_media_meta_info;
-}
-
-GstBuffer *
-gst_core_media_buffer_new (GstCoreMediaCtx * ctx, CMSampleBufferRef sample_buf)
-{
-  GstCVApi *cv = ctx->cv;
-  GstCMApi *cm = ctx->cm;
-  CVImageBufferRef image_buf;
-  CVPixelBufferRef pixel_buf;
-  CMBlockBufferRef block_buf;
-  Byte *data = NULL;
-  UInt32 size;
-  OSStatus status;
-  GstBuffer *buf;
-  GstCoreMediaMeta *meta;
-
-  image_buf = cm->CMSampleBufferGetImageBuffer (sample_buf);
-  pixel_buf = NULL;
-  block_buf = cm->CMSampleBufferGetDataBuffer (sample_buf);
-
-  if (image_buf != NULL &&
-      CFGetTypeID (image_buf) == cv->CVPixelBufferGetTypeID ()) {
-    pixel_buf = (CVPixelBufferRef) image_buf;
-
-    if (cv->CVPixelBufferLockBaseAddress (pixel_buf,
-            kCVPixelBufferLock_ReadOnly) != kCVReturnSuccess) {
-      goto error;
-    }
-
-    if (cv->CVPixelBufferIsPlanar (pixel_buf)) {
-      gint plane_count, plane_idx;
-
-      data = cv->CVPixelBufferGetBaseAddressOfPlane (pixel_buf, 0);
-
-      size = 0;
-      plane_count = cv->CVPixelBufferGetPlaneCount (pixel_buf);
-      for (plane_idx = 0; plane_idx != plane_count; plane_idx++) {
-        size += cv->CVPixelBufferGetBytesPerRowOfPlane (pixel_buf, plane_idx) *
-            cv->CVPixelBufferGetHeightOfPlane (pixel_buf, plane_idx);
-      }
-    } else {
-      data = cv->CVPixelBufferGetBaseAddress (pixel_buf);
-      size = cv->CVPixelBufferGetBytesPerRow (pixel_buf) *
-          cv->CVPixelBufferGetHeight (pixel_buf);
-    }
-  } else if (block_buf != NULL) {
-    status = cm->CMBlockBufferGetDataPointer (block_buf, 0, 0, 0, &data);
-    if (status != noErr)
-      goto error;
-    size = cm->CMBlockBufferGetDataLength (block_buf);
-  } else {
-    goto error;
-  }
-
-  buf = gst_buffer_new ();
-
-  meta = (GstCoreMediaMeta *) gst_buffer_add_meta (buf,
-      gst_core_media_meta_get_info (), NULL);
-  meta->ctx = g_object_ref (ctx);
-  meta->sample_buf = cm->FigSampleBufferRetain (sample_buf);
-  meta->image_buf = image_buf;
-  meta->pixel_buf = pixel_buf;
-  meta->block_buf = block_buf;
-
-  gst_buffer_append_memory (buf,
-      gst_memory_new_wrapped (GST_MEMORY_FLAG_NO_SHARE, data,
-          size, 0, size, NULL, NULL));
-
-  return buf;
-
-error:
-  return NULL;
-}
-
-CVPixelBufferRef
-gst_core_media_buffer_get_pixel_buffer (GstBuffer * buf)
-{
-  GstCoreMediaMeta *meta = (GstCoreMediaMeta *) gst_buffer_get_meta (buf,
-      GST_CORE_MEDIA_META_API_TYPE);
-  g_return_val_if_fail (meta != NULL, NULL);
-
-  return meta->ctx->cv->CVPixelBufferRetain (meta->pixel_buf);
-}
diff --git a/sys/applemedia-nonpublic/coremediabuffer.h b/sys/applemedia-nonpublic/coremediabuffer.h
deleted file mode 100644
index dffb43f..0000000
--- a/sys/applemedia-nonpublic/coremediabuffer.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (C) 2009 Ole André Vadla Ravnås <oleavr@soundrop.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_CORE_MEDIA_BUFFER_H__
-#define __GST_CORE_MEDIA_BUFFER_H__
-
-#include <gst/gst.h>
-
-#include "coremediactx.h"
-
-G_BEGIN_DECLS
-
-#define GST_CORE_MEDIA_META_API_TYPE (gst_core_media_meta_api_get_type())
-#define gst_buffer_get_core_media_meta(b) \
-  ((GstCoreMediaMeta*)gst_buffer_get_meta((b),GST_CORE_MEDIA_META_API_TYPE))
-
-typedef struct _GstCoreMediaMeta
-{
-  GstMeta meta;
-
-  GstCoreMediaCtx * ctx;
-  CMSampleBufferRef sample_buf;
-  CVImageBufferRef image_buf;
-  CVPixelBufferRef pixel_buf;
-  CMBlockBufferRef block_buf;
-} GstCoreMediaMeta;
-
-
-GstBuffer * gst_core_media_buffer_new      (GstCoreMediaCtx * ctx,
-                                            CMSampleBufferRef sample_buf);
-CVPixelBufferRef gst_core_media_buffer_get_pixel_buffer
-                                           (GstBuffer * buf);
-GType gst_core_media_meta_api_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_CORE_MEDIA_BUFFER_H__ */
diff --git a/sys/applemedia-nonpublic/coremediactx.c b/sys/applemedia-nonpublic/coremediactx.c
deleted file mode 100644
index 2890205..0000000
--- a/sys/applemedia-nonpublic/coremediactx.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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 "coremediactx.h"
-
-#include <gst/gst.h>
-
-typedef struct _GstApiProvider GstApiProvider;
-
-typedef gpointer (*GstApiProviderObtainFunc) (GError ** error);
-
-struct _GstApiProvider
-{
-  GstCoreMediaApi api;
-  GstApiProviderObtainFunc obtain;
-  guint offset;
-};
-
-#define API_PROVIDER(AN, a_n) \
-  { GST_API_##AN, (GstApiProviderObtainFunc) gst_##a_n##_api_obtain, \
-    G_STRUCT_OFFSET (GstCoreMediaCtx, a_n) }
-
-static const GstApiProvider api_provider[] = {
-  API_PROVIDER (CORE_VIDEO, cv),
-  API_PROVIDER (CORE_MEDIA, cm),
-#ifdef HAVE_IOS
-#if 0
-  API_PROVIDER (MEDIA_TOOLBOX, mt),
-  API_PROVIDER (CELESTIAL, cel)
-#endif
-#else
-  API_PROVIDER (MIO, mio),
-#endif
-};
-
-G_DEFINE_TYPE (GstCoreMediaCtx, gst_core_media_ctx, G_TYPE_OBJECT);
-
-static void
-gst_core_media_ctx_init (GstCoreMediaCtx * self)
-{
-}
-
-static void
-gst_core_media_ctx_dispose (GObject * object)
-{
-  GstCoreMediaCtx *self = GST_CORE_MEDIA_CTX_CAST (object);
-  guint i;
-
-  for (i = 0; i != G_N_ELEMENTS (api_provider); i++) {
-    const GstApiProvider *ap = &api_provider[i];
-    gpointer *api_ptr = (gpointer *) ((guint8 *) self + ap->offset);
-
-    if (*api_ptr != NULL) {
-      g_object_unref (*api_ptr);
-      *api_ptr = NULL;
-    }
-  }
-
-  G_OBJECT_CLASS (gst_core_media_ctx_parent_class)->dispose (object);
-}
-
-static void
-gst_core_media_ctx_class_init (GstCoreMediaCtxClass * klass)
-{
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
-  gobject_class->dispose = gst_core_media_ctx_dispose;
-}
-
-GstCoreMediaCtx *
-gst_core_media_ctx_new (GstCoreMediaApi required_apis, GError ** error)
-{
-  GstCoreMediaCtx *ctx;
-  GArray *error_messages;
-  guint i;
-
-  ctx = g_object_new (GST_TYPE_CORE_MEDIA_CTX, NULL);
-
-  error_messages = g_array_new (TRUE, FALSE, sizeof (gchar *));
-
-  for (i = 0; i != G_N_ELEMENTS (api_provider); i++) {
-    const GstApiProvider *ap = &api_provider[i];
-
-    if ((required_apis & ap->api) != 0) {
-      gpointer *api_ptr = (gpointer *) ((guint8 *) ctx + ap->offset);
-      GError *tmp_error = NULL;
-
-      *api_ptr = ap->obtain (&tmp_error);
-      if (tmp_error != NULL) {
-        gchar *message_copy = g_strdup (tmp_error->message);
-        g_array_append_val (error_messages, message_copy);
-        g_clear_error (&tmp_error);
-      }
-    }
-  }
-
-  if (error_messages->len != 0) {
-    gchar *errors_joined;
-
-    errors_joined = g_strjoinv ("\n\t* ", (gchar **) error_messages->data);
-    g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_FAILED,
-        "Could not obtain required API%s:%s%s",
-        (error_messages->len == 1) ? "" : "s",
-        (error_messages->len == 1) ? " " : "\n\t* ", errors_joined);
-    g_free (errors_joined);
-
-    g_object_unref (ctx);
-    ctx = NULL;
-  }
-
-  for (i = 0; i != error_messages->len; i++)
-    g_free (g_array_index (error_messages, gchar *, i));
-  g_array_free (error_messages, TRUE);
-
-  return ctx;
-}
diff --git a/sys/applemedia-nonpublic/coremediactx.h b/sys/applemedia-nonpublic/coremediactx.h
deleted file mode 100644
index 45640bd..0000000
--- a/sys/applemedia-nonpublic/coremediactx.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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_CORE_MEDIA_CTX_H__
-#define __GST_CORE_MEDIA_CTX_H__
-
-#include "cvapi.h"
-#include "cmapi.h"
-
-#include "mioapi.h"
-
-#include "mtapi.h"
-#include "celapi.h"
-
-#include <glib.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_CORE_MEDIA_CTX \
-  (gst_core_media_ctx_get_type ())
-#define GST_CORE_MEDIA_CTX(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_CORE_MEDIA_CTX, GstCoreMediaCtx))
-#define GST_CORE_MEDIA_CTX_CAST(obj) \
-  ((GstCoreMediaCtx *) (obj))
-#define GST_CORE_MEDIA_CTX_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_CORE_MEDIA_CTX, GstCoreMediaCtxClass))
-#define GST_IS_CORE_MEDIA_CTX(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_CORE_MEDIA_CTX))
-#define GST_IS_CORE_MEDIA_CTX_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_CORE_MEDIA_CTX))
-
-typedef struct _GstCoreMediaCtx GstCoreMediaCtx;
-typedef struct _GstCoreMediaCtxClass GstCoreMediaCtxClass;
-
-typedef enum _GstCoreMediaApi GstCoreMediaApi;
-
-struct _GstCoreMediaCtx
-{
-  GObject parent;
-
-  /* Common */
-  GstCVApi *cv;
-  GstCMApi *cm;
-
-  /* OS X */
-  GstMIOApi *mio;
-
-  /* iPhone */
-  GstMTApi *mt;
-  GstCelApi *cel;
-};
-
-struct _GstCoreMediaCtxClass
-{
-  GObjectClass parent_class;
-};
-
-enum _GstCoreMediaApi
-{
-  GST_API_CORE_VIDEO    = (1 << 0),
-  GST_API_CORE_MEDIA    = (1 << 1),
-  GST_API_VIDEO_TOOLBOX = (1 << 2),
-
-  GST_API_MIO           = (1 << 3),
-
-  GST_API_MEDIA_TOOLBOX = (1 << 4),
-  GST_API_CELESTIAL     = (1 << 5)
-};
-
-GType gst_core_media_ctx_get_type (void);
-
-GstCoreMediaCtx * gst_core_media_ctx_new (GstCoreMediaApi required_apis,
-    GError ** error);
-
-G_END_DECLS
-
-#endif
diff --git a/sys/applemedia-nonpublic/corevideobuffer.c b/sys/applemedia-nonpublic/corevideobuffer.c
deleted file mode 100644
index 26b5643..0000000
--- a/sys/applemedia-nonpublic/corevideobuffer.c
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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.
- */
-
-#include "corevideobuffer.h"
-
-static gboolean
-gst_core_video_meta_init (GstCoreVideoMeta * meta, gpointer params,
-    GstBuffer * buf)
-{
-  meta->ctx = NULL;
-  meta->cvbuf = NULL;
-  meta->pixbuf = NULL;
-
-  return TRUE;
-}
-
-static void
-gst_core_video_meta_free (GstCoreVideoMeta * meta, GstBuffer * buf)
-{
-  GstCVApi *cv = meta->ctx->cv;
-
-  if (meta->pixbuf != NULL) {
-    cv->CVPixelBufferUnlockBaseAddress (meta->pixbuf,
-        kCVPixelBufferLock_ReadOnly);
-  }
-
-  cv->CVBufferRelease (meta->cvbuf);
-  g_object_unref (meta->ctx);
-}
-
-GType
-gst_core_video_meta_api_get_type (void)
-{
-  static volatile GType type;
-  static const gchar *tags[] = { "memory", NULL };
-
-  if (g_once_init_enter (&type)) {
-    GType _type = gst_meta_api_type_register ("GstCoreVideoMetaAPI", tags);
-    g_once_init_leave (&type, _type);
-  }
-  return type;
-}
-
-static const GstMetaInfo *
-gst_core_video_meta_get_info (void)
-{
-  static const GstMetaInfo *core_video_meta_info = NULL;
-
-  if (g_once_init_enter (&core_video_meta_info)) {
-    const GstMetaInfo *meta = gst_meta_register (GST_CORE_VIDEO_META_API_TYPE,
-        "GstCoreVideoMeta", sizeof (GstCoreVideoMeta),
-        (GstMetaInitFunction) gst_core_video_meta_init,
-        (GstMetaFreeFunction) gst_core_video_meta_free,
-        (GstMetaTransformFunction) NULL);
-    g_once_init_leave (&core_video_meta_info, meta);
-  }
-  return core_video_meta_info;
-}
-
-GstBuffer *
-gst_core_video_buffer_new (GstCoreMediaCtx * ctx, CVBufferRef cvbuf,
-    GstVideoInfo * vinfo)
-{
-  GstCVApi *cv = ctx->cv;
-  void *data;
-  size_t size;
-  CVPixelBufferRef pixbuf = NULL;
-  GstBuffer *buf;
-  GstCoreVideoMeta *meta;
-  guint width, height, n_planes, i;
-  gsize offset[GST_VIDEO_MAX_PLANES];
-  gint stride[GST_VIDEO_MAX_PLANES];
-
-  if (CFGetTypeID (cvbuf) != cv->CVPixelBufferGetTypeID ())
-    /* TODO: Do we need to handle other buffer types? */
-    goto error;
-
-  pixbuf = (CVPixelBufferRef) cvbuf;
-
-  if (cv->CVPixelBufferLockBaseAddress (pixbuf,
-          kCVPixelBufferLock_ReadOnly) != kCVReturnSuccess) {
-    goto error;
-  }
-
-  buf = gst_buffer_new ();
-
-  /* add the corevideo meta to free the underlying corevideo buffer */
-  meta = (GstCoreVideoMeta *) gst_buffer_add_meta (buf,
-      gst_core_video_meta_get_info (), NULL);
-  meta->ctx = g_object_ref (ctx);
-  meta->cvbuf = cv->CVBufferRetain (cvbuf);
-  meta->pixbuf = pixbuf;
-
-  /* set stride, offset and size */
-  memset (&offset, 0, sizeof (offset));
-  memset (&stride, 0, sizeof (stride));
-
-  data = cv->CVPixelBufferGetBaseAddress (pixbuf);
-  height = cv->CVPixelBufferGetHeight (pixbuf);
-  if (cv->CVPixelBufferIsPlanar (pixbuf)) {
-    GstVideoInfo tmp_vinfo;
-
-    n_planes = cv->CVPixelBufferGetPlaneCount (pixbuf);
-    for (i = 0; i < n_planes; ++i)
-      stride[i] = cv->CVPixelBufferGetBytesPerRowOfPlane (pixbuf, i);
-
-    /* FIXME: don't hardcode NV12 */
-    gst_video_info_init (&tmp_vinfo);
-    gst_video_info_set_format (&tmp_vinfo,
-        GST_VIDEO_FORMAT_NV12, stride[0], height);
-    offset[1] = tmp_vinfo.offset[1];
-    size = tmp_vinfo.size;
-  } else {
-    n_planes = 1;
-    size = cv->CVPixelBufferGetBytesPerRow (pixbuf) * height;
-  }
-
-  gst_buffer_append_memory (buf,
-      gst_memory_new_wrapped (GST_MEMORY_FLAG_NO_SHARE, data,
-          size, 0, size, NULL, NULL));
-
-  if (vinfo) {
-    GstVideoMeta *video_meta;
-
-    width = vinfo->width;
-    video_meta =
-        gst_buffer_add_video_meta_full (buf, GST_VIDEO_FRAME_FLAG_NONE,
-        GST_VIDEO_FORMAT_NV12, width, height, n_planes, offset, stride);
-  }
-
-  return buf;
-
-error:
-  return NULL;
-}
diff --git a/sys/applemedia-nonpublic/corevideobuffer.h b/sys/applemedia-nonpublic/corevideobuffer.h
deleted file mode 100644
index 844d655..0000000
--- a/sys/applemedia-nonpublic/corevideobuffer.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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_CORE_VIDEO_BUFFER_H__
-#define __GST_CORE_VIDEO_BUFFER_H__
-
-#include <gst/gst.h>
-#include <gst/video/video.h>
-#include <gst/video/gstvideometa.h>
-
-#include "coremediactx.h"
-
-G_BEGIN_DECLS
-
-#define GST_CORE_VIDEO_META_API_TYPE (gst_core_video_meta_api_get_type())
-#define gst_buffer_get_core_video_meta(b) \
-  ((GstCoreVideoMeta*)gst_buffer_get_meta((b),GST_CORE_VIDEO_META_API_TYPE))
-
-typedef struct _GstCoreVideoMeta
-{
-  GstMeta meta;
-
-  GstCoreMediaCtx *ctx;
-  CVBufferRef cvbuf;
-  CVPixelBufferRef pixbuf;
-} GstCoreVideoMeta;
-
-GstBuffer * gst_core_video_buffer_new      (GstCoreMediaCtx * ctx,
-                                            CVBufferRef cvbuf,
-                                            GstVideoInfo *info);
-GType gst_core_video_meta_api_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_CORE_VIDEO_BUFFER_H__ */
diff --git a/sys/applemedia-nonpublic/cvapi.c b/sys/applemedia-nonpublic/cvapi.c
deleted file mode 100644
index 998428a..0000000
--- a/sys/applemedia-nonpublic/cvapi.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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.
- */
-
-#include "cvapi.h"
-
-#include "dynapi-internal.h"
-
-#define CV_FRAMEWORK_PATH "/System/Library/Frameworks/CoreVideo.framework/" \
-    "CoreVideo"
-
-G_DEFINE_TYPE (GstCVApi, gst_cv_api, GST_TYPE_DYN_API);
-
-static void
-gst_cv_api_init (GstCVApi * self)
-{
-}
-
-static void
-gst_cv_api_class_init (GstCVApiClass * klass)
-{
-}
-
-#define SYM_SPEC(name) GST_DYN_SYM_SPEC (GstCVApi, name)
-#define SYM_SPEC_OPTIONAL(name) GST_DYN_SYM_SPEC_OPTIONAL (GstCVApi, name)
-
-GstCVApi *
-gst_cv_api_obtain (GError ** error)
-{
-  static const GstDynSymSpec symbols[] = {
-    SYM_SPEC (CVBufferRelease),
-    SYM_SPEC (CVBufferRetain),
-
-    SYM_SPEC (CVPixelBufferCreateWithBytes),
-    SYM_SPEC (CVPixelBufferCreateWithPlanarBytes),
-    SYM_SPEC (CVPixelBufferGetBaseAddress),
-    SYM_SPEC (CVPixelBufferGetBaseAddressOfPlane),
-    SYM_SPEC (CVPixelBufferGetBytesPerRow),
-    SYM_SPEC (CVPixelBufferGetBytesPerRowOfPlane),
-    SYM_SPEC (CVPixelBufferGetHeight),
-    SYM_SPEC (CVPixelBufferGetHeightOfPlane),
-    SYM_SPEC_OPTIONAL (CVPixelBufferGetIOSurface),
-    SYM_SPEC (CVPixelBufferGetPlaneCount),
-    SYM_SPEC (CVPixelBufferGetTypeID),
-    SYM_SPEC (CVPixelBufferIsPlanar),
-    SYM_SPEC (CVPixelBufferLockBaseAddress),
-    SYM_SPEC (CVPixelBufferRelease),
-    SYM_SPEC (CVPixelBufferRetain),
-    SYM_SPEC (CVPixelBufferUnlockBaseAddress),
-
-    SYM_SPEC (kCVPixelBufferPixelFormatTypeKey),
-    SYM_SPEC (kCVPixelBufferWidthKey),
-    SYM_SPEC (kCVPixelBufferHeightKey),
-    SYM_SPEC (kCVPixelBufferBytesPerRowAlignmentKey),
-    SYM_SPEC (kCVPixelBufferPlaneAlignmentKey),
-
-    {NULL, 0},
-  };
-
-  return _gst_dyn_api_new (gst_cv_api_get_type (), CV_FRAMEWORK_PATH, symbols,
-      error);
-}
diff --git a/sys/applemedia-nonpublic/cvapi.h b/sys/applemedia-nonpublic/cvapi.h
deleted file mode 100644
index 63c8cba..0000000
--- a/sys/applemedia-nonpublic/cvapi.h
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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_CV_API_H__
-#define __GST_CV_API_H__
-
-#include "dynapi.h"
-
-#include <CoreFoundation/CoreFoundation.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GstCVApi GstCVApi;
-typedef struct _GstCVApiClass GstCVApiClass;
-
-typedef int32_t CVReturn;
-
-typedef uint64_t CVOptionFlags;
-
-typedef struct _CVBuffer * CVBufferRef;
-typedef CVBufferRef CVImageBufferRef;
-typedef CVImageBufferRef CVPixelBufferRef;
-
-typedef void (* CVPixelBufferReleaseBytesCallback) (void * releaseRefCon,
-    const void * baseAddress);
-
-enum _CVReturn
-{
-  kCVReturnSuccess = 0
-};
-
-enum _CVPixelFormatType
-{
-  kCVPixelFormatType_420YpCbCr8Planar             = 'y420',
-  kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange = '420v',
-  kCVPixelFormatType_422YpCbCr8Deprecated         = 'yuvs',
-  kCVPixelFormatType_422YpCbCr8                   = '2vuy'
-};
-
-enum _CVPixelBufferLockFlags
-{
-  kCVPixelBufferLock_ReadOnly = 0x00000001
-};
-
-struct _GstCVApi
-{
-  GstDynApi parent;
-
-  void (* CVBufferRelease) (CVBufferRef buffer);
-  CVBufferRef (* CVBufferRetain) (CVBufferRef buffer);
-
-  CVReturn (* CVPixelBufferCreateWithBytes)
-      (CFAllocatorRef allocator, size_t width, size_t height,
-      OSType pixelFormatType, void * baseAddress, size_t bytesPerRow,
-      CVPixelBufferReleaseBytesCallback releaseCallback,
-      void * releaseRefCon, CFDictionaryRef pixelBufferAttributes,
-      CVPixelBufferRef * pixelBufferOut);
-  CVReturn (* CVPixelBufferCreateWithPlanarBytes)
-      (CFAllocatorRef allocator, size_t width, size_t height,
-      OSType pixelFormatType, void * dataPtr, size_t dataSize,
-      size_t numberOfPlanes, void *planeBaseAddress[],
-      size_t planeWidth[], size_t planeHeight[],
-      size_t planeBytesPerRow[],
-      CVPixelBufferReleaseBytesCallback releaseCallback,
-      void * releaseRefCon, CFDictionaryRef pixelBufferAttributes,
-      CVPixelBufferRef * pixelBufferOut);
-  void * (* CVPixelBufferGetBaseAddress)
-      (CVPixelBufferRef pixelBuffer);
-  void * (* CVPixelBufferGetBaseAddressOfPlane)
-      (CVPixelBufferRef pixelBuffer, size_t planeIndex);
-  size_t (* CVPixelBufferGetBytesPerRow)
-      (CVPixelBufferRef pixelBuffer);
-  size_t (* CVPixelBufferGetBytesPerRowOfPlane)
-      (CVPixelBufferRef pixelBuffer, size_t planeIndex);
-  size_t (* CVPixelBufferGetHeight) (CVPixelBufferRef pixelBuffer);
-  size_t (* CVPixelBufferGetHeightOfPlane)
-      (CVPixelBufferRef pixelBuffer, size_t planeIndex);
-  void * (* CVPixelBufferGetIOSurface)
-      (CVPixelBufferRef pixelBuffer);
-  size_t (* CVPixelBufferGetPlaneCount)
-      (CVPixelBufferRef pixelBuffer);
-  CFTypeID (* CVPixelBufferGetTypeID) (void);
-  Boolean (* CVPixelBufferIsPlanar) (CVPixelBufferRef pixelBuffer);
-  CVReturn (* CVPixelBufferLockBaseAddress)
-      (CVPixelBufferRef pixelBuffer, CVOptionFlags lockFlags);
-  void (* CVPixelBufferRelease) (CVPixelBufferRef pixelBuffer);
-  CVPixelBufferRef (* CVPixelBufferRetain)
-      (CVPixelBufferRef pixelBuffer);
-  CVReturn (* CVPixelBufferUnlockBaseAddress)
-      (CVPixelBufferRef pixelBuffer, CVOptionFlags unlockFlags);
-
-  CFStringRef * kCVPixelBufferPixelFormatTypeKey;
-  CFStringRef * kCVPixelBufferWidthKey;
-  CFStringRef * kCVPixelBufferHeightKey;
-  CFStringRef * kCVPixelBufferBytesPerRowAlignmentKey;
-  CFStringRef * kCVPixelBufferPlaneAlignmentKey;
-};
-
-struct _GstCVApiClass
-{
-  GstDynApiClass parent_class;
-};
-
-GType gst_cv_api_get_type (void);
-
-GstCVApi * gst_cv_api_obtain (GError ** error);
-
-G_END_DECLS
-
-#endif
diff --git a/sys/applemedia-nonpublic/dynapi-internal.h b/sys/applemedia-nonpublic/dynapi-internal.h
deleted file mode 100644
index adcd4f1..0000000
--- a/sys/applemedia-nonpublic/dynapi-internal.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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_DYN_API_INTERNAL_H__
-#define __GST_DYN_API_INTERNAL_H__
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GstDynSymSpec       GstDynSymSpec;
-
-struct _GstDynSymSpec
-{
-  const gchar * name;
-  guint offset;
-  gboolean is_required;
-};
-
-gpointer _gst_dyn_api_new (GType derived_type, const gchar * filename,
-    const GstDynSymSpec * symbols, GError ** error);
-
-G_END_DECLS
-
-#endif
-
diff --git a/sys/applemedia-nonpublic/dynapi.c b/sys/applemedia-nonpublic/dynapi.c
deleted file mode 100644
index 2317f80..0000000
--- a/sys/applemedia-nonpublic/dynapi.c
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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.
- */
-
-#include "dynapi.h"
-
-#include "dynapi-internal.h"
-
-#include <gmodule.h>
-#include <gst/gst.h>
-
-GST_DEBUG_CATEGORY (gst_dyn_api_debug);
-#define GST_CAT_DEFAULT gst_dyn_api_debug
-
-enum
-{
-  PROP_0,
-  PROP_FILENAME
-};
-
-struct _GstDynApiPrivate
-{
-  gchar *filename;
-  GModule *module;
-};
-
-G_DEFINE_TYPE (GstDynApi, gst_dyn_api, G_TYPE_OBJECT);
-
-static void
-gst_dyn_api_init (GstDynApi * self)
-{
-  self->priv = G_TYPE_INSTANCE_GET_PRIVATE (self, GST_TYPE_DYN_API,
-      GstDynApiPrivate);
-}
-
-static void
-gst_dyn_api_dispose (GObject * object)
-{
-  GstDynApi *self = GST_DYN_API_CAST (object);
-  GstDynApiPrivate *priv = self->priv;
-
-  if (priv->module != NULL) {
-    g_module_close (priv->module);
-    priv->module = NULL;
-  }
-
-  G_OBJECT_CLASS (gst_dyn_api_parent_class)->dispose (object);
-}
-
-static void
-gst_dyn_api_finalize (GObject * object)
-{
-  GstDynApi *self = GST_DYN_API_CAST (object);
-  GstDynApiPrivate *priv = self->priv;
-
-  g_free (priv->filename);
-
-  G_OBJECT_CLASS (gst_dyn_api_parent_class)->finalize (object);
-}
-
-static void
-gst_dyn_api_get_property (GObject * object, guint prop_id,
-    GValue * value, GParamSpec * pspec)
-{
-  GstDynApi *self = GST_DYN_API (object);
-
-  switch (prop_id) {
-    case PROP_FILENAME:
-      g_value_set_string (value, self->priv->filename);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static void
-gst_dyn_api_set_property (GObject * object, guint prop_id,
-    const GValue * value, GParamSpec * pspec)
-{
-  GstDynApi *self = GST_DYN_API (object);
-
-  switch (prop_id) {
-    case PROP_FILENAME:
-      g_free (self->priv->filename);
-      self->priv->filename = g_value_dup_string (value);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-      break;
-  }
-}
-
-static void
-gst_dyn_api_class_init (GstDynApiClass * klass)
-{
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
-  gobject_class->dispose = gst_dyn_api_dispose;
-  gobject_class->finalize = gst_dyn_api_finalize;
-  gobject_class->get_property = gst_dyn_api_get_property;
-  gobject_class->set_property = gst_dyn_api_set_property;
-
-  g_type_class_add_private (klass, sizeof (GstDynApiPrivate));
-
-  g_object_class_install_property (gobject_class, PROP_FILENAME,
-      g_param_spec_string ("filename", "Filename", "Filename", NULL,
-          G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS));
-}
-
-gpointer
-_gst_dyn_api_new (GType derived_type, const gchar * filename,
-    const GstDynSymSpec * symbols, GError ** error)
-{
-  GstDynApi *api;
-  GstDynApiPrivate *priv;
-  guint i;
-  GArray *names_not_found;
-
-  api = g_object_new (derived_type, "filename", filename, NULL);
-  priv = api->priv;
-
-  priv->module = g_module_open (priv->filename, 0);
-  if (priv->module == NULL)
-    goto open_failed;
-
-  names_not_found = g_array_new (TRUE, FALSE, sizeof (gchar *));
-
-  for (i = 0; symbols[i].name != NULL; i++) {
-    const GstDynSymSpec *s = &symbols[i];
-    if (!g_module_symbol (priv->module, s->name,
-            (gpointer *) (((guint8 *) api) + s->offset)) && s->is_required) {
-      g_array_append_val (names_not_found, s->name);
-    }
-  }
-
-  if (names_not_found->len > 0)
-    goto one_or_more_name_not_found;
-
-  g_array_free (names_not_found, TRUE);
-
-  return api;
-
-  /* ERRORS */
-open_failed:
-  {
-    gchar *basename;
-
-    basename = g_path_get_basename (filename);
-    g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_FAILED,
-        "failed to open %s", basename);
-    g_free (basename);
-
-    goto any_error;
-  }
-one_or_more_name_not_found:
-  {
-    gchar *basename, *names_joined;
-
-    basename = g_path_get_basename (filename);
-    names_joined = g_strjoinv (", ", (gchar **) names_not_found->data);
-    g_set_error (error, GST_RESOURCE_ERROR, GST_RESOURCE_ERROR_FAILED,
-        "missing %u symbol%s in %s: %s",
-        names_not_found->len, (names_not_found->len == 1) ? "" : "s",
-        basename, names_joined);
-    g_free (names_joined);
-    g_free (basename);
-    g_array_free (names_not_found, TRUE);
-
-    goto any_error;
-  }
-any_error:
-  {
-    g_object_unref (api);
-
-    return NULL;
-  }
-}
diff --git a/sys/applemedia-nonpublic/dynapi.h b/sys/applemedia-nonpublic/dynapi.h
deleted file mode 100644
index b8eda85..0000000
--- a/sys/applemedia-nonpublic/dynapi.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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_DYN_API_H__
-#define __GST_DYN_API_H__
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_DYN_API \
-  (gst_dyn_api_get_type ())
-#define GST_DYN_API(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_DYN_API, GstDynApi))
-#define GST_DYN_API_CAST(obj) \
-  ((GstDynApi *) (obj))
-#define GST_DYN_API_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_DYN_API, GstDynApiClass))
-#define GST_IS_DYN_API(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_DYN_API))
-#define GST_IS_DYN_API_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_DYN_API))
-
-#define GST_DYN_SYM_SPEC(type, name) \
-  { G_STRINGIFY (name), G_STRUCT_OFFSET (type, name), TRUE }
-#define GST_DYN_SYM_SPEC_OPTIONAL(type, name) \
-  { G_STRINGIFY (name), G_STRUCT_OFFSET (type, name), FALSE }
-
-typedef struct _GstDynApi GstDynApi;
-typedef struct _GstDynApiClass GstDynApiClass;
-typedef struct _GstDynApiPrivate GstDynApiPrivate;
-
-struct _GstDynApi
-{
-  GObject parent;
-
-  GstDynApiPrivate * priv;
-};
-
-struct _GstDynApiClass
-{
-  GObjectClass parent_class;
-};
-
-GType gst_dyn_api_get_type (void);
-
-G_END_DECLS
-
-#endif
diff --git a/sys/applemedia-nonpublic/mioapi.c b/sys/applemedia-nonpublic/mioapi.c
deleted file mode 100644
index 30d3d35..0000000
--- a/sys/applemedia-nonpublic/mioapi.c
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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.
- */
-
-#include "mioapi.h"
-
-#include "dynapi-internal.h"
-
-#define MIO_FRAMEWORK_PATH "/System/Library/PrivateFrameworks/" \
-    "CoreMediaIOServices.framework/CoreMediaIOServices"
-
-GType gst_mio_api_get_type (void);
-
-G_DEFINE_TYPE (GstMIOApi, gst_mio_api, GST_TYPE_DYN_API);
-
-static void
-gst_mio_api_init (GstMIOApi * self)
-{
-}
-
-static void
-gst_mio_api_class_init (GstMIOApiClass * klass)
-{
-}
-
-#define SYM_SPEC(name) GST_DYN_SYM_SPEC (GstMIOApi, name)
-
-GstMIOApi *
-gst_mio_api_obtain (GError ** error)
-{
-  static const GstDynSymSpec symbols[] = {
-    SYM_SPEC (TundraGraphCreate),
-    SYM_SPEC (TundraGraphRelease),
-    SYM_SPEC (TundraGraphCreateNode),
-    SYM_SPEC (TundraGraphGetNodeInfo),
-    SYM_SPEC (TundraGraphSetProperty),
-    SYM_SPEC (TundraGraphConnectNodeInput),
-    SYM_SPEC (TundraGraphInitialize),
-    SYM_SPEC (TundraGraphUninitialize),
-    SYM_SPEC (TundraGraphStart),
-    SYM_SPEC (TundraGraphStop),
-
-    SYM_SPEC (TundraObjectGetPropertyDataSize),
-    SYM_SPEC (TundraObjectGetPropertyData),
-    SYM_SPEC (TundraObjectIsPropertySettable),
-    SYM_SPEC (TundraObjectSetPropertyData),
-
-    SYM_SPEC (kTundraSampleBufferAttachmentKey_SequenceNumber),
-    SYM_SPEC (kTundraSampleBufferAttachmentKey_HostTime),
-
-    {NULL, 0},
-  };
-
-  return _gst_dyn_api_new (gst_mio_api_get_type (), MIO_FRAMEWORK_PATH, symbols,
-      error);
-}
-
-gpointer
-gst_mio_object_get_pointer (gint obj, TundraTargetSpec * pspec, GstMIOApi * mio)
-{
-  gpointer ptr;
-  guint sz;
-  TundraStatus status;
-
-  sz = sizeof (ptr);
-  status = mio->TundraObjectGetPropertyData (obj, pspec, 0, NULL, &sz, &ptr);
-  if (status != kTundraSuccess)
-    goto error;
-
-  return ptr;
-
-error:
-  return NULL;
-}
-
-gchar *
-gst_mio_object_get_string (gint obj, TundraTargetSpec * pspec, GstMIOApi * mio)
-{
-  gchar *result = NULL;
-  CFStringRef str;
-  guint size;
-  TundraStatus status;
-  CFRange range;
-
-  size = sizeof (str);
-  status = mio->TundraObjectGetPropertyData (obj, pspec, 0, NULL, &size, &str);
-  if (status != kTundraSuccess)
-    goto error;
-
-  range.location = 0;
-  range.length = CFStringGetLength (str);
-  result = g_malloc0 (range.length + 1);
-  CFStringGetBytes (str, range, kCFStringEncodingUTF8, 0, FALSE,
-      (UInt8 *) result, range.length, NULL);
-  CFRelease (str);
-
-  return result;
-
-error:
-  return NULL;
-}
-
-guint32
-gst_mio_object_get_uint32 (gint obj, TundraTargetSpec * pspec, GstMIOApi * mio)
-{
-  guint32 val;
-  guint size;
-  TundraStatus status;
-
-  size = sizeof (val);
-  status = mio->TundraObjectGetPropertyData (obj, pspec, 0, NULL, &size, &val);
-  if (status != kTundraSuccess)
-    goto error;
-
-  return val;
-
-error:
-  return 0;
-}
-
-GArray *
-gst_mio_object_get_array (gint obj, TundraTargetSpec * pspec,
-    guint element_size, GstMIOApi * mio)
-{
-  return gst_mio_object_get_array_full (obj, pspec, 0, NULL, element_size, mio);
-}
-
-GArray *
-gst_mio_object_get_array_full (gint obj, TundraTargetSpec * pspec,
-    guint ctx_size, gpointer ctx, guint element_size, GstMIOApi * mio)
-{
-  GArray *arr = NULL;
-  guint size, num_elements;
-  TundraStatus status;
-
-  status = mio->TundraObjectGetPropertyDataSize (obj, pspec, ctx_size, ctx,
-      &size);
-  if (status != kTundraSuccess)
-    goto error;
-  else if (size % element_size != 0)
-    goto error;
-
-  num_elements = size / element_size;
-  arr = g_array_sized_new (FALSE, TRUE, element_size, num_elements);
-  g_array_set_size (arr, num_elements);
-
-  status = mio->TundraObjectGetPropertyData (obj, pspec, ctx_size, ctx,
-      &size, arr->data);
-  if (status != kTundraSuccess)
-    goto error;
-
-  return arr;
-
-error:
-  if (arr != NULL)
-    g_array_free (arr, TRUE);
-  return NULL;
-}
-
-gchar *
-gst_mio_object_get_fourcc (gint obj, TundraTargetSpec * pspec, GstMIOApi * mio)
-{
-  guint32 fcc;
-  guint size;
-  TundraStatus status;
-
-  size = sizeof (fcc);
-  status = mio->TundraObjectGetPropertyData (obj, pspec, 0, NULL, &size, &fcc);
-  if (status != kTundraSuccess)
-    goto error;
-
-  return gst_mio_fourcc_to_string (fcc);
-
-error:
-  return NULL;
-}
-
-gpointer
-gst_mio_object_get_raw (gint obj, TundraTargetSpec * pspec, guint * size,
-    GstMIOApi * mio)
-{
-  gpointer data = NULL;
-  guint sz;
-  TundraStatus status;
-
-  status = mio->TundraObjectGetPropertyDataSize (obj, pspec, 0, NULL, &sz);
-  if (status != kTundraSuccess)
-    goto error;
-
-  data = g_malloc0 (sz);
-
-  status = mio->TundraObjectGetPropertyData (obj, pspec, 0, NULL, &sz, data);
-  if (status != kTundraSuccess)
-    goto error;
-
-  if (size != NULL)
-    *size = sz;
-  return data;
-
-error:
-  g_free (data);
-  if (size != NULL)
-    *size = 0;
-  return NULL;
-}
-
-gchar *
-gst_mio_fourcc_to_string (guint32 fcc)
-{
-  gchar *result;
-
-  result = g_malloc0 (5);
-  result[0] = (fcc >> 24) & 0xff;
-  result[1] = (fcc >> 16) & 0xff;
-  result[2] = (fcc >> 8) & 0xff;
-  result[3] = (fcc >> 0) & 0xff;
-
-  return result;
-}
diff --git a/sys/applemedia-nonpublic/mioapi.h b/sys/applemedia-nonpublic/mioapi.h
deleted file mode 100644
index fe2cbd8..0000000
--- a/sys/applemedia-nonpublic/mioapi.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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_MIO_API_H__
-#define __GST_MIO_API_H__
-
-#include "cmapi.h"
-
-#include <CoreFoundation/CoreFoundation.h>
-
-G_BEGIN_DECLS
-
-typedef struct _GstMIOApi GstMIOApi;
-typedef struct _GstMIOApiClass GstMIOApiClass;
-
-#define TUNDRA_SYSTEM_OBJECT_ID 1
-
-typedef int TundraObjectID;
-typedef int TundraDeviceID;
-typedef int TundraUnitID;
-
-typedef enum _TundraStatus TundraStatus;
-typedef enum _TundraVendor TundraVendor;
-typedef enum _TundraScope TundraScope;
-typedef enum _TundraUnit TundraUnit;
-typedef enum _TundraProperty TundraProperty;
-
-typedef enum _TundraDeviceTransportType TundraDeviceTransportType;
-
-typedef struct _TundraTargetSpec TundraTargetSpec;
-typedef struct _TundraFramerate TundraFramerate;
-
-typedef struct _TundraGraph TundraGraph;
-typedef struct _TundraNode TundraNode;
-
-typedef struct _TundraOutputDelegate TundraOutputDelegate;
-
-enum _TundraStatus
-{
-  kTundraSuccess = 0,
-  kTundraNotSupported = -67456
-};
-
-enum _TundraVendor
-{
-  kTundraVendorApple = 'appl'
-};
-
-enum _TundraScope
-{
-  kTundraScopeGlobal = 'glob',
-  kTundraScopeDAL    = 'dal ',
-  kTundraScope2PRC   = '2prc', /* TODO: Investigate this one */
-  kTundraScopeInput  = 'inpt',
-  kTundraScopeVSyn   = 'vsyn'
-};
-
-enum _TundraUnit
-{
-  kTundraUnitInput  = 'tinp',
-  kTundraUnitOutput = 'tout',
-  kTundraUnitSync   = 'tefc'
-};
-
-enum _TundraProperty
-{
-  kTundraSystemPropertyDevices = 'dev#',
-
-  kTundraObjectPropertyClass = 'clas',
-  kTundraObjectPropertyCreator = 'oplg',
-  kTundraObjectPropertyName = 'lnam',
-  kTundraObjectPropertyUID = 'uid ',
-  kTundraObjectPropertyVendor = 'lmak',
-
-  kTundraDevicePropertyConfigApp = 'capp', /* CFString: com.apple.mediaio.TundraDeviceSetup */
-  kTundraDevicePropertyExclusiveMode = 'ixna',
-  kTundraDevicePropertyHogMode = 'oink',
-  kTundraDevicePropertyModelUID = 'muid',
-  kTundraDevicePropertyStreams = 'stm#',
-  kTundraDevicePropertySuspendedByUser = 'sbyu',
-  kTundraDevicePropertyTransportType = 'tran',
-
-  kTundraStreamPropertyFormatDescriptions = 'pfta',
-  kTundraStreamPropertyFormatDescription = 'pft ',
-  kTundraStreamPropertyFrameRates = 'nfr#',
-  kTundraStreamPropertyFrameRate = 'nfrt'
-};
-
-struct _TundraTargetSpec
-{
-  FourCharCode name;
-  FourCharCode scope;
-  FourCharCode vendor;
-  FourCharCode unk1;
-  FourCharCode unk2;
-};
-
-struct _TundraFramerate
-{
-  gdouble value;
-};
-
-enum _TundraUnitProperty
-{
-  kTundraInputPropertyDeviceID                = 302,
-
-  kTundraOutputPropertyDelegate               = 5903,
-
-  kTundraInputUnitProperty_SourcePath         = 6780,
-
-  kTundraSyncPropertyClockProvider            = 7100,
-  kTundraSyncPropertyMasterSynchronizer       = 7102,
-  kTundraSyncPropertySynchronizationDirection = 7104
-};
-
-enum _TundraDeviceTransportType
-{
-  kTundraDeviceTransportInvalid = 0,
-  kTundraDeviceTransportBuiltin = 'bltn',
-  kTundraDeviceTransportScreen  = 'scrn',
-  kTundraDeviceTransportUSB     = 'usb ',
-};
-
-typedef TundraStatus (* TundraOutputRenderFunc) (gpointer instance,
-    gpointer unk1, gpointer unk2, gpointer unk3, CMSampleBufferRef sampleBuf);
-typedef TundraStatus (* TundraOutputInitializeFunc) (gpointer instance);
-typedef TundraStatus (* TundraOutputUninitializeFunc) (gpointer instance);
-typedef TundraStatus (* TundraOutputStartFunc) (gpointer instance);
-typedef TundraStatus (* TundraOutputStopFunc) (gpointer instance);
-typedef TundraStatus (* TundraOutputResetFunc) (gpointer instance);
-typedef TundraStatus (* TundraOutputDeallocateFunc) (gpointer instance);
-typedef gboolean (* TundraOutputCanRenderNowFunc) (gpointer instance,
-    guint * unk);
-typedef CFArrayRef (* TundraOutputAvailableFormatsFunc) (gpointer instance,
-    gboolean ensureOnly);
-typedef TundraStatus (* TundraOutputCopyClockFunc) (gpointer instance);
-typedef TundraStatus (* TundraOutputGetPropertyInfoFunc) (gpointer instance,
-    guint propId);
-typedef TundraStatus (* TundraOutputGetPropertyFunc) (gpointer instance,
-    guint propId);
-typedef TundraStatus (* TundraOutputSetPropertyFunc) (gpointer instance,
-    guint propId);
-
-#pragma pack(push, 1)
-
-struct _TundraOutputDelegate
-{
-  int unk1;
-  gpointer instance;
-  TundraOutputRenderFunc Render;
-  TundraOutputInitializeFunc Initialize;
-  TundraOutputUninitializeFunc Uninitialize;
-  TundraOutputStartFunc Start;
-  TundraOutputStopFunc Stop;
-  TundraOutputResetFunc Reset;
-  TundraOutputDeallocateFunc Deallocate;
-  TundraOutputCanRenderNowFunc CanRenderNow;
-  TundraOutputAvailableFormatsFunc AvailableFormats;
-  TundraOutputCopyClockFunc CopyClock;
-  TundraOutputGetPropertyInfoFunc GetPropertyInfo;
-  TundraOutputGetPropertyFunc GetProperty;
-  TundraOutputSetPropertyFunc SetProperty;
-};
-
-#pragma pack(pop)
-
-struct _GstMIOApi
-{
-  GstDynApi parent;
-
-  TundraStatus (* TundraGraphCreate) (CFAllocatorRef allocator,
-      TundraGraph ** graph);
-  void (* TundraGraphRelease) (TundraGraph * graph);
-  TundraStatus (* TundraGraphCreateNode) (TundraGraph * graph,
-      gint nodeId, UInt32 unk1, UInt32 unk2, TundraTargetSpec * spec,
-      UInt32 unk3, TundraUnitID * node);
-  TundraStatus (* TundraGraphGetNodeInfo) (TundraGraph * graph,
-      gint nodeId, UInt32 unk1, UInt32 unk2, UInt32 unk3, UInt32 unk4,
-      gpointer * info);
-  TundraStatus (* TundraGraphSetProperty) (TundraGraph * graph,
-      gint nodeId, UInt32 unk1, guint propId, UInt32 unk2, UInt32 unk3,
-      gpointer data, guint size);
-  TundraStatus (* TundraGraphConnectNodeInput) (TundraGraph * graph,
-      TundraUnitID from_node, guint from_bus,
-      TundraUnitID to_node, guint to_bus);
-  TundraStatus (* TundraGraphInitialize) (TundraGraph * graph);
-  TundraStatus (* TundraGraphUninitialize) (TundraGraph * graph);
-  TundraStatus (* TundraGraphStart) (TundraGraph * graph);
-  TundraStatus (* TundraGraphStop) (TundraGraph * graph);
-
-  TundraStatus (* TundraObjectGetPropertyDataSize) (TundraObjectID obj,
-      TundraTargetSpec * spec, UInt32 contextSize, void * context, guint * size);
-  TundraStatus (* TundraObjectGetPropertyData) (TundraObjectID obj,
-      TundraTargetSpec * spec, UInt32 contextSize, void * context, guint * size,
-      gpointer data);
-  TundraStatus (* TundraObjectIsPropertySettable) (TundraObjectID obj,
-      TundraTargetSpec * spec, Boolean *isSettable);
-  TundraStatus (* TundraObjectSetPropertyData) (TundraObjectID obj,
-      TundraTargetSpec * spec, gpointer unk1, gpointer unk2, guint size,
-      gpointer data);
-
-  CFStringRef * kTundraSampleBufferAttachmentKey_SequenceNumber;
-  CFStringRef * kTundraSampleBufferAttachmentKey_HostTime;
-};
-
-struct _GstMIOApiClass
-{
-  GstDynApiClass parent_class;
-};
-
-GstMIOApi * gst_mio_api_obtain (GError ** error);
-
-gpointer gst_mio_object_get_pointer (gint obj, TundraTargetSpec * pspec,
-    GstMIOApi * mio);
-gchar * gst_mio_object_get_string (gint obj, TundraTargetSpec * pspec,
-    GstMIOApi * mio);
-guint32 gst_mio_object_get_uint32 (gint obj, TundraTargetSpec * pspec,
-    GstMIOApi * mio);
-gchar * gst_mio_object_get_fourcc (gint obj, TundraTargetSpec * pspec,
-    GstMIOApi * mio);
-GArray * gst_mio_object_get_array (gint obj, TundraTargetSpec * pspec,
-    guint element_size, GstMIOApi * mio);
-GArray * gst_mio_object_get_array_full (gint obj, TundraTargetSpec * pspec,
-    guint ctx_size, gpointer ctx, guint element_size, GstMIOApi * mio);
-gpointer gst_mio_object_get_raw (gint obj, TundraTargetSpec * pspec,
-    guint * size, GstMIOApi * mio);
-
-gchar * gst_mio_fourcc_to_string (guint32 fcc);
-
-G_END_DECLS
-
-#endif
diff --git a/sys/applemedia-nonpublic/miovideodevice.h b/sys/applemedia-nonpublic/miovideodevice.h
deleted file mode 100644
index 87b86f3..0000000
--- a/sys/applemedia-nonpublic/miovideodevice.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (C) 2009 Ole André Vadla Ravnås <oleavr@soundrop.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_MIO_VIDEO_DEVICE_H__
-#define __GST_MIO_VIDEO_DEVICE_H__
-
-#include <gst/gst.h>
-
-#include "coremediactx.h"
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_MIO_VIDEO_DEVICE \
-  (gst_mio_video_device_get_type ())
-#define GST_MIO_VIDEO_DEVICE(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_MIO_VIDEO_DEVICE, GstMIOVideoDevice))
-#define GST_MIO_VIDEO_DEVICE_CAST(obj) \
-  ((GstMIOVideoDevice *) (obj))
-#define GST_MIO_VIDEO_DEVICE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_MIO_VIDEO_DEVICE, GstMIOVideoDeviceClass))
-#define GST_IS_MIO_VIDEO_DEVICE(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MIO_VIDEO_DEVICE))
-#define GST_IS_MIO_VIDEO_DEVICE_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIO_VIDEO_DEVICE))
-
-typedef struct _GstMIOVideoDevice         GstMIOVideoDevice;
-typedef struct _GstMIOVideoDeviceClass    GstMIOVideoDeviceClass;
-
-struct _GstMIOVideoDevice
-{
-  GObject parent;
-
-  GstCoreMediaCtx *ctx;
-  TundraObjectID handle;
-
-  gchar *cached_uid;
-  gchar *cached_name;
-  TundraDeviceTransportType cached_transport;
-  GstCaps *cached_caps;
-  CMFormatDescriptionRef selected_format;
-  gint selected_fps_n, selected_fps_d;
-};
-
-struct _GstMIOVideoDeviceClass
-{
-  GObjectClass parent_class;
-};
-
-GType gst_mio_video_device_get_type (void);
-
-TundraObjectID gst_mio_video_device_get_handle (GstMIOVideoDevice * self);
-const gchar * gst_mio_video_device_get_uid (GstMIOVideoDevice * self);
-const gchar * gst_mio_video_device_get_name (GstMIOVideoDevice * self);
-TundraDeviceTransportType gst_mio_video_device_get_transport_type (
-    GstMIOVideoDevice * self);
-
-gboolean gst_mio_video_device_open (GstMIOVideoDevice * self);
-void gst_mio_video_device_close (GstMIOVideoDevice * self);
-
-GstCaps * gst_mio_video_device_get_available_caps (GstMIOVideoDevice * self);
-gboolean gst_mio_video_device_set_caps (GstMIOVideoDevice * self,
-    GstCaps * caps);
-CMFormatDescriptionRef gst_mio_video_device_get_selected_format (
-    GstMIOVideoDevice * self);
-GstClockTime gst_mio_video_device_get_duration (GstMIOVideoDevice * self);
-
-void gst_mio_video_device_print_debug_info (GstMIOVideoDevice * self);
-
-GList * gst_mio_video_device_list_create (GstCoreMediaCtx * ctx);
-void gst_mio_video_device_list_destroy (GList * devices);
-
-G_END_DECLS
-
-#endif /* __GST_MIO_VIDEO_DEVICE_H__ */
diff --git a/sys/applemedia-nonpublic/miovideosrc.h b/sys/applemedia-nonpublic/miovideosrc.h
deleted file mode 100644
index 3fe82e7..0000000
--- a/sys/applemedia-nonpublic/miovideosrc.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2009 Ole André Vadla Ravnås <oleavr@soundrop.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_MIO_VIDEO_SRC_H__
-#define __GST_MIO_VIDEO_SRC_H__
-
-#include <gst/base/gstpushsrc.h>
-
-#include "coremediactx.h"
-#include "miovideodevice.h"
-
-G_BEGIN_DECLS
-
-#define GST_TYPE_MIO_VIDEO_SRC \
-  (gst_mio_video_src_get_type ())
-#define GST_MIO_VIDEO_SRC(obj) \
-  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_MIO_VIDEO_SRC, GstMIOVideoSrc))
-#define GST_MIO_VIDEO_SRC_CAST(obj) \
-  ((GstMIOVideoSrc *) (obj))
-#define GST_MIO_VIDEO_SRC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_MIO_VIDEO_SRC, GstMIOVideoSrcClass))
-#define GST_IS_MIO_VIDEO_SRC(obj) \
-  (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_MIO_VIDEO_SRC))
-#define GST_IS_MIO_VIDEO_SRC_CLASS(klass) \
-  (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_MIO_VIDEO_SRC))
-
-typedef struct _GstMIOVideoSrc         GstMIOVideoSrc;
-typedef struct _GstMIOVideoSrcClass    GstMIOVideoSrcClass;
-
-struct _GstMIOVideoSrc
-{
-  GstPushSrc push_src;
-
-  gint cv_ratio_n;
-  gint cv_ratio_d;
-
-  gchar *device_uid;
-  gchar *device_name;
-  gint device_index;
-
-  GThread *dispatcher_thread;
-  GMainLoop *dispatcher_loop;
-  GMainContext *dispatcher_ctx;
-
-  GstCoreMediaCtx *ctx;
-  GstMIOVideoDevice *device;
-
-  TundraGraph *graph;
-
-  volatile gboolean running;
-  GQueue *queue;
-  GMutex *qlock;
-  GCond *qcond;
-  guint64 prev_offset;
-  CMFormatDescriptionRef prev_format;
-};
-
-struct _GstMIOVideoSrcClass
-{
-  GstPushSrcClass parent_class;
-};
-
-GType gst_mio_video_src_get_type (void);
-
-G_END_DECLS
-
-#endif /* __GST_MIO_VIDEO_SRC_H__ */
diff --git a/sys/applemedia-nonpublic/mtapi.h b/sys/applemedia-nonpublic/mtapi.h
deleted file mode 100644
index 91d90e9..0000000
--- a/sys/applemedia-nonpublic/mtapi.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.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_MT_API_H__
-#define __GST_MT_API_H__
-
-#include "cmapi.h"
-
-G_BEGIN_DECLS
-
-typedef struct _GstMTApi GstMTApi;
-typedef struct _GstMTApiClass GstMTApiClass;
-
-typedef struct _FigCaptureDevice * FigCaptureDeviceRef;
-typedef struct _FigCaptureStream * FigCaptureStreamRef;
-typedef struct _FigCaptureDeviceIface FigCaptureDeviceIface;
-typedef struct _FigCaptureStreamIface FigCaptureStreamIface;
-
-struct _FigCaptureDeviceIface
-{
-  gsize unk;
-  OSStatus (* Func1) (FigCaptureDeviceRef stream);
-};
-
-struct _FigCaptureStreamIface
-{
-  gsize unk;
-  OSStatus (* Start) (FigCaptureStreamRef stream);
-  OSStatus (* Stop) (FigCaptureStreamRef stream);
-};
-
-struct _GstMTApi
-{
-  GstDynApi parent;
-
-  FigBaseObjectRef (* FigCaptureDeviceGetFigBaseObject)
-    (FigCaptureDeviceRef device);
-  FigBaseObjectRef (* FigCaptureStreamGetFigBaseObject)
-    (FigCaptureStreamRef stream);
-
-  CFStringRef * kFigCaptureDeviceProperty_Clock;
-  CFStringRef * kFigCaptureDeviceProperty_StreamArray;
-  CFStringRef * kFigCaptureStreamProperty_AudioLevelArray;
-  CFStringRef * kFigCaptureStreamProperty_AudioLevelMeteringEnable;
-  CFStringRef * kFigCaptureStreamProperty_AudioLevelUnits;
-  CFStringRef * kFigCaptureStreamProperty_AutoAENow;
-  CFStringRef * kFigCaptureStreamProperty_AutoFocusNow;
-  CFStringRef * kFigCaptureStreamProperty_BufferAllocator;
-  CFStringRef * kFigCaptureStreamProperty_BufferQueue;
-  CFStringRef * kFigCaptureStreamProperty_FixedFrameRate;
-  CFStringRef * kFigCaptureStreamProperty_FormatDescription;
-  CFStringRef * kFigCaptureStreamProperty_FormatIndex;
-  CFStringRef * kFigCaptureStreamProperty_FrameDuration;
-  CFStringRef * kFigCaptureStreamProperty_MaximumFrameRate;
-  CFStringRef * kFigCaptureStreamProperty_MinimumFrameRate;
-  CFStringRef * kFigCaptureStreamProperty_NeedSampleBufferDurations;
-  CFStringRef * kFigCaptureStreamProperty_StillImageBufferQueue;
-  CFStringRef * kFigCaptureStreamProperty_StillImageCaptureNow;
-  CFStringRef * kFigCaptureStreamProperty_SupportedFormatsArray;
-  CFStringRef * kFigSupportedFormat_AudioMaxSampleRate;
-  CFStringRef * kFigSupportedFormat_AudioMinSampleRate;
-  CFStringRef * kFigSupportedFormat_FormatDescription;
-  CFStringRef * kFigSupportedFormat_VideoIsBinned;
-  CFStringRef * kFigSupportedFormat_VideoMaxFrameRate;
-  CFStringRef * kFigSupportedFormat_VideoMinFrameRate;
-  CFStringRef * kFigSupportedFormat_VideoScaleFactor;
-};
-
-struct _GstMTApiClass
-{
-  GstDynApiClass parent_class;
-};
-
-GType gst_mt_api_get_type (void);
-
-GstMTApi * gst_mt_api_obtain (GError ** error);
-
-G_END_DECLS
-
-#endif
diff --git a/sys/applemedia-nonpublic/plugin.m b/sys/applemedia-nonpublic/plugin.m
deleted file mode 100644
index f8cea93..0000000
--- a/sys/applemedia-nonpublic/plugin.m
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (C) 2009-2010 Ole André Vadla Ravnås <oleavr@soundrop.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
-
-#ifdef HAVE_IOS
-#include "celvideosrc.h"
-#else
-#include "miovideosrc.h"
-#include <Foundation/Foundation.h>
-#endif
-
-#ifndef HAVE_IOS
-static void
-enable_mt_mode (void)
-{
-  NSThread * th = [[NSThread alloc] init];
-  [th start];
-  [th release];
-  g_assert ([NSThread isMultiThreaded]);
-}
-#endif
-
-static gboolean
-plugin_init (GstPlugin * plugin)
-{
-  gboolean res = TRUE;
-
-#ifdef HAVE_IOS
-#if 0
-  res &= gst_element_register (plugin, "celvideosrc", GST_RANK_NONE,
-      GST_TYPE_CEL_VIDEO_SRC);
-#endif
-#else
-  enable_mt_mode ();
-
-#if 0
-  res &= gst_element_register (plugin, "miovideosrc", GST_RANK_NONE,
-      GST_TYPE_MIO_VIDEO_SRC);
-#endif
-#endif
-
-  return res;
-}
-
-GST_PLUGIN_DEFINE (GST_VERSION_MAJOR,
-    GST_VERSION_MINOR,
-    applemedia_nonpublic,
-    "Elements for capture and codec access on Apple OS X and iOS using private Frameworks",
-    plugin_init, VERSION, "LGPL", "GStreamer", "http://gstreamer.net/")
diff --git a/sys/applemedia/Makefile.am b/sys/applemedia/Makefile.am
index 164f7a9..d77e47c 100644
--- a/sys/applemedia/Makefile.am
+++ b/sys/applemedia/Makefile.am
@@ -78,12 +78,14 @@
 	iosassetsrc.h				\
 	iosurfacememory.h			\
 	avfassetsrc.h  				\
-	glcontexthelper.h
+	glcontexthelper.h 			\
+	iosglmemory.h
 
 if HAVE_IOS
 
 libgstapplemedia_la_SOURCES +=			\
-	iosassetsrc.m
+	iosassetsrc.m 				\
+	iosglmemory.c
 
 libgstapplemedia_la_LDFLAGS +=			\
 	-Wl,-framework -Wl,Foundation		\
@@ -92,17 +94,23 @@
 else
 
 libgstapplemedia_la_SOURCES +=			\
-	qtkitvideosrc.m 					\
 	iosurfacememory.c
 
 libgstapplemedia_la_LDFLAGS +=			\
 	-Wl,-framework -Wl,Cocoa		\
-	-Wl,-framework -Wl,QTKit		\
 	-Wl,-framework -Wl,OpenGL 		\
 	-Wl,-framework -Wl,IOSurface
 
 endif
 
+if HAVE_QTKIT
+libgstapplemedia_la_SOURCES +=			\
+	qtkitvideosrc.m
+
+libgstapplemedia_la_LDFLAGS +=			\
+	-Wl,-framework -Wl,QTKit
+endif
+
 if HAVE_AVFOUNDATION
 
 libgstapplemedia_la_SOURCES +=			\
diff --git a/sys/applemedia/Makefile.in b/sys/applemedia/Makefile.in
index 0cb0dcb..0661e54 100644
--- a/sys/applemedia/Makefile.in
+++ b/sys/applemedia/Makefile.in
@@ -92,35 +92,40 @@
 target_triplet = @target@
 @HAVE_IOS_TRUE@am__append_1 = -fobjc-abi-version=2 -fobjc-legacy-dispatch
 @HAVE_IOS_TRUE@am__append_2 = \
-@HAVE_IOS_TRUE@	iosassetsrc.m
+@HAVE_IOS_TRUE@	iosassetsrc.m 				\
+@HAVE_IOS_TRUE@	iosglmemory.c
 
 @HAVE_IOS_TRUE@am__append_3 = \
 @HAVE_IOS_TRUE@	-Wl,-framework -Wl,Foundation		\
 @HAVE_IOS_TRUE@	-Wl,-framework -Wl,AssetsLibrary
 
 @HAVE_IOS_FALSE@am__append_4 = \
-@HAVE_IOS_FALSE@	qtkitvideosrc.m 					\
 @HAVE_IOS_FALSE@	iosurfacememory.c
 
 @HAVE_IOS_FALSE@am__append_5 = \
 @HAVE_IOS_FALSE@	-Wl,-framework -Wl,Cocoa		\
-@HAVE_IOS_FALSE@	-Wl,-framework -Wl,QTKit		\
 @HAVE_IOS_FALSE@	-Wl,-framework -Wl,OpenGL 		\
 @HAVE_IOS_FALSE@	-Wl,-framework -Wl,IOSurface
 
-@HAVE_AVFOUNDATION_TRUE@am__append_6 = \
+@HAVE_QTKIT_TRUE@am__append_6 = \
+@HAVE_QTKIT_TRUE@	qtkitvideosrc.m
+
+@HAVE_QTKIT_TRUE@am__append_7 = \
+@HAVE_QTKIT_TRUE@	-Wl,-framework -Wl,QTKit
+
+@HAVE_AVFOUNDATION_TRUE@am__append_8 = \
 @HAVE_AVFOUNDATION_TRUE@	avfvideosrc.m				\
 @HAVE_AVFOUNDATION_TRUE@	avfassetsrc.m				\
 @HAVE_AVFOUNDATION_TRUE@	avsamplevideosink.m
 
-@HAVE_AVFOUNDATION_TRUE@am__append_7 = \
+@HAVE_AVFOUNDATION_TRUE@am__append_9 = \
 @HAVE_AVFOUNDATION_TRUE@	-Wl,-framework -Wl,AVFoundation
 
-@HAVE_VIDEOTOOLBOX_TRUE@am__append_8 = \
+@HAVE_VIDEOTOOLBOX_TRUE@am__append_10 = \
 @HAVE_VIDEOTOOLBOX_TRUE@	vtenc.c 				\
 @HAVE_VIDEOTOOLBOX_TRUE@	vtdec.c
 
-@HAVE_VIDEOTOOLBOX_TRUE@am__append_9 = -Wl,-weak_framework -Wl,VideoToolbox
+@HAVE_VIDEOTOOLBOX_TRUE@am__append_11 = -Wl,-weak_framework -Wl,VideoToolbox
 subdir = sys/applemedia
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
@@ -200,16 +205,18 @@
 am__libgstapplemedia_la_SOURCES_DIST = plugin.m vtutil.c \
 	corevideomemory.c corevideobuffer.c coremediabuffer.c \
 	videotexturecache.m atdec.c glcontexthelper.c iosassetsrc.m \
-	qtkitvideosrc.m iosurfacememory.c avfvideosrc.m avfassetsrc.m \
-	avsamplevideosink.m vtenc.c vtdec.c
-@HAVE_IOS_TRUE@am__objects_1 = libgstapplemedia_la-iosassetsrc.lo
-@HAVE_IOS_FALSE@am__objects_2 = libgstapplemedia_la-qtkitvideosrc.lo \
+	iosglmemory.c iosurfacememory.c qtkitvideosrc.m avfvideosrc.m \
+	avfassetsrc.m avsamplevideosink.m vtenc.c vtdec.c
+@HAVE_IOS_TRUE@am__objects_1 = libgstapplemedia_la-iosassetsrc.lo \
+@HAVE_IOS_TRUE@	libgstapplemedia_la-iosglmemory.lo
+@HAVE_IOS_FALSE@am__objects_2 =  \
 @HAVE_IOS_FALSE@	libgstapplemedia_la-iosurfacememory.lo
-@HAVE_AVFOUNDATION_TRUE@am__objects_3 =  \
+@HAVE_QTKIT_TRUE@am__objects_3 = libgstapplemedia_la-qtkitvideosrc.lo
+@HAVE_AVFOUNDATION_TRUE@am__objects_4 =  \
 @HAVE_AVFOUNDATION_TRUE@	libgstapplemedia_la-avfvideosrc.lo \
 @HAVE_AVFOUNDATION_TRUE@	libgstapplemedia_la-avfassetsrc.lo \
 @HAVE_AVFOUNDATION_TRUE@	libgstapplemedia_la-avsamplevideosink.lo
-@HAVE_VIDEOTOOLBOX_TRUE@am__objects_4 = libgstapplemedia_la-vtenc.lo \
+@HAVE_VIDEOTOOLBOX_TRUE@am__objects_5 = libgstapplemedia_la-vtenc.lo \
 @HAVE_VIDEOTOOLBOX_TRUE@	libgstapplemedia_la-vtdec.lo
 am_libgstapplemedia_la_OBJECTS = libgstapplemedia_la-plugin.lo \
 	libgstapplemedia_la-vtutil.lo \
@@ -219,7 +226,8 @@
 	libgstapplemedia_la-videotexturecache.lo \
 	libgstapplemedia_la-atdec.lo \
 	libgstapplemedia_la-glcontexthelper.lo $(am__objects_1) \
-	$(am__objects_2) $(am__objects_3) $(am__objects_4)
+	$(am__objects_2) $(am__objects_3) $(am__objects_4) \
+	$(am__objects_5)
 libgstapplemedia_la_OBJECTS = $(am_libgstapplemedia_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
@@ -397,6 +405,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -446,6 +456,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -857,7 +869,7 @@
 libgstapplemedia_la_SOURCES = plugin.m vtutil.c corevideomemory.c \
 	corevideobuffer.c coremediabuffer.c videotexturecache.m \
 	atdec.c glcontexthelper.c $(am__append_2) $(am__append_4) \
-	$(am__append_6) $(am__append_8)
+	$(am__append_6) $(am__append_8) $(am__append_10)
 libgstapplemedia_la_CPPFLAGS = \
 	-Dgst_core_media_buffer_new=gst_core_media_buffer_priv_new		\
 	-Dgst_core_media_buffer_get_type=gst_core_media_buffer_priv_get_type	\
@@ -893,7 +905,8 @@
 	$(GST_BASE_LDFLAGS) $(GST_PLUGINS_BASE_LDFLAGS) -Wl,-framework \
 	-Wl,CoreFoundation -Wl,-framework -Wl,CoreMedia -Wl,-framework \
 	-Wl,CoreVideo -Wl,-framework -Wl,AudioToolbox $(am__append_3) \
-	$(am__append_5) $(am__append_7) $(am__append_9)
+	$(am__append_5) $(am__append_7) $(am__append_9) \
+	$(am__append_11)
 noinst_HEADERS = \
 	qtkitvideosrc.h				\
 	avfvideosrc.h				\
@@ -909,7 +922,8 @@
 	iosassetsrc.h				\
 	iosurfacememory.h			\
 	avfassetsrc.h  				\
-	glcontexthelper.h
+	glcontexthelper.h 			\
+	iosglmemory.h
 
 all: all-am
 
@@ -998,6 +1012,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-corevideomemory.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-glcontexthelper.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-iosassetsrc.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-iosglmemory.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-iosurfacememory.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-plugin.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstapplemedia_la-qtkitvideosrc.Plo@am__quote@
@@ -1072,6 +1087,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 $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_la-glcontexthelper.lo `test -f 'glcontexthelper.c' || echo '$(srcdir)/'`glcontexthelper.c
 
+libgstapplemedia_la-iosglmemory.lo: iosglmemory.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_la-iosglmemory.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_la-iosglmemory.Tpo -c -o libgstapplemedia_la-iosglmemory.lo `test -f 'iosglmemory.c' || echo '$(srcdir)/'`iosglmemory.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_la-iosglmemory.Tpo $(DEPDIR)/libgstapplemedia_la-iosglmemory.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='iosglmemory.c' object='libgstapplemedia_la-iosglmemory.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 $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -c -o libgstapplemedia_la-iosglmemory.lo `test -f 'iosglmemory.c' || echo '$(srcdir)/'`iosglmemory.c
+
 libgstapplemedia_la-iosurfacememory.lo: iosurfacememory.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(libgstapplemedia_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libgstapplemedia_la_CPPFLAGS) $(CPPFLAGS) $(libgstapplemedia_la_CFLAGS) $(CFLAGS) -MT libgstapplemedia_la-iosurfacememory.lo -MD -MP -MF $(DEPDIR)/libgstapplemedia_la-iosurfacememory.Tpo -c -o libgstapplemedia_la-iosurfacememory.lo `test -f 'iosurfacememory.c' || echo '$(srcdir)/'`iosurfacememory.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstapplemedia_la-iosurfacememory.Tpo $(DEPDIR)/libgstapplemedia_la-iosurfacememory.Plo
diff --git a/sys/applemedia/avfassetsrc.m b/sys/applemedia/avfassetsrc.m
index e589cf3..8568281 100644
--- a/sys/applemedia/avfassetsrc.m
+++ b/sys/applemedia/avfassetsrc.m
@@ -535,8 +535,7 @@
     }
 
     if (combined_ret != GST_FLOW_OK) {
-      GST_ELEMENT_ERROR (self, STREAM, FAILED, ("Internal data stream error."),
-          ("stream stopped reason %s", gst_flow_get_name (ret)));
+      GST_ELEMENT_FLOW_ERROR (self, ret);
     }
 
     gst_pad_pause_task (pad);
@@ -900,16 +899,13 @@
 {
   NSString *str;
   NSURL *url;
-  gchar *escaped_uri;
 
-  GST_INFO ("Initializing AVFAssetReader with uri:%s", uri);
+  GST_INFO ("Initializing AVFAssetReader with uri: %s", uri);
   *error = NULL;
 
-  escaped_uri = g_uri_escape_string (uri, ":/", TRUE);
-  str = [NSString stringWithUTF8String: escaped_uri];
+  str = [NSString stringWithUTF8String: uri];
   url = [[NSURL alloc] initWithString: str];
   asset = [[AVAsset assetWithURL: url] retain];
-  g_free (escaped_uri);
 
   if (!asset.playable) {
     *error = g_error_new (GST_AVF_ASSET_SRC_ERROR, GST_AVF_ASSET_ERROR_NOT_PLAYABLE,
@@ -1074,7 +1070,7 @@
     return NULL;
   }
 
-  buf = gst_core_media_buffer_new (cmbuf, FALSE);
+  buf = gst_core_media_buffer_new (cmbuf, FALSE, NULL);
   CFRelease (cmbuf);
   if (buf == NULL)
     return NULL;
diff --git a/sys/applemedia/avfvideosrc.m b/sys/applemedia/avfvideosrc.m
index a0cc57b..4955953 100644
--- a/sys/applemedia/avfvideosrc.m
+++ b/sys/applemedia/avfvideosrc.m
@@ -138,6 +138,7 @@
 - (GstVideoFormat)getGstVideoFormat:(NSNumber *)pixel_format;
 #if !HAVE_IOS
 - (CGDirectDisplayID)getDisplayIdFromDeviceIndex;
+- (float)getScaleFactorFromDeviceIndex;
 #endif
 - (GstCaps *)getDeviceCaps;
 - (BOOL)setDeviceCaps:(GstVideoInfo *)info;
@@ -416,6 +417,20 @@
   displayId = [description objectForKey:@"NSScreenNumber"];
   return [displayId unsignedIntegerValue];
 }
+
+- (float)getScaleFactorFromDeviceIndex
+{
+  NSArray *screens = [NSScreen screens];
+
+  if (deviceIndex == DEFAULT_DEVICE_INDEX)
+    return [[NSScreen mainScreen] backingScaleFactor];
+  if (deviceIndex >= [screens count]) {
+    GST_ELEMENT_ERROR (element, RESOURCE, NOT_FOUND,
+                        ("Invalid screen capture device index"), (NULL));
+    return 1.0;
+  }
+  return [[screens objectAtIndex:deviceIndex] backingScaleFactor];
+}
 #endif
 
 - (GstCaps *)getDeviceCaps
@@ -648,12 +663,13 @@
   if (captureScreen) {
 #if !HAVE_IOS
     CGRect rect = CGDisplayBounds ([self getDisplayIdFromDeviceIndex]);
+    float scale = [self getScaleFactorFromDeviceIndex];
     for (NSNumber *pixel_format in pixel_formats) {
       GstVideoFormat gst_format = [self getGstVideoFormat:pixel_format];
       if (gst_format != GST_VIDEO_FORMAT_UNKNOWN)
         gst_caps_append (result, gst_caps_new_simple ("video/x-raw",
-            "width", G_TYPE_INT, (int)rect.size.width,
-            "height", G_TYPE_INT, (int)rect.size.height,
+            "width", G_TYPE_INT, (int)(rect.size.width * scale),
+            "height", G_TYPE_INT, (int)(rect.size.height * scale),
             "format", G_TYPE_STRING, gst_video_format_to_string (gst_format),
             NULL));
     }
@@ -938,19 +954,13 @@
     }
   }
 
-  *buf = gst_core_media_buffer_new (sbuf, useVideoMeta);
+  *buf = gst_core_media_buffer_new (sbuf, useVideoMeta, textureCache);
   if (*buf == NULL) {
     CFRelease (sbuf);
     return GST_FLOW_ERROR;
   }
   CFRelease (sbuf);
 
-  if (textureCache != NULL) {
-    *buf = gst_video_texture_cache_get_gl_buffer (textureCache, *buf);
-    if (*buf == NULL)
-      return GST_FLOW_ERROR;
-  }
-
   GST_BUFFER_OFFSET (*buf) = offset++;
   GST_BUFFER_OFFSET_END (*buf) = GST_BUFFER_OFFSET (*buf) + 1;
   GST_BUFFER_TIMESTAMP (*buf) = timestamp;
diff --git a/sys/applemedia/coremediabuffer.c b/sys/applemedia/coremediabuffer.c
index 8960de6..8f573be 100644
--- a/sys/applemedia/coremediabuffer.c
+++ b/sys/applemedia/coremediabuffer.c
@@ -240,7 +240,7 @@
 
 GstBuffer *
 gst_core_media_buffer_new (CMSampleBufferRef sample_buf,
-    gboolean use_video_meta)
+    gboolean use_video_meta, GstVideoTextureCache * cache)
 {
   CVImageBufferRef image_buf;
   CMBlockBufferRef block_buf;
@@ -262,7 +262,8 @@
       goto error;
     }
 
-    gst_core_video_wrap_pixel_buffer (buf, &info, pixel_buf, &has_padding);
+    gst_core_video_wrap_pixel_buffer (buf, &info, pixel_buf, cache,
+        &has_padding);
 
     /* If the video meta API is not supported, remove padding by
      * copying the core media buffer to a system memory buffer */
diff --git a/sys/applemedia/coremediabuffer.h b/sys/applemedia/coremediabuffer.h
index bc18acf..69299b7 100644
--- a/sys/applemedia/coremediabuffer.h
+++ b/sys/applemedia/coremediabuffer.h
@@ -22,6 +22,7 @@
 
 #include <gst/gst.h>
 #include <gst/video/gstvideometa.h>
+#include "videotexturecache.h"
 
 #include "CoreMedia/CoreMedia.h"
 
@@ -43,7 +44,8 @@
 
 
 GstBuffer * gst_core_media_buffer_new      (CMSampleBufferRef sample_buf,
-                                            gboolean use_video_meta);
+                                            gboolean use_video_meta,
+                                            GstVideoTextureCache *cache);
 CVPixelBufferRef gst_core_media_buffer_get_pixel_buffer
                                            (GstBuffer * buf);
 GType gst_core_media_meta_api_get_type (void);
diff --git a/sys/applemedia/corevideobuffer.c b/sys/applemedia/corevideobuffer.c
index 0ad480d..bf20139 100644
--- a/sys/applemedia/corevideobuffer.c
+++ b/sys/applemedia/corevideobuffer.c
@@ -17,8 +17,14 @@
  * Boston, MA 02110-1301, USA.
  */
 
+#ifdef HAVE_CONFIG_H
+#  include "config.h"
+#endif
 #include "corevideobuffer.h"
 #include "corevideomemory.h"
+#if !HAVE_IOS
+#include "iosurfacememory.h"
+#endif
 
 static const GstMetaInfo *gst_core_video_meta_get_info (void);
 
@@ -93,18 +99,46 @@
   return core_video_meta_info;
 }
 
+static GstMemory *
+_create_glmem (GstAppleCoreVideoPixelBuffer * gpixbuf,
+    GstVideoInfo * info, guint plane, gsize size, GstVideoTextureCache * cache)
+{
+#if HAVE_IOS
+  return gst_video_texture_cache_create_memory (cache, gpixbuf, plane, size);
+#else
+  GstIOSurfaceMemory *mem;
+  GstVideoGLTextureType tex_type =
+      gst_gl_texture_type_from_format (cache->ctx, GST_VIDEO_INFO_FORMAT (info),
+      plane);
+  CVPixelBufferRef pixel_buf = gpixbuf->buf;
+  IOSurfaceRef surface = CVPixelBufferGetIOSurface (pixel_buf);
+
+  CFRetain (pixel_buf);
+  mem = gst_io_surface_memory_wrapped (cache->ctx,
+      surface, GST_GL_TEXTURE_TARGET_RECTANGLE, tex_type,
+      info, plane, NULL, pixel_buf, (GDestroyNotify) CFRelease);
+  return GST_MEMORY_CAST (mem);
+#endif
+}
+
 void
-gst_core_video_wrap_pixel_buffer (GstBuffer * buf, GstVideoInfo * info,
-    CVPixelBufferRef pixel_buf, gboolean * has_padding)
+gst_core_video_wrap_pixel_buffer (GstBuffer * buf,
+    GstVideoInfo * info,
+    CVPixelBufferRef pixel_buf,
+    GstVideoTextureCache * cache, gboolean * has_padding)
 {
   guint n_planes;
   gsize offset[GST_VIDEO_MAX_PLANES] = { 0 };
   gint stride[GST_VIDEO_MAX_PLANES] = { 0 };
   UInt32 size;
   GstAppleCoreVideoPixelBuffer *gpixbuf;
+  GstMemory *mem = NULL;
+  gboolean do_gl = cache != NULL;
 
   gpixbuf = gst_apple_core_video_pixel_buffer_new (pixel_buf);
-  *has_padding = FALSE;
+
+  if (has_padding)
+    *has_padding = FALSE;
 
   if (CVPixelBufferIsPlanar (pixel_buf)) {
     gint i, size = 0, plane_offset = 0;
@@ -113,16 +147,20 @@
     for (i = 0; i < n_planes; i++) {
       stride[i] = CVPixelBufferGetBytesPerRowOfPlane (pixel_buf, i);
 
-      if (stride[i] != GST_VIDEO_INFO_PLANE_STRIDE (info, i)) {
+      if (stride[i] != GST_VIDEO_INFO_PLANE_STRIDE (info, i) && has_padding)
         *has_padding = TRUE;
-      }
 
       size = stride[i] * CVPixelBufferGetHeightOfPlane (pixel_buf, i);
       offset[i] = plane_offset;
       plane_offset += size;
 
-      gst_buffer_append_memory (buf,
-          gst_apple_core_video_memory_new_wrapped (gpixbuf, i, size));
+      if (do_gl)
+        mem = _create_glmem (gpixbuf, info, i, size, cache);
+      else
+        mem =
+            GST_MEMORY_CAST (gst_apple_core_video_memory_new_wrapped (gpixbuf,
+                i, size));
+      gst_buffer_append_memory (buf, mem);
     }
   } else {
     n_planes = 1;
@@ -130,9 +168,13 @@
     offset[0] = 0;
     size = stride[0] * CVPixelBufferGetHeight (pixel_buf);
 
-    gst_buffer_append_memory (buf,
-        gst_apple_core_video_memory_new_wrapped (gpixbuf,
-            GST_APPLE_CORE_VIDEO_NO_PLANE, size));
+    if (do_gl)
+      mem = _create_glmem (gpixbuf, info, 0, size, cache);
+    else
+      mem =
+          GST_MEMORY_CAST (gst_apple_core_video_memory_new_wrapped (gpixbuf, 0,
+              size));
+    gst_buffer_append_memory (buf, mem);
   }
 
   gst_apple_core_video_pixel_buffer_unref (gpixbuf);
@@ -147,13 +189,58 @@
   }
 }
 
+static GstVideoFormat
+gst_core_video_get_video_format (OSType format)
+{
+  switch (format) {
+    case kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange:
+      return GST_VIDEO_FORMAT_NV12;
+    case kCVPixelFormatType_422YpCbCr8_yuvs:
+      return GST_VIDEO_FORMAT_YUY2;
+    case kCVPixelFormatType_422YpCbCr8:
+      return GST_VIDEO_FORMAT_UYVY;
+    case kCVPixelFormatType_32BGRA:
+      return GST_VIDEO_FORMAT_BGRA;
+    case kCVPixelFormatType_32RGBA:
+      return GST_VIDEO_FORMAT_RGBA;
+    default:
+      GST_WARNING ("Unknown OSType format: %d", (gint) format);
+      return GST_VIDEO_FORMAT_UNKNOWN;
+  }
+}
+
+
+gboolean
+gst_core_video_info_init_from_pixel_buffer (GstVideoInfo * info,
+    CVPixelBufferRef pixel_buf)
+{
+  size_t width, height;
+  OSType format_type;
+  GstVideoFormat video_format;
+
+  width = CVPixelBufferGetWidth (pixel_buf);
+  height = CVPixelBufferGetHeight (pixel_buf);
+  format_type = CVPixelBufferGetPixelFormatType (pixel_buf);
+  video_format = gst_core_video_get_video_format (format_type);
+
+  if (video_format == GST_VIDEO_FORMAT_UNKNOWN) {
+    return FALSE;
+  }
+
+  gst_video_info_init (info);
+  gst_video_info_set_format (info, video_format, width, height);
+
+  return TRUE;
+}
+
+
 GstBuffer *
-gst_core_video_buffer_new (CVBufferRef cvbuf, GstVideoInfo * vinfo)
+gst_core_video_buffer_new (CVBufferRef cvbuf, GstVideoInfo * vinfo,
+    GstVideoTextureCache * cache)
 {
   CVPixelBufferRef pixbuf = NULL;
   GstBuffer *buf;
   GstCoreVideoMeta *meta;
-  gboolean has_padding;         /* not used for now */
 
   if (CFGetTypeID (cvbuf) != CVPixelBufferGetTypeID ())
     /* TODO: Do we need to handle other buffer types? */
@@ -169,7 +256,7 @@
   meta->cvbuf = CVBufferRetain (cvbuf);
   meta->pixbuf = pixbuf;
 
-  gst_core_video_wrap_pixel_buffer (buf, vinfo, pixbuf, &has_padding);
+  gst_core_video_wrap_pixel_buffer (buf, vinfo, pixbuf, cache, NULL);
 
   return buf;
 }
diff --git a/sys/applemedia/corevideobuffer.h b/sys/applemedia/corevideobuffer.h
index 0ea7d1e..c051988 100644
--- a/sys/applemedia/corevideobuffer.h
+++ b/sys/applemedia/corevideobuffer.h
@@ -23,6 +23,7 @@
 #include <gst/gst.h>
 #include <gst/video/video.h>
 #include <gst/video/gstvideometa.h>
+#include "videotexturecache.h"
 
 #include "CoreVideo/CoreVideo.h"
 
@@ -41,10 +42,14 @@
 } GstCoreVideoMeta;
 
 GstBuffer * gst_core_video_buffer_new      (CVBufferRef cvbuf,
-                                            GstVideoInfo *info);
+                                            GstVideoInfo *info,
+                                            GstVideoTextureCache *cache);
+gboolean gst_core_video_info_init_from_pixel_buffer (GstVideoInfo * info,
+                                                     CVPixelBufferRef pixel_buf);
 void gst_core_video_wrap_pixel_buffer      (GstBuffer * buf,
                                             GstVideoInfo * info,
                                             CVPixelBufferRef pixel_buf,
+                                            GstVideoTextureCache *cache,
                                             gboolean * has_padding);
 GType gst_core_video_meta_api_get_type (void);
 
diff --git a/sys/applemedia/corevideomemory.c b/sys/applemedia/corevideomemory.c
index 4cb085d..e8ab72f 100644
--- a/sys/applemedia/corevideomemory.c
+++ b/sys/applemedia/corevideomemory.c
@@ -300,7 +300,7 @@
  * Helper function for gst_apple_core_video_mem_share().
  * Users should call gst_apple_core_video_memory_new_wrapped() instead.
  */
-static GstMemory *
+static GstAppleCoreVideoMemory *
 gst_apple_core_video_memory_new (GstMemoryFlags flags, GstMemory * parent,
     GstAppleCoreVideoPixelBuffer * gpixbuf, gsize plane, gsize maxsize,
     gsize align, gsize offset, gsize size)
@@ -320,18 +320,18 @@
   GST_DEBUG ("%p: gpixbuf %p, plane: %" G_GSSIZE_FORMAT ", size %"
       G_GSIZE_FORMAT, mem, mem->gpixbuf, mem->plane, mem->mem.size);
 
-  return (GstMemory *) mem;
+  return mem;
 }
 
 /**
  * gst_apple_core_video_memory_new_wrapped:
  * @gpixbuf: the backing #GstAppleCoreVideoPixelBuffer
- * @plane: the plane this memory will represent, or #GST_APPLE_CORE_VIDEO_NO_PLANE for non-planar buffer
+ * @plane: the plane this memory will represent, or 0 for non-planar buffer
  * @size: the size of the buffer or specific plane
  *
  * Returns: a newly allocated #GstAppleCoreVideoMemory
  */
-GstMemory *
+GstAppleCoreVideoMemory *
 gst_apple_core_video_memory_new_wrapped (GstAppleCoreVideoPixelBuffer * gpixbuf,
     gsize plane, gsize size)
 {
@@ -349,7 +349,7 @@
   if (!gst_apple_core_video_pixel_buffer_lock (mem->gpixbuf, flags))
     return NULL;
 
-  if (mem->plane != GST_APPLE_CORE_VIDEO_NO_PLANE) {
+  if (CVPixelBufferIsPlanar (mem->gpixbuf->buf)) {
     ret = CVPixelBufferGetBaseAddressOfPlane (mem->gpixbuf->buf, mem->plane);
 
     if (ret != NULL)
@@ -378,11 +378,8 @@
 {
   GstAppleCoreVideoMemory *mem = (GstAppleCoreVideoMemory *) gmem;
   (void) gst_apple_core_video_pixel_buffer_unlock (mem->gpixbuf);
-  if (mem->plane != GST_APPLE_CORE_VIDEO_NO_PLANE)
-    GST_DEBUG ("%p: pixbuf %p plane %" G_GSIZE_FORMAT, mem,
-        mem->gpixbuf->buf, mem->plane);
-  else
-    GST_DEBUG ("%p: pixbuf %p", mem, mem->gpixbuf->buf);
+  GST_DEBUG ("%p: pixbuf %p plane %" G_GSIZE_FORMAT, mem,
+      mem->gpixbuf->buf, mem->plane);
 }
 
 static GstMemory *
@@ -403,9 +400,9 @@
 
   /* the shared memory is always readonly */
   sub =
-      gst_apple_core_video_memory_new (GST_MINI_OBJECT_FLAGS (parent) |
-      GST_MINI_OBJECT_FLAG_LOCK_READONLY, parent, mem->gpixbuf, mem->plane,
-      gmem->maxsize, gmem->align, gmem->offset + offset, size);
+      GST_MEMORY_CAST (gst_apple_core_video_memory_new (GST_MINI_OBJECT_FLAGS
+          (parent) | GST_MINI_OBJECT_FLAG_LOCK_READONLY, parent, mem->gpixbuf,
+          mem->plane, gmem->maxsize, gmem->align, gmem->offset + offset, size));
 
   return sub;
 }
diff --git a/sys/applemedia/corevideomemory.h b/sys/applemedia/corevideomemory.h
index d81781c..ba4468f 100644
--- a/sys/applemedia/corevideomemory.h
+++ b/sys/applemedia/corevideomemory.h
@@ -63,13 +63,6 @@
 } GstAppleCoreVideoPixelBuffer;
 
 /**
- * GST_APPLE_CORE_VIDEO_NO_PLANE:
- *
- * Indicates a non-planar pixel buffer.
- */
-#define GST_APPLE_CORE_VIDEO_NO_PLANE ((size_t)-1)
-
-/**
  * GstAppleCoreVideoMemory:
  *
  * Represents a video plane or an entire (non-planar) video image,
@@ -101,7 +94,7 @@
 gboolean
 gst_is_apple_core_video_memory (GstMemory * mem);
 
-GstMemory *
+GstAppleCoreVideoMemory *
 gst_apple_core_video_memory_new_wrapped (GstAppleCoreVideoPixelBuffer * shared, gsize plane, gsize size);
 
 G_END_DECLS
diff --git a/sys/applemedia/iosglmemory.c b/sys/applemedia/iosglmemory.c
new file mode 100644
index 0000000..65507b4
--- /dev/null
+++ b/sys/applemedia/iosglmemory.c
@@ -0,0 +1,166 @@
+/*
+ * GStreamer
+ * Copyright (C) 2015 Alessandro Decina <twi@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 "iosglmemory.h"
+
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_IOS_GL_MEMORY);
+#define GST_CAT_DEFAULT GST_CAT_IOS_GL_MEMORY
+
+G_DEFINE_TYPE (GstIOSGLMemoryAllocator, gst_ios_gl_memory_allocator,
+    GST_TYPE_GL_MEMORY_ALLOCATOR);
+
+typedef struct
+{
+  GstIOSGLMemory *memory;
+} ContextThreadData;
+
+static GstAllocator *_ios_gl_memory_allocator;
+
+static void
+_ios_gl_memory_destroy (GstGLBaseMemory * gl_mem)
+{
+  GstIOSGLMemory *mem = (GstIOSGLMemory *) gl_mem;
+
+  gst_memory_unref (GST_MEMORY_CAST (mem->cv_mem));
+  GST_GL_BASE_MEMORY_ALLOCATOR_CLASS
+      (gst_ios_gl_memory_allocator_parent_class)->destroy (gl_mem);
+}
+
+static gpointer
+_ios_gl_memory_allocator_map (GstGLBaseMemory * bmem,
+    GstMapInfo * info, gsize size)
+{
+  GstGLMemory *gl_mem = (GstGLMemory *) bmem;
+  GstIOSGLMemory *mem = (GstIOSGLMemory *) gl_mem;
+
+  if (info->flags & GST_MAP_GL)
+    return &gl_mem->tex_id;
+  return GST_MEMORY_CAST (mem->cv_mem)->allocator->
+      mem_map (GST_MEMORY_CAST (mem->cv_mem), size, info->flags);
+}
+
+static void
+_ios_gl_memory_allocator_unmap (GstGLBaseMemory * bmem, GstMapInfo * info)
+{
+  GstIOSGLMemory *mem = (GstIOSGLMemory *) bmem;
+
+  if (!(info->flags & GST_MAP_GL))
+    GST_MEMORY_CAST (mem->cv_mem)->allocator->
+        mem_unmap (GST_MEMORY_CAST (mem->cv_mem));
+}
+
+static GstMemory *
+_mem_alloc (GstAllocator * allocator, gsize size, GstAllocationParams * params)
+{
+  g_warning ("use gst_ios_gl_memory_new_wrapped () to allocate from this "
+      "IOSGL allocator");
+
+  return NULL;
+}
+
+static void
+gst_ios_gl_memory_allocator_class_init (GstIOSGLMemoryAllocatorClass * klass)
+{
+  GstAllocatorClass *allocator_class = (GstAllocatorClass *) klass;
+  GstGLBaseMemoryAllocatorClass *gl_base_allocator_class =
+      (GstGLBaseMemoryAllocatorClass *) klass;
+
+  allocator_class->alloc = _mem_alloc;
+  gl_base_allocator_class->destroy = _ios_gl_memory_destroy;
+  gl_base_allocator_class->map = _ios_gl_memory_allocator_map;
+  gl_base_allocator_class->unmap = _ios_gl_memory_allocator_unmap;
+}
+
+static void
+gst_ios_gl_memory_allocator_init (GstIOSGLMemoryAllocator * allocator)
+{
+  GstAllocator *alloc = GST_ALLOCATOR_CAST (allocator);
+
+  alloc->mem_type = GST_IOS_GL_MEMORY_ALLOCATOR_NAME;
+  GST_OBJECT_FLAG_SET (allocator, GST_ALLOCATOR_FLAG_CUSTOM_ALLOC);
+}
+
+void
+gst_ios_gl_memory_init (void)
+{
+  static volatile gsize _init = 0;
+
+  if (g_once_init_enter (&_init)) {
+    GST_DEBUG_CATEGORY_INIT (GST_CAT_IOS_GL_MEMORY, "iosurface", 0,
+        "IOSGL Buffer");
+
+    _ios_gl_memory_allocator =
+        g_object_new (GST_TYPE_IOS_GL_MEMORY_ALLOCATOR, NULL);
+
+    gst_allocator_register (GST_IOS_GL_MEMORY_ALLOCATOR_NAME,
+        gst_object_ref (_ios_gl_memory_allocator));
+    g_once_init_leave (&_init, 1);
+  }
+}
+
+gboolean
+gst_is_ios_gl_memory (GstMemory * mem)
+{
+  return mem != NULL && mem->allocator != NULL &&
+      g_type_is_a (G_OBJECT_TYPE (mem->allocator),
+      GST_TYPE_IOS_GL_MEMORY_ALLOCATOR);
+}
+
+static GstIOSGLMemory *
+_ios_gl_memory_new (GstGLContext * context,
+    GstAppleCoreVideoMemory * cv_mem,
+    GstGLTextureTarget target,
+    GstVideoGLTextureType tex_type,
+    guint tex_id,
+    GstVideoInfo * info,
+    guint plane,
+    GstVideoAlignment * valign, gpointer user_data, GDestroyNotify notify)
+{
+  GstIOSGLMemory *mem;
+
+  mem = g_new0 (GstIOSGLMemory, 1);
+  mem->gl_mem.tex_id = tex_id;
+  mem->gl_mem.texture_wrapped = TRUE;
+  gst_gl_memory_init (&mem->gl_mem, _ios_gl_memory_allocator, NULL, context,
+      target, tex_type, NULL, info, plane, valign, user_data, notify);
+  mem->cv_mem = cv_mem;
+
+  GST_MINI_OBJECT_FLAG_SET (mem, GST_MEMORY_FLAG_READONLY);
+
+  return mem;
+}
+
+GstIOSGLMemory *
+gst_ios_gl_memory_new_wrapped (GstGLContext * context,
+    GstAppleCoreVideoMemory * cv_mem,
+    GstGLTextureTarget target,
+    GstVideoGLTextureType tex_type,
+    guint tex_id,
+    GstVideoInfo * info,
+    guint plane,
+    GstVideoAlignment * valign, gpointer user_data, GDestroyNotify notify)
+{
+  return _ios_gl_memory_new (context, cv_mem, target, tex_type, tex_id, info,
+      plane, valign, user_data, notify);
+}
diff --git a/sys/applemedia/iosglmemory.h b/sys/applemedia/iosglmemory.h
new file mode 100644
index 0000000..ae9816a
--- /dev/null
+++ b/sys/applemedia/iosglmemory.h
@@ -0,0 +1,78 @@
+/*
+ * GStreamer
+ * Copyright (C) 2016 Alessandro Decina <twi@centricular.com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+#ifndef _GST_IOS_GL_MEMORY_H_
+#define _GST_IOS_GL_MEMORY_H_
+
+#include <gst/gst.h>
+#include <gst/gstallocator.h>
+#include <gst/video/video.h>
+#include <gst/gl/gl.h>
+#include "corevideomemory.h"
+
+G_BEGIN_DECLS
+
+#define GST_TYPE_IOS_GL_MEMORY_ALLOCATOR (gst_ios_gl_memory_allocator_get_type())
+GType gst_ios_gl_memory_allocator_get_type(void);
+
+#define GST_IS_IOS_GL_MEMORY_ALLOCATOR(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_IOS_GL_MEMORY_ALLOCATOR))
+#define GST_IS_IOS_GL_MEMORY_ALLOCATOR_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_IOS_GL_MEMORY_ALLOCATOR))
+#define GST_IOS_GL_MEMORY_ALLOCATOR_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_IOS_GL_MEMORY_ALLOCATOR, GstIOSGLMemoryAllocatorClass))
+#define GST_IOS_GL_MEMORY_ALLOCATOR(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_IOS_GL_MEMORY_ALLOCATOR, GstIOSGLMemoryAllocator))
+#define GST_IOS_GL_MEMORY_ALLOCATOR_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_IOS_GL_MEMORY_ALLOCATOR, GstIOSGLMemoryAllocatorClass))
+#define GST_IOS_GL_MEMORY_ALLOCATOR_CAST(obj)            ((GstIOSGLMemoryAllocator *)(obj))
+
+typedef struct _GstIOSGLMemory
+{
+  GstGLMemory gl_mem;
+  GstAppleCoreVideoMemory *cv_mem;
+} GstIOSGLMemory;
+
+#define GST_IOS_GL_MEMORY_ALLOCATOR_NAME   "IOSGLMemory"
+
+void gst_ios_gl_memory_init (void);
+
+GstIOSGLMemory *
+gst_ios_gl_memory_new_wrapped (GstGLContext * context,
+    GstAppleCoreVideoMemory *cv_mem,
+    GstGLTextureTarget target,
+    GstVideoGLTextureType tex_type,
+    guint tex_id,
+    GstVideoInfo * info,
+    guint plane,
+    GstVideoAlignment *valign,
+    gpointer user_data,
+    GDestroyNotify notify);
+
+gboolean gst_is_ios_gl_memory (GstMemory * mem);
+
+typedef struct _GstIOSGLMemoryAllocator
+{
+  GstGLMemoryAllocator allocator;
+} GstIOSGLMemoryAllocator;
+
+typedef struct _GstIOSGLMemoryAllocatorClass
+{
+  GstGLMemoryAllocatorClass parent_class;
+} GstIOSGLMemoryAllocatorClass;
+
+G_END_DECLS
+
+#endif /* _GST_IOS_GL_MEMORY_H_ */
diff --git a/sys/applemedia/iosurfacememory.c b/sys/applemedia/iosurfacememory.c
index 23f03f9..e0d8b07 100644
--- a/sys/applemedia/iosurfacememory.c
+++ b/sys/applemedia/iosurfacememory.c
@@ -30,6 +30,12 @@
 G_DEFINE_TYPE (GstIOSurfaceMemoryAllocator, gst_io_surface_memory_allocator,
     GST_TYPE_GL_MEMORY_ALLOCATOR);
 
+typedef struct
+{
+  GstIOSurfaceMemory *memory;
+  IOSurfaceRef surface;
+} ContextThreadData;
+
 static void _io_surface_memory_set_surface (GstIOSurfaceMemory * memory,
     IOSurfaceRef surface);
 
@@ -176,7 +182,7 @@
   GST_MINI_OBJECT_FLAG_SET (mem, GST_MEMORY_FLAG_READONLY);
 
   mem->surface = NULL;
-  _io_surface_memory_set_surface (mem, surface);
+  gst_io_surface_memory_set_surface (mem, surface);
 
   return mem;
 }
@@ -232,12 +238,22 @@
   }
 }
 
+static void
+_do_set_surface (GstGLContext * context, ContextThreadData * data)
+{
+  _io_surface_memory_set_surface (data->memory, data->surface);
+}
+
 void
 gst_io_surface_memory_set_surface (GstIOSurfaceMemory * memory,
     IOSurfaceRef surface)
 {
-  g_return_if_fail (gst_is_io_surface_memory ((GstMemory *) memory));
-  g_return_if_fail (memory->surface == NULL);
+  GstGLContext *context;
+  ContextThreadData data = { memory, surface };
 
-  _io_surface_memory_set_surface (memory, surface);
+  g_return_if_fail (gst_is_io_surface_memory ((GstMemory *) memory));
+
+  context = memory->gl_mem.mem.context;
+  gst_gl_context_thread_add (context,
+      (GstGLContextThreadFunc) _do_set_surface, &data);
 }
diff --git a/sys/applemedia/plugin.m b/sys/applemedia/plugin.m
index 0ff4ec1..19384c7 100644
--- a/sys/applemedia/plugin.m
+++ b/sys/applemedia/plugin.m
@@ -25,7 +25,8 @@
 #include "corevideomemory.h"
 #ifdef HAVE_IOS
 #include "iosassetsrc.h"
-#else
+#endif
+#ifdef HAVE_QTKIT
 #include "qtkitvideosrc.h"
 #endif
 #ifdef HAVE_AVFOUNDATION
@@ -67,11 +68,15 @@
   gst_apple_core_video_memory_init ();
 
 #ifdef HAVE_IOS
+  gst_ios_gl_memory_init ();
+
   res &= gst_element_register (plugin, "iosassetsrc", GST_RANK_SECONDARY,
       GST_TYPE_IOS_ASSET_SRC);
 #else
   enable_mt_mode ();
+#endif
 
+#ifdef HAVE_QTKIT
   res = gst_element_register (plugin, "qtkitvideosrc", GST_RANK_SECONDARY,
       GST_TYPE_QTKIT_VIDEO_SRC);
 #endif
diff --git a/sys/applemedia/qtkitvideosrc.m b/sys/applemedia/qtkitvideosrc.m
index 4017084..a69e70f 100644
--- a/sys/applemedia/qtkitvideosrc.m
+++ b/sys/applemedia/qtkitvideosrc.m
@@ -18,8 +18,8 @@
  */
 
 #include "qtkitvideosrc.h"
-
 #import "corevideobuffer.h"
+#include "glcontexthelper.h"
 
 #import <QTKit/QTKit.h>
 
@@ -100,9 +100,12 @@
   BOOL stopRequest;
 
   gint width, height;
-  gint fps_n, fps_d;  
+  gint fps_n, fps_d;
   GstClockTime duration;
   guint64 offset;
+  GstGLContextHelper *ctxh;
+  GstVideoTextureCache *textureCache;
+  GstVideoInfo outputInfo;
 }
 
 - (id)init;
@@ -149,6 +152,10 @@
 
     gst_base_src_set_live (baseSrc, TRUE);
     gst_base_src_set_format (baseSrc, GST_FORMAT_TIME);
+
+    self->ctxh = NULL;
+    textureCache = NULL;
+    gst_video_info_init (&outputInfo);
   }
 
   return self;
@@ -272,6 +279,17 @@
                          error:nil];
   g_assert (success);
 
+  gst_gl_context_helper_ensure_context (ctxh);
+  GST_INFO_OBJECT (element, "pushing textures, context %p old context %p",
+      ctxh->context, textureCache ? textureCache->ctx : NULL);
+  if (textureCache && textureCache->ctx != ctxh->context) {
+    gst_video_texture_cache_free (textureCache);
+    textureCache = NULL;
+  }
+  textureCache = gst_video_texture_cache_new (ctxh->context);
+  gst_video_texture_cache_set_format (textureCache, GST_VIDEO_FORMAT_UYVY, caps);
+  gst_video_info_set_format (&outputInfo, GST_VIDEO_FORMAT_UYVY, width, height);
+
   [output setDelegate:self];
   [session startRunning];
 
@@ -291,6 +309,7 @@
   fps_n = 0;
   fps_d = 1;
   duration = GST_CLOCK_TIME_NONE;
+  ctxh = gst_gl_context_helper_new (element);
 
   /* this will trigger negotiation and open the device in setCaps */
   gst_base_src_start_complete (baseSrc, GST_FLOW_OK);
@@ -306,7 +325,6 @@
     [[NSRunLoop mainRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:1]];
   }
 
-
   return YES;
 }
 
@@ -320,6 +338,12 @@
   [queue release];
   queue = nil;
 
+  gst_gl_context_helper_free (ctxh);
+  ctxh = NULL;
+  if (textureCache)
+    gst_video_texture_cache_free (textureCache);
+  textureCache = NULL;
+
   return YES;
 }
 
@@ -434,7 +458,7 @@
   [queueLock unlockWithCondition:
       ([queue count] == 0) ? NO_FRAMES : HAS_FRAME_OR_STOP_REQUEST];
 
-  *buf = gst_core_video_buffer_new ((CVBufferRef)frame, NULL);
+  *buf = gst_core_video_buffer_new ((CVBufferRef)frame, &outputInfo, textureCache);
   CVBufferRelease (frame);
 
   [self timestampBuffer:*buf];
diff --git a/sys/applemedia/videotexturecache.h b/sys/applemedia/videotexturecache.h
index 0b43566..8dc927a 100644
--- a/sys/applemedia/videotexturecache.h
+++ b/sys/applemedia/videotexturecache.h
@@ -22,7 +22,7 @@
 
 #include <gst/video/gstvideometa.h>
 #include <gst/gl/gstglcontext.h>
-#include <CoreVideo/CoreVideo.h>
+#include "corevideomemory.h"
 
 G_BEGIN_DECLS
 
@@ -47,8 +47,8 @@
 void gst_video_texture_cache_set_format (GstVideoTextureCache * cache,
     GstVideoFormat in_format, GstCaps * out_caps);
 gboolean gst_video_texture_cache_upload (GstVideoGLTextureUploadMeta * meta, guint texture_id[4]);
-GstBuffer * gst_video_texture_cache_get_gl_buffer (GstVideoTextureCache * cache,
-        GstBuffer * cv_buffer);
+GstMemory *gst_video_texture_cache_create_memory (GstVideoTextureCache * cache,
+    GstAppleCoreVideoPixelBuffer *gpixbuf, guint plane, gsize size);
 
 G_END_DECLS
 
diff --git a/sys/applemedia/videotexturecache.m b/sys/applemedia/videotexturecache.m
index 4f4ee58..8315a3b 100644
--- a/sys/applemedia/videotexturecache.m
+++ b/sys/applemedia/videotexturecache.m
@@ -27,6 +27,7 @@
 #include <gst/gl/gstglbufferpool.h>
 #include "iosurfacememory.h"
 #endif
+#include "iosglmemory.h"
 #include "videotexturecache.h"
 #include "coremediabuffer.h"
 #include "corevideobuffer.h"
@@ -35,8 +36,10 @@
 typedef struct _ContextThreadData
 {
   GstVideoTextureCache *cache;
-  GstBuffer *input_buffer;
-  GstBuffer *output_buffer;
+  GstAppleCoreVideoPixelBuffer *gpixbuf;
+  guint plane;
+  gsize size;
+  GstMemory *memory;
 } ContextThreadData;
 
 GstVideoTextureCache *
@@ -97,14 +100,12 @@
 
   out_caps = gst_caps_copy (out_caps);
   features = gst_caps_get_features (out_caps, 0);
-  gst_caps_features_add (features, GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
   gst_video_info_from_caps (&cache->output_info, out_caps);
 
   in_caps = gst_caps_copy (out_caps);
   gst_caps_set_simple (in_caps, "format",
           G_TYPE_STRING, gst_video_format_to_string (in_format), NULL);
   features = gst_caps_get_features (in_caps, 0);
-  gst_caps_features_add (features, GST_CAPS_FEATURE_MEMORY_GL_MEMORY);
   gst_video_info_from_caps (&cache->input_info, in_caps);
 
   if (cache->in_caps)
@@ -127,40 +128,22 @@
 #endif
 }
 
-static CVPixelBufferRef
-cv_pixel_buffer_from_gst_buffer (GstBuffer * buffer)
-{
-  GstCoreMediaMeta *cm_meta =
-      (GstCoreMediaMeta *) gst_buffer_get_meta (buffer,
-      gst_core_media_meta_api_get_type ());
-  GstCoreVideoMeta *cv_meta =
-      (GstCoreVideoMeta *) gst_buffer_get_meta (buffer,
-      gst_core_video_meta_api_get_type ());
-
-  g_return_val_if_fail (cm_meta || cv_meta, NULL);
-
-  return cm_meta ? cm_meta->pixel_buf : cv_meta->pixbuf;
-}
-
 #if HAVE_IOS
 static void
-_do_get_gl_buffer (GstGLContext * context, ContextThreadData * data)
+_do_create_memory (GstGLContext * context, ContextThreadData * data)
 {
   CVOpenGLESTextureRef texture = NULL;
   GstVideoTextureCache *cache = data->cache;
-  CVPixelBufferRef pixel_buf = cv_pixel_buffer_from_gst_buffer (data->input_buffer);
+  GstAppleCoreVideoPixelBuffer *gpixbuf = data->gpixbuf;
+  CVPixelBufferRef pixel_buf = gpixbuf->buf;
+  guint plane = data->plane;
+  gssize size = data->size;
   GstGLTextureTarget gl_target;
-  GstGLBaseMemoryAllocator *base_mem_alloc;
-  GstGLVideoAllocationParams *params;
-  GstBuffer *output_buffer;
-
-  base_mem_alloc = GST_GL_BASE_MEMORY_ALLOCATOR (gst_gl_memory_allocator_get_default (cache->ctx));
-  output_buffer = gst_buffer_new ();
-  gst_buffer_copy_into (output_buffer, data->input_buffer, GST_BUFFER_COPY_ALL, 0, -1);
+  GstAppleCoreVideoMemory *memory;
+  GstIOSGLMemory *gl_memory;
 
   switch (GST_VIDEO_INFO_FORMAT (&cache->input_info)) {
       case GST_VIDEO_FORMAT_BGRA:
-        /* avfvideosrc does BGRA on iOS when doing GLMemory */
         if (CVOpenGLESTextureCacheCreateTextureFromImage (kCFAllocatorDefault,
               cache->cache, pixel_buf, NULL, GL_TEXTURE_2D, GL_RGBA,
               GST_VIDEO_INFO_WIDTH (&cache->input_info),
@@ -169,64 +152,36 @@
           goto error;
 
         gl_target = gst_gl_texture_target_from_gl (CVOpenGLESTextureGetTarget (texture));
-        params = gst_gl_video_allocation_params_new_wrapped_texture (cache->ctx,
-            NULL, &cache->input_info, 0, NULL, gl_target,
-            GST_VIDEO_GL_TEXTURE_TYPE_RGBA, CVOpenGLESTextureGetName (texture),
-            texture, (GDestroyNotify) CFRelease);
-
-        gst_buffer_replace_memory (output_buffer, 0,
-                (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
-                    (GstGLAllocationParams *) params));
-        gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
+        memory = gst_apple_core_video_memory_new_wrapped (gpixbuf, plane, size);
+        gl_memory = gst_ios_gl_memory_new_wrapped (context, memory,
+            gl_target, GST_VIDEO_GL_TEXTURE_TYPE_RGBA,
+            CVOpenGLESTextureGetName (texture),
+            &cache->input_info,
+            0, NULL, texture, (GDestroyNotify) CFRelease);
         break;
       case GST_VIDEO_FORMAT_NV12: {
         GstVideoGLTextureType textype;
         GLenum texifmt, texfmt;
 
-        textype = GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE;
-        texifmt = gst_gl_format_from_gl_texture_type (textype);
-        texfmt = gst_gl_sized_gl_format_from_gl_format_type (cache->ctx, texifmt, GL_UNSIGNED_BYTE);
-
-        /* vtdec does NV12 on iOS when doing GLMemory */
-        if (CVOpenGLESTextureCacheCreateTextureFromImage (kCFAllocatorDefault,
-              cache->cache, pixel_buf, NULL, GL_TEXTURE_2D, texifmt,
-              GST_VIDEO_INFO_WIDTH (&cache->input_info),
-              GST_VIDEO_INFO_HEIGHT (&cache->input_info),
-              texfmt, GL_UNSIGNED_BYTE, 0, &texture) != kCVReturnSuccess)
-          goto error;
-
-        gl_target = gst_gl_texture_target_from_gl (CVOpenGLESTextureGetTarget (texture));
-        params = gst_gl_video_allocation_params_new_wrapped_texture (cache->ctx,
-            NULL, &cache->input_info, 0, NULL, gl_target, textype,
-            CVOpenGLESTextureGetName (texture), texture,
-            (GDestroyNotify) CFRelease);
-
-        gst_buffer_replace_memory (output_buffer, 0,
-                (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
-                    (GstGLAllocationParams *) params));
-        gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
-
-        textype = GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA;
+        if (plane == 0)
+          textype = GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE;
+        else
+          textype = GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA;
         texifmt = gst_gl_format_from_gl_texture_type (textype);
         texfmt = gst_gl_sized_gl_format_from_gl_format_type (cache->ctx, texifmt, GL_UNSIGNED_BYTE);
 
         if (CVOpenGLESTextureCacheCreateTextureFromImage (kCFAllocatorDefault,
               cache->cache, pixel_buf, NULL, GL_TEXTURE_2D, texifmt,
-              GST_VIDEO_INFO_WIDTH (&cache->input_info) / 2,
-              GST_VIDEO_INFO_HEIGHT (&cache->input_info) / 2,
-              texfmt, GL_UNSIGNED_BYTE, 1, &texture) != kCVReturnSuccess)
+              GST_VIDEO_INFO_COMP_WIDTH (&cache->input_info, plane),
+              GST_VIDEO_INFO_COMP_HEIGHT (&cache->input_info, plane),
+              texfmt, GL_UNSIGNED_BYTE, plane, &texture) != kCVReturnSuccess)
           goto error;
 
         gl_target = gst_gl_texture_target_from_gl (CVOpenGLESTextureGetTarget (texture));
-        params = gst_gl_video_allocation_params_new_wrapped_texture (cache->ctx,
-            NULL, &cache->input_info, 1, NULL, gl_target, textype, 
-            CVOpenGLESTextureGetName (texture), texture,
-            (GDestroyNotify) CFRelease);
-
-        gst_buffer_replace_memory (output_buffer, 1,
-                (GstMemory *) gst_gl_base_memory_alloc (base_mem_alloc,
-                    (GstGLAllocationParams *) params));
-        gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
+        memory = gst_apple_core_video_memory_new_wrapped (gpixbuf, plane, size);
+        gl_memory = gst_ios_gl_memory_new_wrapped (context, memory,
+                gl_target, textype, CVOpenGLESTextureGetName (texture), &cache->input_info,
+                plane, NULL, texture, (GDestroyNotify) CFRelease);
         break;
       }
     default:
@@ -234,51 +189,27 @@
       goto error;
   }
 
-  gst_object_unref (base_mem_alloc);
-
-  data->output_buffer = output_buffer;
+  data->memory = GST_MEMORY_CAST (gl_memory);
 
   return;
 
 error:
-  data->output_buffer = NULL;
-}
-#else /* !HAVE_IOS */
-static void
-_do_get_gl_buffer (GstGLContext * context, ContextThreadData * data)
-{
-  GstVideoTextureCache *cache = data->cache;
-  CVPixelBufferRef pixel_buf = cv_pixel_buffer_from_gst_buffer (data->input_buffer);
-  IOSurfaceRef surface = CVPixelBufferGetIOSurface (pixel_buf);
-
-  data->output_buffer = gst_buffer_new ();
-  gst_buffer_copy_into (data->output_buffer, data->input_buffer, GST_BUFFER_COPY_ALL, 0, -1);
-  for (int i = 0; i < GST_VIDEO_INFO_N_PLANES (&cache->input_info); i++) {
-    GstIOSurfaceMemory *mem;
-    GstVideoGLTextureType tex_type =
-        gst_gl_texture_type_from_format (context,
-        GST_VIDEO_INFO_FORMAT (&cache->input_info), i);
-
-    CFRetain (pixel_buf);
-    mem = gst_io_surface_memory_wrapped (cache->ctx,
-            surface, GST_GL_TEXTURE_TARGET_RECTANGLE, tex_type,
-            &cache->input_info, i, NULL, pixel_buf, (GDestroyNotify) CFRelease);
-
-    gst_buffer_replace_memory (data->output_buffer, i, (GstMemory *) mem);
-  }
+  data->memory = NULL;
 }
 #endif
 
-GstBuffer *
-gst_video_texture_cache_get_gl_buffer (GstVideoTextureCache * cache,
-        GstBuffer * cv_buffer)
+GstMemory *
+gst_video_texture_cache_create_memory (GstVideoTextureCache * cache,
+      GstAppleCoreVideoPixelBuffer *gpixbuf,
+      guint plane,
+      gsize size)
 {
-  ContextThreadData data = {cache, cv_buffer, NULL};
+  ContextThreadData data = {cache, gpixbuf, plane, size, NULL};
 
+#if HAVE_IOS
   gst_gl_context_thread_add (cache->ctx,
-      (GstGLContextThreadFunc) _do_get_gl_buffer, &data);
+      (GstGLContextThreadFunc) _do_create_memory, &data);
+#endif
 
-  gst_buffer_unref (cv_buffer);
-
-  return data.output_buffer;
+  return data.memory;
 }
diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c
index e9c7bdd..fc81774 100644
--- a/sys/applemedia/vtdec.c
+++ b/sys/applemedia/vtdec.c
@@ -96,7 +96,8 @@
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS ("video/x-h264, stream-format=avc, alignment=au,"
         " width=(int)[1, MAX], height=(int)[1, MAX];"
-        "video/mpeg, mpegversion=2;" "image/jpeg")
+        "video/mpeg, mpegversion=2, systemstream=false, parsed=true;"
+        "image/jpeg")
     );
 
 /* define EnableHardwareAcceleratedVideoDecoder in < 10.9 */
@@ -773,7 +774,9 @@
       GST_WARNING_OBJECT (vtdec, "Output state not configured, release buffer");
       frame->flags &= VTDEC_FRAME_FLAG_SKIP;
     } else {
-      buf = gst_core_video_buffer_new (image_buffer, &state->info);
+      buf =
+          gst_core_video_buffer_new (image_buffer, &state->info,
+          vtdec->texture_cache);
       gst_video_codec_state_unref (state);
       GST_BUFFER_PTS (buf) = pts.value;
       GST_BUFFER_DURATION (buf) = duration.value;
@@ -817,13 +820,6 @@
   while ((g_async_queue_length (vtdec->reorder_queue) >=
           vtdec->reorder_queue_length) || drain || flush) {
     frame = (GstVideoCodecFrame *) g_async_queue_try_pop (vtdec->reorder_queue);
-    if (frame && frame->output_buffer && vtdec->texture_cache != NULL) {
-      frame->output_buffer =
-          gst_video_texture_cache_get_gl_buffer (vtdec->texture_cache,
-          frame->output_buffer);
-      if (!frame->output_buffer)
-        GST_ERROR_OBJECT (vtdec, "couldn't get textures from buffer");
-    }
 
     /* we need to check this in case reorder_queue_length=0 (jpeg for
      * example) or we're draining/flushing
diff --git a/sys/applemedia/vtenc.c b/sys/applemedia/vtenc.c
index 39b7813..d91ab82 100644
--- a/sys/applemedia/vtenc.c
+++ b/sys/applemedia/vtenc.c
@@ -1127,7 +1127,8 @@
       goto cv_error;
     }
 
-    outbuf = gst_core_video_buffer_new ((CVBufferRef) pbuf, &self->video_info);
+    outbuf =
+        gst_core_video_buffer_new ((CVBufferRef) pbuf, &self->video_info, NULL);
     if (!gst_video_frame_map (&outframe, &self->video_info, outbuf,
             GST_MAP_WRITE)) {
       gst_video_frame_unmap (&inframe);
@@ -1309,7 +1310,7 @@
 
   /* We are dealing with block buffers here, so we don't need
    * to enable the use of the video meta API on the core media buffer */
-  frame->output_buffer = gst_core_media_buffer_new (sampleBuffer, FALSE);
+  frame->output_buffer = gst_core_media_buffer_new (sampleBuffer, FALSE, NULL);
 
 beach:
   /* needed anyway so the frame will be released */
diff --git a/sys/avc/Makefile.in b/sys/avc/Makefile.in
index a1c2cb2..ff4d84f 100644
--- a/sys/avc/Makefile.in
+++ b/sys/avc/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/bluez/Makefile.in b/sys/bluez/Makefile.in
index 5699ff6..fe8af68 100644
--- a/sys/bluez/Makefile.in
+++ b/sys/bluez/Makefile.in
@@ -331,6 +331,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -380,6 +382,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/d3dvideosink/Makefile.in b/sys/d3dvideosink/Makefile.in
index 2f728b9..24eee93 100644
--- a/sys/d3dvideosink/Makefile.in
+++ b/sys/d3dvideosink/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/decklink/Makefile.in b/sys/decklink/Makefile.in
index 01e112a..dd3799d 100644
--- a/sys/decklink/Makefile.in
+++ b/sys/decklink/Makefile.in
@@ -347,6 +347,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -396,6 +398,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/decklink/gstdecklink.cpp b/sys/decklink/gstdecklink.cpp
index 203fe4e..c8eb7b3 100644
--- a/sys/decklink/gstdecklink.cpp
+++ b/sys/decklink/gstdecklink.cpp
@@ -140,6 +140,33 @@
 }
 
 GType
+gst_decklink_timecode_format_get_type (void)
+{
+  static gsize id = 0;
+  static const GEnumValue timecodeformats[] = {
+    {GST_DECKLINK_TIMECODE_FORMAT_RP188VITC1, "bmdTimecodeRP188VITC1",
+        "rp188vitc1"},
+    {GST_DECKLINK_TIMECODE_FORMAT_RP188VITC2, "bmdTimecodeRP188VITC2",
+        "rp188vitc2"},
+    {GST_DECKLINK_TIMECODE_FORMAT_RP188LTC, "bmdTimecodeRP188LTC", "rp188ltc"},
+    {GST_DECKLINK_TIMECODE_FORMAT_RP188ANY, "bmdTimecodeRP188Any", "rp188any"},
+    {GST_DECKLINK_TIMECODE_FORMAT_VITC, "bmdTimecodeVITC", "vitc"},
+    {GST_DECKLINK_TIMECODE_FORMAT_VITCFIELD2, "bmdTimecodeVITCField2",
+        "vitcfield2"},
+    {GST_DECKLINK_TIMECODE_FORMAT_SERIAL, "bmdTimecodeSerial", "serial"},
+    {0, NULL, NULL}
+  };
+
+  if (g_once_init_enter (&id)) {
+    GType tmp =
+        g_enum_register_static ("GstDecklinkTimecodeFormat", timecodeformats);
+    g_once_init_leave (&id, tmp);
+  }
+
+  return (GType) id;
+}
+
+GType
 gst_decklink_audio_connection_get_type (void)
 {
   static gsize id = 0;
@@ -232,6 +259,22 @@
   /* *INDENT-ON* */
 };
 
+static const struct
+{
+  BMDTimecodeFormat format;
+  GstDecklinkTimecodeFormat gstformat;
+} tcformats[] = {
+  /* *INDENT-OFF* */
+  {bmdTimecodeRP188VITC1, GST_DECKLINK_TIMECODE_FORMAT_RP188VITC1},
+  {bmdTimecodeRP188VITC2, GST_DECKLINK_TIMECODE_FORMAT_RP188VITC2},
+  {bmdTimecodeRP188LTC, GST_DECKLINK_TIMECODE_FORMAT_RP188LTC},
+  {bmdTimecodeRP188Any, GST_DECKLINK_TIMECODE_FORMAT_RP188ANY},
+  {bmdTimecodeVITC, GST_DECKLINK_TIMECODE_FORMAT_VITC},
+  {bmdTimecodeVITCField2, GST_DECKLINK_TIMECODE_FORMAT_VITCFIELD2},
+  {bmdTimecodeSerial, GST_DECKLINK_TIMECODE_FORMAT_SERIAL}
+  /* *INDENT-ON* */
+};
+
 const GstDecklinkMode *
 gst_decklink_get_mode (GstDecklinkModeEnum e)
 {
@@ -367,6 +410,25 @@
   return GST_DECKLINK_VIDEO_FORMAT_AUTO;
 }
 
+const BMDTimecodeFormat
+gst_decklink_timecode_format_from_enum (GstDecklinkTimecodeFormat f)
+{
+  return tcformats[f].format;
+}
+
+const GstDecklinkTimecodeFormat
+gst_decklink_timecode_format_to_enum (BMDTimecodeFormat f)
+{
+  guint i;
+
+  for (i = 0; i < G_N_ELEMENTS (tcformats); i++) {
+    if (tcformats[i].format == f)
+      return (GstDecklinkTimecodeFormat) i;
+  }
+  g_assert_not_reached ();
+  return GST_DECKLINK_TIMECODE_FORMAT_RP188ANY;
+}
+
 static const BMDVideoConnection connections[] = {
   0,                            /* auto */
   bmdVideoConnectionSDI,
@@ -660,7 +722,9 @@
     GstElement *videosrc = NULL, *audiosrc = NULL;
     void (*got_video_frame) (GstElement * videosrc,
         IDeckLinkVideoInputFrame * frame, GstDecklinkModeEnum mode,
-        GstClockTime capture_time, GstClockTime capture_duration) = NULL;
+        GstClockTime capture_time, GstClockTime capture_duration, guint hours,
+        guint minutes, guint seconds, guint frames, BMDTimecodeFlags bflags) =
+        NULL;
     void (*got_audio_packet) (GstElement * videosrc,
         IDeckLinkAudioInputPacket * packet, GstClockTime capture_time,
         gboolean discont) = NULL;
@@ -668,7 +732,11 @@
     BMDTimeValue capture_time = GST_CLOCK_TIME_NONE, capture_duration =
         GST_CLOCK_TIME_NONE;
     HRESULT res;
+    IDeckLinkTimecode *dtc;
+    uint8_t hours, minutes, seconds, frames;
+    BMDTimecodeFlags bflags;
 
+    hours = minutes = seconds = frames = bflags = 0;
     if (video_frame == NULL)
       goto no_video_frame;
 
@@ -681,6 +749,35 @@
       capture_duration = GST_CLOCK_TIME_NONE;
     }
 
+    if (m_input->videosrc) {
+      /* FIXME: Avoid circularity between gstdecklink.cpp and
+       * gstdecklinkvideosrc.cpp */
+      videosrc = GST_ELEMENT_CAST (gst_object_ref (m_input->videosrc));
+      res =
+          video_frame->
+          GetTimecode (GST_DECKLINK_VIDEO_SRC (videosrc)->timecode_format,
+          &dtc);
+
+      if (res != S_OK) {
+        GST_DEBUG_OBJECT (videosrc, "Failed to get timecode: 0x%08x", res);
+        dtc = NULL;
+      } else {
+        res = dtc->GetComponents (&hours, &minutes, &seconds, &frames);
+        if (res != S_OK) {
+          GST_ERROR ("Could not get components for timecode %p", dtc);
+          hours = 0;
+          minutes = 0;
+          seconds = 0;
+          frames = 0;
+          bflags = 0;
+        } else {
+          GST_DEBUG_OBJECT (videosrc, "Got timecode %02d:%02d:%02d:%02d", hours,
+              minutes, seconds, frames);
+          bflags = dtc->GetFlags ();
+        }
+      }
+    }
+
     g_mutex_lock (&m_input->lock);
 
     if (capture_time > (BMDTimeValue) m_input->clock_start_time)
@@ -694,7 +791,6 @@
       capture_time = 0;
 
     if (m_input->videosrc) {
-      videosrc = GST_ELEMENT_CAST (gst_object_ref (m_input->videosrc));
       got_video_frame = m_input->got_video_frame;
     }
     mode = gst_decklink_get_mode_enum_from_bmd (m_input->mode->mode);
@@ -707,7 +803,8 @@
 
     if (got_video_frame && videosrc) {
       got_video_frame (videosrc, video_frame, mode, capture_time,
-          capture_duration);
+          capture_duration, (guint8) hours, (guint8) minutes, (guint8) seconds,
+          (guint8) frames, bflags);
     }
 
   no_video_frame:
@@ -848,6 +945,7 @@
 
     ret = decklink->QueryInterface (IID_IDeckLinkAttributes,
         (void **) &devices[i].input.attributes);
+    devices[i].output.attributes = devices[i].input.attributes;
     if (ret != S_OK) {
       GST_WARNING ("selected device does not have attributes interface");
     }
diff --git a/sys/decklink/gstdecklink.h b/sys/decklink/gstdecklink.h
index 6559206..9f95c56 100644
--- a/sys/decklink/gstdecklink.h
+++ b/sys/decklink/gstdecklink.h
@@ -125,9 +125,23 @@
 #define GST_TYPE_DECKLINK_VIDEO_FORMAT (gst_decklink_video_format_get_type ())
 GType gst_decklink_video_format_get_type (void);
 
+typedef enum {
+  GST_DECKLINK_TIMECODE_FORMAT_RP188VITC1, /*bmdTimecodeRP188VITC1 */
+  GST_DECKLINK_TIMECODE_FORMAT_RP188VITC2, /*bmdTimecodeRP188VITC2 */
+  GST_DECKLINK_TIMECODE_FORMAT_RP188LTC, /*bmdTimecodeRP188LTC */
+  GST_DECKLINK_TIMECODE_FORMAT_RP188ANY, /*bmdTimecodeRP188Any */
+  GST_DECKLINK_TIMECODE_FORMAT_VITC, /*bmdTimecodeVITC */
+  GST_DECKLINK_TIMECODE_FORMAT_VITCFIELD2, /*bmdTimecodeVITCField2 */
+  GST_DECKLINK_TIMECODE_FORMAT_SERIAL /* bmdTimecodeSerial */
+} GstDecklinkTimecodeFormat;
+#define GST_TYPE_DECKLINK_TIMECODE_FORMAT (gst_decklink_timecode_format_get_type ())
+GType gst_decklink_timecode_format_get_type (void);
+
 const BMDPixelFormat gst_decklink_pixel_format_from_type (GstDecklinkVideoFormat t);
 const gint gst_decklink_bpp_from_type (GstDecklinkVideoFormat t);
 const GstDecklinkVideoFormat gst_decklink_type_from_video_format (GstVideoFormat f);
+const BMDTimecodeFormat gst_decklink_timecode_format_from_enum (GstDecklinkTimecodeFormat f);
+const GstDecklinkTimecodeFormat gst_decklink_timecode_format_to_enum (BMDTimecodeFormat f);
 
 typedef struct _GstDecklinkMode GstDecklinkMode;
 struct _GstDecklinkMode {
@@ -153,6 +167,7 @@
 struct _GstDecklinkOutput {
   IDeckLink *device;
   IDeckLinkOutput *output;
+  IDeckLinkAttributes *attributes;
   GstClock *clock;
   GstClockTime clock_start_time, clock_last_time, clock_epoch;
   GstClockTimeDiff clock_offset;
@@ -189,7 +204,7 @@
   GMutex lock;
 
   /* Set by the video source */
-  void (*got_video_frame) (GstElement *videosrc, IDeckLinkVideoInputFrame * frame, GstDecklinkModeEnum mode, GstClockTime capture_time, GstClockTime capture_duration);
+  void (*got_video_frame) (GstElement *videosrc, IDeckLinkVideoInputFrame * frame, GstDecklinkModeEnum mode, GstClockTime capture_time, GstClockTime capture_duration, guint hours, guint minutes, guint seconds, guint frames, BMDTimecodeFlags bflags);
   /* Configured mode or NULL */
   const GstDecklinkMode *mode;
   BMDPixelFormat format;
diff --git a/sys/decklink/gstdecklinkaudiosink.cpp b/sys/decklink/gstdecklinkaudiosink.cpp
index 54cb257..9b480d5 100644
--- a/sys/decklink/gstdecklinkaudiosink.cpp
+++ b/sys/decklink/gstdecklinkaudiosink.cpp
@@ -409,7 +409,7 @@
   }
 
   ret = self->output->output->EnableAudioOutput (bmdAudioSampleRate48kHz,
-      sample_depth, 2, bmdAudioOutputStreamContinuous);
+      sample_depth, spec->info.channels, bmdAudioOutputStreamContinuous);
   if (ret != S_OK) {
     GST_WARNING_OBJECT (self->sink, "Failed to enable audio output 0x%08x",
         ret);
@@ -517,7 +517,7 @@
     GST_PAD_SINK,
     GST_PAD_ALWAYS,
     GST_STATIC_CAPS
-    ("audio/x-raw, format={S16LE,S32LE}, channels=2, rate=48000, "
+    ("audio/x-raw, format={S16LE,S32LE}, channels={2, 8, 16}, rate=48000, "
         "layout=interleaved")
     );
 
@@ -529,7 +529,7 @@
 
 static GstStateChangeReturn gst_decklink_audio_sink_change_state (GstElement *
     element, GstStateChange transition);
-
+static GstCaps * gst_decklink_audio_sink_get_caps (GstBaseSink * bsink, GstCaps * filter);
 static GstAudioRingBuffer
     * gst_decklink_audio_sink_create_ringbuffer (GstAudioBaseSink * absink);
 
@@ -542,6 +542,7 @@
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
   GstElementClass *element_class = GST_ELEMENT_CLASS (klass);
+  GstBaseSinkClass *basesink_class = GST_BASE_SINK_CLASS (klass);
   GstAudioBaseSinkClass *audiobasesink_class =
       GST_AUDIO_BASE_SINK_CLASS (klass);
 
@@ -552,6 +553,8 @@
   element_class->change_state =
       GST_DEBUG_FUNCPTR (gst_decklink_audio_sink_change_state);
 
+  basesink_class->get_caps = GST_DEBUG_FUNCPTR (gst_decklink_audio_sink_get_caps);
+
   audiobasesink_class->create_ringbuffer =
       GST_DEBUG_FUNCPTR (gst_decklink_audio_sink_create_ringbuffer);
 
@@ -651,6 +654,62 @@
   return ret;
 }
 
+static GstCaps *
+gst_decklink_audio_sink_get_caps (GstBaseSink * bsink, GstCaps * filter)
+{
+  GstDecklinkAudioSink *self = GST_DECKLINK_AUDIO_SINK_CAST (bsink);
+  GstDecklinkAudioSinkRingBuffer *buf =
+      GST_DECKLINK_AUDIO_SINK_RING_BUFFER_CAST (GST_AUDIO_BASE_SINK_CAST
+      (self)->ringbuffer);
+  GstCaps *caps = gst_pad_get_pad_template_caps (GST_BASE_SINK_PAD (bsink));
+
+  if (buf) {
+    GST_OBJECT_LOCK (buf);
+    if (buf->output && buf->output->attributes) {
+      int64_t max_channels = 0;
+      HRESULT ret;
+      GstStructure *s;
+      GValue arr = G_VALUE_INIT;
+      GValue v = G_VALUE_INIT;
+
+      ret = buf->output->attributes->GetInt (BMDDeckLinkMaximumAudioChannels, &max_channels);
+      /* 2 should always be supported */
+      if (ret != S_OK) {
+        max_channels = 2;
+      }
+
+      caps = gst_caps_make_writable (caps);
+      s = gst_caps_get_structure (caps, 0);
+
+      g_value_init (&arr, GST_TYPE_LIST);
+      g_value_init (&v, G_TYPE_INT);
+      if (max_channels >= 16) {
+        g_value_set_int (&v, 16);
+        gst_value_list_append_value (&arr, &v);
+      }
+      if (max_channels >= 8) {
+        g_value_set_int (&v, 8);
+        gst_value_list_append_value (&arr, &v);
+      }
+      g_value_set_int (&v, 2);
+      gst_value_list_append_value (&arr, &v);
+
+      gst_structure_set_value (s, "channels", &arr);
+      g_value_unset (&v);
+      g_value_unset (&arr);
+    }
+    GST_OBJECT_UNLOCK (buf);
+  }
+
+  if (filter) {
+    GstCaps *intersection = gst_caps_intersect_full (filter, caps, GST_CAPS_INTERSECT_FIRST);
+    gst_caps_unref (caps);
+    caps = intersection;
+  }
+
+  return caps;
+}
+
 static GstAudioRingBuffer *
 gst_decklink_audio_sink_create_ringbuffer (GstAudioBaseSink * absink)
 {
diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
index 551e5d7..6f6f944 100644
--- a/sys/decklink/gstdecklinkvideosink.cpp
+++ b/sys/decklink/gstdecklinkvideosink.cpp
@@ -119,7 +119,8 @@
   PROP_0,
   PROP_MODE,
   PROP_DEVICE_NUMBER,
-  PROP_VIDEO_FORMAT
+  PROP_VIDEO_FORMAT,
+  PROP_TIMECODE_FORMAT
 };
 
 static void gst_decklink_video_sink_set_property (GObject * object,
@@ -213,6 +214,14 @@
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
               G_PARAM_CONSTRUCT)));
 
+  g_object_class_install_property (gobject_class, PROP_TIMECODE_FORMAT,
+      g_param_spec_enum ("timecode-format", "Timecode format",
+          "Timecode format type to use for playback",
+          GST_TYPE_DECKLINK_TIMECODE_FORMAT,
+          GST_DECKLINK_TIMECODE_FORMAT_RP188ANY,
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+
   templ_caps = gst_decklink_mode_get_template_caps ();
   templ_caps = gst_caps_make_writable (templ_caps);
   /* For output we support any framerate and only really care about timestamps */
@@ -235,6 +244,8 @@
   self->mode = GST_DECKLINK_MODE_NTSC;
   self->device_number = 0;
   self->video_format = GST_DECKLINK_VIDEO_FORMAT_8BIT_YUV;
+  /* VITC is legacy, we should expect RP188 in modern use cases */
+  self->timecode_format = bmdTimecodeRP188Any;
 
   gst_base_sink_set_max_lateness (GST_BASE_SINK_CAST (self), 20 * GST_MSECOND);
   gst_base_sink_set_qos_enabled (GST_BASE_SINK_CAST (self), TRUE);
@@ -268,6 +279,11 @@
           break;
       }
       break;
+    case PROP_TIMECODE_FORMAT:
+      self->timecode_format =
+          gst_decklink_timecode_format_from_enum ((GstDecklinkTimecodeFormat)
+          g_value_get_enum (value));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
       break;
@@ -290,6 +306,10 @@
     case PROP_VIDEO_FORMAT:
       g_value_set_enum (value, self->video_format);
       break;
+    case PROP_TIMECODE_FORMAT:
+      g_value_set_enum (value,
+          gst_decklink_timecode_format_to_enum (self->timecode_format));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
       break;
@@ -310,6 +330,7 @@
   GstDecklinkVideoSink *self = GST_DECKLINK_VIDEO_SINK_CAST (bsink);
   const GstDecklinkMode *mode;
   HRESULT ret;
+  BMDVideoOutputFlags flags;
 
   GST_DEBUG_OBJECT (self, "Setting caps %" GST_PTR_FORMAT, caps);
 
@@ -341,8 +362,21 @@
     g_assert (mode != NULL);
   };
 
-  ret = self->output->output->EnableVideoOutput (mode->mode,
-      bmdVideoOutputFlagDefault);
+  /* The timecode_format itself is used when we embed the actual timecode data
+   * into the frame. Now we only need to know which of the two standards the
+   * timecode format will adhere to: VITC or RP188, and send the appropriate
+   * flag to EnableVideoOutput. The exact format is specified later.
+   *
+   * Note that this flag will have no effect in practice if the video stream
+   * does not contain timecode metadata.
+   */
+  if (self->timecode_format == GST_DECKLINK_TIMECODE_FORMAT_VITC ||
+      self->timecode_format == GST_DECKLINK_TIMECODE_FORMAT_VITCFIELD2)
+    flags = bmdVideoOutputVITC;
+  else
+    flags = bmdVideoOutputRP188;
+
+  ret = self->output->output->EnableVideoOutput (mode->mode, flags);
   if (ret != S_OK) {
     GST_WARNING_OBJECT (self, "Failed to enable video output");
     return FALSE;
@@ -503,6 +537,7 @@
   GstDecklinkVideoFormat caps_format;
   BMDPixelFormat format;
   gint bpp;
+  GstVideoTimeCodeMeta *tc_meta;
 
   GST_DEBUG_OBJECT (self, "Preparing buffer %p", buffer);
 
@@ -575,14 +610,48 @@
   }
   gst_video_frame_unmap (&vframe);
 
+  tc_meta = gst_buffer_get_video_time_code_meta (buffer);
+  if (tc_meta) {
+    BMDTimecodeFlags bflags = (BMDTimecodeFlags) 0;
+    gchar *tc_str;
+
+    if (((GstVideoTimeCodeFlags) (tc_meta->tc.
+                config.flags)) & GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME)
+      bflags = (BMDTimecodeFlags) (bflags | bmdTimecodeIsDropFrame);
+    else
+      bflags = (BMDTimecodeFlags) (bflags | bmdTimecodeFlagDefault);
+    if (tc_meta->tc.field_count == 2)
+      bflags = (BMDTimecodeFlags) (bflags | bmdTimecodeFieldMark);
+
+    tc_str = gst_video_time_code_to_string (&tc_meta->tc);
+    ret = frame->SetTimecodeFromComponents (self->timecode_format,
+        (uint8_t) tc_meta->tc.hours,
+        (uint8_t) tc_meta->tc.minutes,
+        (uint8_t) tc_meta->tc.seconds, (uint8_t) tc_meta->tc.frames, bflags);
+    if (ret != S_OK) {
+      GST_ERROR_OBJECT (self,
+          "Failed to set timecode %s to video frame: 0x%08x", tc_str, ret);
+      flow_ret = GST_FLOW_ERROR;
+      g_free (tc_str);
+      goto out;
+    }
+    GST_DEBUG_OBJECT (self, "Set frame timecode to %s", tc_str);
+    g_free (tc_str);
+  }
+
   convert_to_internal_clock (self, &running_time, &running_time_duration);
 
   GST_LOG_OBJECT (self, "Scheduling video frame %p at %" GST_TIME_FORMAT
       " with duration %" GST_TIME_FORMAT, frame, GST_TIME_ARGS (running_time),
       GST_TIME_ARGS (running_time_duration));
 
+  /* FIXME: Scale down to milliseconds, otherwise at least some hardware
+   * has problems scheduling the frames (or schedules them too slow) and we
+   * run out of available frames:
+   * https://bugzilla.gnome.org/show_bug.cgi?id=770282
+   */
   ret = self->output->output->ScheduleVideoFrame (frame,
-      running_time, running_time_duration, GST_SECOND);
+      running_time / GST_MSECOND, running_time_duration / GST_MSECOND, GST_MSECOND);
   if (ret != S_OK) {
     GST_ELEMENT_ERROR (self, STREAM, FAILED,
         (NULL), ("Failed to schedule frame: 0x%08x", ret));
diff --git a/sys/decklink/gstdecklinkvideosink.h b/sys/decklink/gstdecklinkvideosink.h
index fb95591..b9aca28 100644
--- a/sys/decklink/gstdecklinkvideosink.h
+++ b/sys/decklink/gstdecklinkvideosink.h
@@ -52,6 +52,7 @@
   GstDecklinkModeEnum mode;
   gint device_number;
   GstDecklinkVideoFormat video_format;
+  BMDTimecodeFormat timecode_format;
 
   GstVideoInfo info;
 
diff --git a/sys/decklink/gstdecklinkvideosrc.cpp b/sys/decklink/gstdecklinkvideosrc.cpp
index 15ea0c8..90492ae 100644
--- a/sys/decklink/gstdecklinkvideosrc.cpp
+++ b/sys/decklink/gstdecklinkvideosrc.cpp
@@ -40,7 +40,8 @@
   PROP_CONNECTION,
   PROP_DEVICE_NUMBER,
   PROP_BUFFER_SIZE,
-  PROP_VIDEO_FORMAT
+  PROP_VIDEO_FORMAT,
+  PROP_TIMECODE_FORMAT
 };
 
 typedef struct
@@ -49,6 +50,7 @@
   GstClockTime capture_time, capture_duration;
   GstDecklinkModeEnum mode;
   BMDPixelFormat format;
+  GstVideoTimeCode *tc;
 } CaptureFrame;
 
 static void
@@ -169,6 +171,14 @@
           (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
               G_PARAM_CONSTRUCT)));
 
+  g_object_class_install_property (gobject_class, PROP_TIMECODE_FORMAT,
+      g_param_spec_enum ("timecode-format", "Timecode format",
+          "Timecode format type to use for input",
+          GST_TYPE_DECKLINK_TIMECODE_FORMAT,
+          GST_DECKLINK_TIMECODE_FORMAT_RP188ANY,
+          (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+              G_PARAM_CONSTRUCT)));
+
   templ_caps = gst_decklink_mode_get_template_caps ();
   gst_element_class_add_pad_template (element_class,
       gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS, templ_caps));
@@ -192,6 +202,7 @@
   self->device_number = 0;
   self->buffer_size = DEFAULT_BUFFER_SIZE;
   self->video_format = GST_DECKLINK_VIDEO_FORMAT_AUTO;
+  self->timecode_format = bmdTimecodeRP188Any;
 
   gst_base_src_set_live (GST_BASE_SRC (self), TRUE);
   gst_base_src_set_format (GST_BASE_SRC (self), GST_FORMAT_TIME);
@@ -245,6 +256,11 @@
           break;
       }
       break;
+    case PROP_TIMECODE_FORMAT:
+      self->timecode_format =
+          gst_decklink_timecode_format_from_enum ((GstDecklinkTimecodeFormat)
+          g_value_get_enum (value));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
       break;
@@ -273,6 +289,10 @@
     case PROP_VIDEO_FORMAT:
       g_value_set_enum (value, self->video_format);
       break;
+    case PROP_TIMECODE_FORMAT:
+      g_value_set_enum (value,
+          gst_decklink_timecode_format_to_enum (self->timecode_format));
+      break;
     default:
       G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
       break;
@@ -493,7 +513,8 @@
 static void
 gst_decklink_video_src_got_frame (GstElement * element,
     IDeckLinkVideoInputFrame * frame, GstDecklinkModeEnum mode,
-    GstClockTime capture_time, GstClockTime capture_duration)
+    GstClockTime capture_time, GstClockTime capture_duration, guint hours,
+    guint minutes, guint seconds, guint frames, BMDTimecodeFlags bflags)
 {
   GstDecklinkVideoSrc *self = GST_DECKLINK_VIDEO_SRC_CAST (element);
 
@@ -509,6 +530,9 @@
   g_mutex_lock (&self->lock);
   if (!self->flushing) {
     CaptureFrame *f;
+    const GstDecklinkMode *bmode;
+    GstVideoTimeCodeFlags flags = GST_VIDEO_TIME_CODE_FLAGS_NONE;
+    guint field_count = 0;
 
     while (g_queue_get_length (&self->current_frames) >= self->buffer_size) {
       f = (CaptureFrame *) g_queue_pop_head (&self->current_frames);
@@ -523,6 +547,24 @@
     f->capture_duration = capture_duration;
     f->mode = mode;
     f->format = frame->GetPixelFormat ();
+    bmode = gst_decklink_get_mode (mode);
+    if (bmode->interlaced) {
+      flags =
+          (GstVideoTimeCodeFlags) (flags |
+          GST_VIDEO_TIME_CODE_FLAGS_INTERLACED);
+      if (bflags & bmdTimecodeFieldMark)
+        field_count = 2;
+      else
+        field_count = 1;
+    }
+    if (bflags & bmdTimecodeIsDropFrame)
+      flags =
+          (GstVideoTimeCodeFlags) (flags |
+          GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME);
+    f->tc =
+        gst_video_time_code_new (bmode->fps_n, bmode->fps_d, NULL, flags, hours,
+        minutes, seconds, frames, field_count);
+
     frame->AddRef ();
     g_queue_push_tail (&self->current_frames, f);
     g_cond_signal (&self->cond);
@@ -556,7 +598,6 @@
     GST_DEBUG_OBJECT (self, "Flushing");
     return GST_FLOW_FLUSHING;
   }
-
   // If we're not flushing, we should have a valid frame from the queue
   g_assert (f != NULL);
 
@@ -620,6 +661,7 @@
 
   GST_BUFFER_TIMESTAMP (*buffer) = f->capture_time;
   GST_BUFFER_DURATION (*buffer) = f->capture_duration;
+  gst_buffer_add_video_time_code_meta (*buffer, f->tc);
 
   GST_DEBUG_OBJECT (self,
       "Outputting buffer %p with timestamp %" GST_TIME_FORMAT " and duration %"
diff --git a/sys/decklink/gstdecklinkvideosrc.h b/sys/decklink/gstdecklinkvideosrc.h
index 1309364..b1e7351 100644
--- a/sys/decklink/gstdecklinkvideosrc.h
+++ b/sys/decklink/gstdecklinkvideosrc.h
@@ -58,6 +58,7 @@
 
   GstVideoInfo info;
   GstDecklinkVideoFormat video_format;
+  BMDTimecodeFormat timecode_format;
 
   GstDecklinkInput *input;
 
diff --git a/sys/directsound/Makefile.in b/sys/directsound/Makefile.in
index cab8f60..c03bebd 100644
--- a/sys/directsound/Makefile.in
+++ b/sys/directsound/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/dshowdecwrapper/Makefile.in b/sys/dshowdecwrapper/Makefile.in
index 8f4f070..e3261e9 100644
--- a/sys/dshowdecwrapper/Makefile.in
+++ b/sys/dshowdecwrapper/Makefile.in
@@ -331,6 +331,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -380,6 +382,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/dshowsrcwrapper/Makefile.in b/sys/dshowsrcwrapper/Makefile.in
index b4076c6..0318375 100644
--- a/sys/dshowsrcwrapper/Makefile.in
+++ b/sys/dshowsrcwrapper/Makefile.in
@@ -242,6 +242,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -291,6 +293,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/dshowvideosink/Makefile.in b/sys/dshowvideosink/Makefile.in
index 0714b41..a947aeb 100644
--- a/sys/dshowvideosink/Makefile.in
+++ b/sys/dshowvideosink/Makefile.in
@@ -242,6 +242,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -291,6 +293,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/dvb/Makefile.in b/sys/dvb/Makefile.in
index 8fa6e19..adbf2e7 100644
--- a/sys/dvb/Makefile.in
+++ b/sys/dvb/Makefile.in
@@ -335,6 +335,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -384,6 +386,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/dvb/parsechannels.c b/sys/dvb/parsechannels.c
index 1d63eb8..e39cd94 100644
--- a/sys/dvb/parsechannels.c
+++ b/sys/dvb/parsechannels.c
@@ -99,7 +99,6 @@
   return TRUE;
 }
 
-/* TODO handle errors when getting keyfile data on all these functions */
 static gboolean
 gst_dvb_base_bin_conf_set_string (GstElement * dvbbasebin,
     const gchar * property, GKeyFile * kf, const gchar * channel_name,
@@ -108,6 +107,12 @@
   gchar *str;
 
   str = g_key_file_get_string (kf, channel_name, key, NULL);
+  if (!str) {
+    GST_WARNING_OBJECT (dvbbasebin,
+        "Could not get value for '%s' on channel '%s'", key, channel_name);
+    return FALSE;
+  }
+
   g_object_set (dvbbasebin, property, str, NULL);
   g_free (str);
   return TRUE;
@@ -120,6 +125,12 @@
   guint64 v;
 
   v = g_key_file_get_uint64 (kf, channel_name, key, NULL);
+  if (!v) {
+    GST_WARNING_OBJECT (dvbbasebin,
+        "Could not get value for '%s' on channel '%s'", key, channel_name);
+    return FALSE;
+  }
+
   g_object_set (dvbbasebin, property, (guint) v, NULL);
   return TRUE;
 }
@@ -131,6 +142,12 @@
   gint v;
 
   v = g_key_file_get_integer (kf, channel_name, key, NULL);
+  if (!v) {
+    GST_WARNING_OBJECT (dvbbasebin,
+        "Could not get value for '%s' on channel '%s'", key, channel_name);
+    return FALSE;
+  }
+
   g_object_set (dvbbasebin, property, v, NULL);
   return TRUE;
 }
@@ -144,6 +161,12 @@
   gint v;
 
   str = g_key_file_get_string (kf, channel_name, key, NULL);
+  if (!str) {
+    GST_WARNING_OBJECT (dvbbasebin,
+        "Could not get value for '%s' on channel '%s'", key, channel_name);
+    return FALSE;
+  }
+
   if (strcmp (str, "AUTO") == 0)
     v = 2;
   else if (strcmp (str, "ON") == 0)
@@ -317,7 +340,7 @@
     }
 
     if (!property_found)
-      GST_DEBUG_OBJECT (dvbbasebin, "Failed to map property '%s'", k);
+      GST_WARNING_OBJECT (dvbbasebin, "Failed to map property '%s'", k);
 
     keys_p++;
   }
diff --git a/sys/fbdev/Makefile.in b/sys/fbdev/Makefile.in
index e43e4fd..1ba38af 100644
--- a/sys/fbdev/Makefile.in
+++ b/sys/fbdev/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/fbdev/gstfbdevsink.c b/sys/fbdev/gstfbdevsink.c
index 3f9ad88..166c543 100644
--- a/sys/fbdev/gstfbdevsink.c
+++ b/sys/fbdev/gstfbdevsink.c
@@ -34,8 +34,14 @@
 #include <fcntl.h>
 #include <sys/ioctl.h>
 #include <sys/mman.h>
+
+#ifdef HAVE_UNISTD_H
 #include <unistd.h>
-#include "_stdint.h"
+#endif
+
+#ifdef HAVE_STDINT_H
+#include <stdint.h>
+#endif
 
 #include "gstfbdevsink.h"
 
diff --git a/sys/kms/Makefile.in b/sys/kms/Makefile.in
index 571f994..467c252 100644
--- a/sys/kms/Makefile.in
+++ b/sys/kms/Makefile.in
@@ -330,6 +330,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -379,6 +381,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/kms/gstkmsallocator.c b/sys/kms/gstkmsallocator.c
index 5c23c92..7df1aa3 100644
--- a/sys/kms/gstkmsallocator.c
+++ b/sys/kms/gstkmsallocator.c
@@ -295,13 +295,17 @@
       "KMSMemory::allocator", "drm-fd", fd, NULL);
 }
 
+/* The mem_offsets are relative to the GstMemory start, unlike the vinfo->offset
+ * which are relative to the GstBuffer start. */
 static gboolean
 gst_kms_allocator_add_fb (GstKMSAllocator * alloc, GstKMSMemory * kmsmem,
-    GstVideoInfo * vinfo)
+    gsize mem_offsets[GST_VIDEO_MAX_PLANES], GstVideoInfo * vinfo)
 {
   int i, ret;
+  gint num_planes = GST_VIDEO_INFO_N_PLANES (vinfo);
   guint32 w, h, fmt, bo_handles[4] = { 0, };
-  guint32 offsets[4], pitches[4];
+  guint32 offsets[4] = { 0, };
+  guint32 pitches[4] = { 0, };
 
   if (kmsmem->fb_id)
     return TRUE;
@@ -312,19 +316,21 @@
 
   if (kmsmem->bo) {
     kms_bo_get_prop (kmsmem->bo, KMS_HANDLE, &bo_handles[0]);
-    for (i = 1; i < 4; i++)
+    for (i = 1; i < num_planes; i++)
       bo_handles[i] = bo_handles[0];
   } else {
-    for (i = 0; i < 4; i++)
+    for (i = 0; i < num_planes; i++)
       bo_handles[i] = kmsmem->gem_handle[i];
   }
 
   GST_DEBUG_OBJECT (alloc, "bo handles: %d, %d, %d, %d", bo_handles[0],
       bo_handles[1], bo_handles[2], bo_handles[3]);
 
-  for (i = 0; i < 4; i++) {
-    offsets[i] = GST_VIDEO_INFO_PLANE_OFFSET (vinfo, i);
+  for (i = 0; i < num_planes; i++) {
+    offsets[i] = mem_offsets[i];
     pitches[i] = GST_VIDEO_INFO_PLANE_STRIDE (vinfo, i);
+    GST_DEBUG_OBJECT (alloc, "Create FB plane %i with stride %u and offset %u",
+        i, pitches[i], offsets[i]);
   }
 
   ret = drmModeAddFB2 (alloc->priv->fd, w, h, fmt, bo_handles, pitches,
@@ -369,7 +375,7 @@
   kmsmem = (GstKMSMemory *) mem;
   if (!gst_kms_allocator_memory_create (alloc, kmsmem, vinfo))
     goto fail;
-  if (!gst_kms_allocator_add_fb (alloc, kmsmem, vinfo))
+  if (!gst_kms_allocator_add_fb (alloc, kmsmem, vinfo->offset, vinfo))
     goto fail;
 
   return mem;
@@ -382,7 +388,7 @@
 
 GstKMSMemory *
 gst_kms_allocator_dmabuf_import (GstAllocator * allocator, gint * prime_fds,
-    gint n_planes, GstVideoInfo * vinfo)
+    gint n_planes, gsize offsets[GST_VIDEO_MAX_PLANES], GstVideoInfo * vinfo)
 {
   GstKMSAllocator *alloc;
   GstMemory *mem;
@@ -404,7 +410,7 @@
       goto import_fd_failed;
   }
 
-  if (!gst_kms_allocator_add_fb (alloc, tmp, vinfo))
+  if (!gst_kms_allocator_add_fb (alloc, tmp, offsets, vinfo))
     goto failed;
 
   return tmp;
diff --git a/sys/kms/gstkmsallocator.h b/sys/kms/gstkmsallocator.h
index fa5c349..fefd4c2 100644
--- a/sys/kms/gstkmsallocator.h
+++ b/sys/kms/gstkmsallocator.h
@@ -82,6 +82,7 @@
 GstKMSMemory* gst_kms_allocator_dmabuf_import (GstAllocator *allocator,
 					       gint *prime_fds,
 					       gint n_planes,
+					       gsize offsets[GST_VIDEO_MAX_PLANES],
 					       GstVideoInfo *vinfo);
 
 G_END_DECLS
diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c
index 6790ad6..72cb1f7 100644
--- a/sys/kms/gstkmssink.c
+++ b/sys/kms/gstkmssink.c
@@ -48,6 +48,7 @@
 #include <drm.h>
 #include <xf86drm.h>
 #include <xf86drmMode.h>
+#include <drm_fourcc.h>
 
 #include <string.h>
 
@@ -888,21 +889,6 @@
       (GDestroyNotify) gst_memory_unref);
 }
 
-static gsize
-get_plane_data_size (GstVideoInfo * info, guint plane)
-{
-  gint padded_height;
-  gsize plane_size;
-
-  padded_height = info->height;
-  padded_height =
-      GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT (info->finfo, plane, padded_height);
-
-  plane_size = GST_VIDEO_INFO_PLANE_STRIDE (info, plane) * padded_height;
-
-  return plane_size;
-}
-
 static gboolean
 gst_kms_sink_import_dmabuf (GstKMSSink * self, GstBuffer * inbuf,
     GstBuffer ** outbuf)
@@ -926,6 +912,9 @@
   n_mem = gst_buffer_n_memory (inbuf);
   meta = gst_buffer_get_video_meta (inbuf);
 
+  GST_TRACE_OBJECT (self, "Found a dmabuf with %u planes and %u memories",
+      n_planes, n_mem);
+
   /* We cannot have multiple dmabuf per plane */
   if (n_mem > n_planes)
     return FALSE;
@@ -943,19 +932,13 @@
 
   /* Find and validate all memories */
   for (i = 0; i < n_planes; i++) {
-    guint plane_size;
     guint length;
 
-    plane_size = get_plane_data_size (&self->vinfo, i);
     if (!gst_buffer_find_memory (inbuf,
-            GST_VIDEO_INFO_PLANE_OFFSET (&self->vinfo, i), plane_size,
+            GST_VIDEO_INFO_PLANE_OFFSET (&self->vinfo, i), 1,
             &mems_idx[i], &length, &mems_skip[i]))
       return FALSE;
 
-    /* We can't have more then one dmabuf per plane */
-    if (length != 1)
-      return FALSE;
-
     mems[i] = gst_buffer_peek_memory (inbuf, mems_idx[i]);
 
     /* And all memory found must be dmabuf */
@@ -977,7 +960,7 @@
       prime_fds[1], prime_fds[2], prime_fds[3]);
 
   kmsmem = gst_kms_allocator_dmabuf_import (self->allocator, prime_fds,
-      n_planes, &self->vinfo);
+      n_planes, mems_skip, &self->vinfo);
   if (!kmsmem)
     return FALSE;
 
diff --git a/sys/linsys/Makefile.in b/sys/linsys/Makefile.in
index 2163221..6032f8b 100644
--- a/sys/linsys/Makefile.in
+++ b/sys/linsys/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/nvenc/Makefile.in b/sys/nvenc/Makefile.in
index 9dfe020..c3485fa 100644
--- a/sys/nvenc/Makefile.in
+++ b/sys/nvenc/Makefile.in
@@ -331,6 +331,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -380,6 +382,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/opensles/Makefile.am b/sys/opensles/Makefile.am
index 6236833..764078e 100644
--- a/sys/opensles/Makefile.am
+++ b/sys/opensles/Makefile.am
@@ -20,5 +20,6 @@
 noinst_HEADERS = openslescommon.h     \
                  openslesringbuffer.h \
                  openslessink.h       \
-                 openslessrc.h
+                 openslessrc.h        \
+                 opensles.h
 
diff --git a/sys/opensles/Makefile.in b/sys/opensles/Makefile.in
index 8f9099e..faff953 100644
--- a/sys/opensles/Makefile.in
+++ b/sys/opensles/Makefile.in
@@ -328,6 +328,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -377,6 +379,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -805,7 +809,8 @@
 noinst_HEADERS = openslescommon.h     \
                  openslesringbuffer.h \
                  openslessink.h       \
-                 openslessrc.h
+                 openslessrc.h        \
+                 opensles.h
 
 all: all-am
 
diff --git a/sys/applemedia-nonpublic/bufferfactory.h b/sys/opensles/opensles.h
similarity index 67%
rename from sys/applemedia-nonpublic/bufferfactory.h
rename to sys/opensles/opensles.h
index 132b953..dbc341c 100644
--- a/sys/applemedia-nonpublic/bufferfactory.h
+++ b/sys/opensles/opensles.h
@@ -1,5 +1,6 @@
-/*
- * Copyright (C) 2010 Ole André Vadla Ravnås <oleavr@soundrop.com>
+/* GStreamer
+ * Copyright (C) 2012 Collabora Ltd.
+ *   Author: 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
@@ -17,18 +18,13 @@
  * Boston, MA 02110-1301, USA.
  */
 
-#import <Foundation/Foundation.h>
+#ifndef __OPENSLES_H__
+#define __OPENSLES_H__
 
 #include <gst/gst.h>
+#include <SLES/OpenSLES.h>
 
-@interface GstAMBufferFactory : NSObject {
-  gpointer coreMediaCtx;
-}
+SLObjectItf gst_opensles_get_engine (void);
+void gst_opensles_release_engine (SLObjectItf engine_object);
 
-- (id)initWithError:(GError **)error;
-- (void)finalize;
-
-- (GstBuffer *)createGstBufferForCoreVideoBuffer:(CFTypeRef)cvbuf;
-- (GstBuffer *)createGstBufferForSampleBuffer:(CFTypeRef)sbuf;
-
-@end
+#endif /* __OPENSLES_H__ */
diff --git a/sys/pvr2d/Makefile.in b/sys/pvr2d/Makefile.in
index 8b29d5e..121009c 100644
--- a/sys/pvr2d/Makefile.in
+++ b/sys/pvr2d/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/shm/Makefile.in b/sys/shm/Makefile.in
index 900230e..03eee08 100644
--- a/sys/shm/Makefile.in
+++ b/sys/shm/Makefile.in
@@ -327,6 +327,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -376,6 +378,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/tinyalsa/Makefile.in b/sys/tinyalsa/Makefile.in
index 160ba70..843d5f2 100644
--- a/sys/tinyalsa/Makefile.in
+++ b/sys/tinyalsa/Makefile.in
@@ -326,6 +326,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -375,6 +377,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/uvch264/Makefile.in b/sys/uvch264/Makefile.in
index 3218574..1f7b750 100644
--- a/sys/uvch264/Makefile.in
+++ b/sys/uvch264/Makefile.in
@@ -330,6 +330,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -379,6 +381,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/vcd/Makefile.in b/sys/vcd/Makefile.in
index ed18a3b..1c4db38 100644
--- a/sys/vcd/Makefile.in
+++ b/sys/vcd/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/vdpau/Makefile.in b/sys/vdpau/Makefile.in
index a8f39c4..13903a0 100644
--- a/sys/vdpau/Makefile.in
+++ b/sys/vdpau/Makefile.in
@@ -333,6 +333,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -382,6 +384,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/wasapi/Makefile.in b/sys/wasapi/Makefile.in
index e00b3b9..882d1aa 100644
--- a/sys/wasapi/Makefile.in
+++ b/sys/wasapi/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/wininet/Makefile.in b/sys/wininet/Makefile.in
index 96a3a0f..21363b0 100644
--- a/sys/wininet/Makefile.in
+++ b/sys/wininet/Makefile.in
@@ -325,6 +325,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -374,6 +376,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/winks/Makefile.in b/sys/winks/Makefile.in
index ba4cce4..21a37eb 100644
--- a/sys/winks/Makefile.in
+++ b/sys/winks/Makefile.in
@@ -330,6 +330,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -379,6 +381,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/sys/winks/gstksvideodevice.c b/sys/winks/gstksvideodevice.c
index d00b6a7..8f89d51 100644
--- a/sys/winks/gstksvideodevice.c
+++ b/sys/winks/gstksvideodevice.c
@@ -796,7 +796,7 @@
   priv->fps_n = fps_n;
   priv->fps_d = fps_d;
 
-  if (gst_structure_has_name (s, "video/x-raw-rgb"))
+  if (media_type->is_rgb)
     priv->rgb_swap_buf = g_malloc (media_type->sample_size / priv->height);
   else
     priv->rgb_swap_buf = NULL;
@@ -1176,9 +1176,10 @@
 }
 
 gboolean
-gst_ks_video_device_postprocess_frame (GstKsVideoDevice * self, GstBuffer * buf)
+gst_ks_video_device_postprocess_frame (GstKsVideoDevice * self, GstBuffer ** bufptr)
 {
   GstKsVideoDevicePrivate *priv = GST_KS_VIDEO_DEVICE_GET_PRIVATE (self);
+  GstBuffer *buf = *bufptr;
 
   /* If it's RGB we need to flip the image */
   if (priv->rgb_swap_buf != NULL) {
@@ -1186,6 +1187,10 @@
     gint stride, line;
     guint8 *dst, *src;
 
+    /* Need to make the buffer writable because
+     * the pseudo-bufferpool of requests keeps a ref */
+    buf = gst_buffer_make_writable (buf);
+
     if (!gst_buffer_map (buf, &info, GST_MAP_READWRITE))
       return FALSE;
 
@@ -1205,6 +1210,7 @@
 
     gst_buffer_unmap (buf, &info);
   }
+  *bufptr = buf;
 
   return TRUE;
 }
diff --git a/sys/winks/gstksvideodevice.h b/sys/winks/gstksvideodevice.h
index 649faaa..4c135ea 100644
--- a/sys/winks/gstksvideodevice.h
+++ b/sys/winks/gstksvideodevice.h
@@ -77,7 +77,7 @@
 gboolean gst_ks_video_device_get_latency (GstKsVideoDevice * self, GstClockTime * min_latency, GstClockTime * max_latency);
 
 GstFlowReturn gst_ks_video_device_read_frame (GstKsVideoDevice * self, GstBuffer ** buf, GstClockTime * presentation_time, gulong * error_code, gchar ** error_str);
-gboolean gst_ks_video_device_postprocess_frame (GstKsVideoDevice * self, GstBuffer *buf);
+gboolean gst_ks_video_device_postprocess_frame (GstKsVideoDevice * self, GstBuffer **buf);
 void gst_ks_video_device_cancel (GstKsVideoDevice * self);
 void gst_ks_video_device_cancel_stop (GstKsVideoDevice * self);
 
diff --git a/sys/winks/gstksvideosrc.c b/sys/winks/gstksvideosrc.c
index c2bad34..0854b29 100644
--- a/sys/winks/gstksvideosrc.c
+++ b/sys/winks/gstksvideosrc.c
@@ -927,7 +927,7 @@
   if (G_UNLIKELY (priv->do_stats))
     gst_ks_video_src_update_statistics (self);
 
-  if (!gst_ks_video_device_postprocess_frame (priv->device, *buf)) {
+  if (!gst_ks_video_device_postprocess_frame (priv->device, buf)) {
     GST_ELEMENT_ERROR (self, RESOURCE, FAILED, ("Postprocessing failed"),
         ("Postprocessing failed"));
     return GST_FLOW_ERROR;
@@ -1013,7 +1013,7 @@
       0, "Kernel streaming video source");
 
   if (!gst_element_register (plugin, "ksvideosrc",
-          GST_RANK_NONE, GST_TYPE_KS_VIDEO_SRC))
+          GST_RANK_PRIMARY, GST_TYPE_KS_VIDEO_SRC))
     return FALSE;
 
   if (!gst_device_provider_register (plugin, "ksdeviceprovider",
diff --git a/sys/winks/ksvideohelpers.c b/sys/winks/ksvideohelpers.c
index 9d70461..8f51e50 100644
--- a/sys/winks/ksvideohelpers.c
+++ b/sys/winks/ksvideohelpers.c
@@ -125,10 +125,13 @@
 }
 
 static GstStructure *
-ks_video_format_to_structure (GUID subtype_guid, GUID format_guid)
+ks_video_format_to_structure (GUID subtype_guid, GUID format_guid,
+    gboolean * p_is_rgb)
 {
   GstStructure *structure = NULL;
   const gchar *media_type = NULL, *format = NULL;
+  /* RGB formats can be bottom-up (upside down) DIB */
+  gboolean is_rgb = FALSE;
 
   if (IsEqualGUID (&subtype_guid, &MEDIASUBTYPE_MJPG) || IsEqualGUID (&subtype_guid, &MEDIASUBTYPE_TVMJ) ||     /* FIXME: NOT tested */
       IsEqualGUID (&subtype_guid, &MEDIASUBTYPE_WAKE) ||        /* FIXME: NOT tested */
@@ -138,18 +141,23 @@
   } else if (IsEqualGUID (&subtype_guid, &MEDIASUBTYPE_RGB555)) {
     media_type = "video/x-raw";
     format = "RGB15";
+    is_rgb = TRUE;
   } else if (IsEqualGUID (&subtype_guid, &MEDIASUBTYPE_RGB565)) {
     media_type = "video/x-raw";
     format = "RGB16";
+    is_rgb = TRUE;
   } else if (IsEqualGUID (&subtype_guid, &MEDIASUBTYPE_RGB24)) {
     media_type = "video/x-raw";
-    format = "RGBx";
+    format = "BGR";
+    is_rgb = TRUE;
   } else if (IsEqualGUID (&subtype_guid, &MEDIASUBTYPE_RGB32)) {
     media_type = "video/x-raw";
-    format = "RGB";
+    format = "BGRx";
+    is_rgb = TRUE;
   } else if (IsEqualGUID (&subtype_guid, &MEDIASUBTYPE_ARGB32)) {
     media_type = "video/x-raw";
-    format = "ARGB";
+    format = "BGRA";
+    is_rgb = TRUE;
   } else if (IsEqualGUID (&subtype_guid, &MEDIASUBTYPE_ARGB1555)) {
     GST_WARNING ("Unsupported video format ARGB15555");
   } else if (IsEqualGUID (&subtype_guid, &MEDIASUBTYPE_ARGB4444)) {
@@ -177,6 +185,9 @@
     if (format) {
       gst_structure_set (structure, "format", G_TYPE_STRING, format, NULL);
     }
+    if (p_is_rgb) {
+      *p_is_rgb = is_rgb;
+    }
   }
 
   if (!structure) {
@@ -527,7 +538,7 @@
 
               media_structure =
                   ks_video_format_to_structure (range->SubFormat,
-                  range->Specifier);
+                  range->Specifier, &entry->is_rgb);
 
               if (media_structure == NULL) {
                 g_warning ("ks_video_format_to_structure returned NULL");
@@ -678,22 +689,22 @@
     /* RGB formats */
     structure =
         ks_video_append_var_video_fields (ks_video_format_to_structure
-        (MEDIASUBTYPE_RGB555, FORMAT_VideoInfo));
+        (MEDIASUBTYPE_RGB555, FORMAT_VideoInfo, NULL));
     gst_caps_append_structure (caps, structure);
 
     structure =
         ks_video_append_var_video_fields (ks_video_format_to_structure
-        (MEDIASUBTYPE_RGB565, FORMAT_VideoInfo));
+        (MEDIASUBTYPE_RGB565, FORMAT_VideoInfo, NULL));
     gst_caps_append_structure (caps, structure);
 
     structure =
         ks_video_append_var_video_fields (ks_video_format_to_structure
-        (MEDIASUBTYPE_RGB24, FORMAT_VideoInfo));
+        (MEDIASUBTYPE_RGB24, FORMAT_VideoInfo, NULL));
     gst_caps_append_structure (caps, structure);
 
     structure =
         ks_video_append_var_video_fields (ks_video_format_to_structure
-        (MEDIASUBTYPE_RGB32, FORMAT_VideoInfo));
+        (MEDIASUBTYPE_RGB32, FORMAT_VideoInfo, NULL));
     gst_caps_append_structure (caps, structure);
 
     /* YUV formats */
@@ -705,16 +716,16 @@
     /* Other formats */
     structure =
         ks_video_append_var_video_fields (ks_video_format_to_structure
-        (MEDIASUBTYPE_MJPG, FORMAT_VideoInfo));
+        (MEDIASUBTYPE_MJPG, FORMAT_VideoInfo, NULL));
     gst_caps_append_structure (caps, structure);
 
     structure =
         ks_video_append_var_video_fields (ks_video_format_to_structure
-        (MEDIASUBTYPE_dvsd, FORMAT_VideoInfo));
+        (MEDIASUBTYPE_dvsd, FORMAT_VideoInfo, NULL));
     gst_caps_append_structure (caps, structure);
 
     structure =                 /* no variable video fields (width, height, framerate) */
-        ks_video_format_to_structure (MEDIASUBTYPE_dvsd, FORMAT_DvInfo);
+        ks_video_format_to_structure (MEDIASUBTYPE_dvsd, FORMAT_DvInfo, NULL);
     gst_caps_append_structure (caps, structure);
   }
 
diff --git a/sys/winks/ksvideohelpers.h b/sys/winks/ksvideohelpers.h
index 3aa0c38..9215284 100644
--- a/sys/winks/ksvideohelpers.h
+++ b/sys/winks/ksvideohelpers.h
@@ -49,6 +49,7 @@
   guint sample_size;
 
   GstCaps * translated_caps;
+  gboolean is_rgb;
 };
 
 typedef struct DVINFO {
diff --git a/sys/winscreencap/Makefile.in b/sys/winscreencap/Makefile.in
index 3ef6c3d..957a2bf 100644
--- a/sys/winscreencap/Makefile.in
+++ b/sys/winscreencap/Makefile.in
@@ -329,6 +329,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -378,6 +380,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/Makefile.in b/tests/Makefile.in
index c653861..b6a8115 100644
--- a/tests/Makefile.in
+++ b/tests/Makefile.in
@@ -298,6 +298,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -347,6 +349,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index b16c968..ab8c787 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -41,7 +41,7 @@
 endif
 
 if USE_DASH
-check_dash = elements/dash_mpd
+check_dash = elements/dash_mpd elements/dash_isoff
 check_dash_demux = elements/dash_demux
 else
 check_dash =
@@ -228,15 +228,17 @@
 
 # these tests don't even pass
 # neon: too flaky (almost always fails 'the first time')
+# dashdemux: fails because it uses random data streams but dashdemux nowadays
+#            actually looks at the data and doesn't like randomness
 noinst_PROGRAMS = \
 	pipelines/streamheader \
+	$(check_dash_demux) \
 	$(check_neon)
 
 check_PROGRAMS = \
 	generic/states \
 	$(check_assrender) \
 	$(check_dash) \
-	$(check_dash_demux) \
 	$(check_faac)  \
 	$(check_faad)  \
 	$(check_voaacenc) \
@@ -274,6 +276,8 @@
 	elements/netsim \
 	elements/pcapparse \
 	elements/pnm \
+	elements/rawaudioparse \
+	elements/rawvideoparse \
 	elements/rtponvifparse \
 	elements/rtponviftimestamp \
 	elements/id3mux \
@@ -298,14 +302,14 @@
 	$(check_player) \
 	$(EXPERIMENTAL_CHECKS)
 
-noinst_HEADERS = elements/mxfdemux.h
+noinst_HEADERS = elements/mxfdemux.h elements/dash_isoff.h
 
 TESTS = $(check_PROGRAMS)
 
 AM_CFLAGS = $(GST_CFLAGS) $(GST_CHECK_CFLAGS) $(GST_OPTION_CFLAGS) \
 	-DGST_CHECK_TEST_ENVIRONMENT_BEACON="\"GST_PLUGIN_LOADING_WHITELIST\"" \
 	-DGST_TEST_FILES_PATH="\"$(TEST_FILES_DIRECTORY)\"" \
-	-UG_DISABLE_ASSERT -UG_DISABLE_CAST_CHECKS
+	-UG_DISABLE_ASSERT -UG_DISABLE_CAST_CHECKS $(PTHREAD_CFLAGS)
 LDADD = $(GST_CHECK_LIBS)
 
 generic_states_CFLAGS = $(AM_CFLAGS) $(GMODULE_NO_EXPORT_CFLAGS)
@@ -314,7 +318,7 @@
 elements_audiomixer_LDADD = $(GST_BASE_LIBS) $(GST_CONTROLLER_LIBS) -lgstbase-@GST_API_VERSION@ $(LDADD)
 elements_audiomixer_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CONTROLLER_CFLAGS) $(AM_CFLAGS)
 
-elements_audiointerleave_LDADD = $(GST_BASE_LIBS) -lgstbase-@GST_API_VERSION@ -lgstaudio-@GST_API_VERSION@ $(LDADD)
+elements_audiointerleave_LDADD = $(GST_BASE_LIBS) -lgstbase-@GST_API_VERSION@ $(GST_AUDIO_LIBS) $(LDADD)
 elements_audiointerleave_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
 
 elements_pnm_CFLAGS = \
@@ -340,6 +344,12 @@
 
 elements_pcapparse_LDADD = libparser.la $(LDADD)
 
+elements_rawaudioparse_LDADD = $(GST_BASE_LIBS) -lgstbase-@GST_API_VERSION@ $(GST_AUDIO_LIBS) $(LDADD)
+elements_rawaudioparse_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
+
+elements_rawvideoparse_LDADD = $(GST_BASE_LIBS) -lgstbase-@GST_API_VERSION@ $(GST_VIDEO_LIBS) $(LDADD)
+elements_rawvideoparse_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
+
 libs_mpegvideoparser_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
 	-DGST_USE_UNSTABLE_API \
@@ -352,7 +362,8 @@
 libs_mpegts_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) \
 	-DGST_USE_UNSTABLE_API \
-	$(GST_CFLAGS)
+	$(GST_CFLAGS) \
+	$(PTHREAD_CFLAGS)
 
 libs_mpegts_LDADD = \
 	$(top_builddir)/gst-libs/gst/mpegts/libgstmpegts-@GST_API_VERSION@.la \
@@ -392,21 +403,21 @@
 	$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
 elements_videoframe_audiolevel_LDADD = \
 	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \
-	-lgstaudio-@GST_API_VERSION@
+	$(GST_AUDIO_LIBS)
 
 elements_faad_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS) \
 	$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
 elements_faad_LDADD = \
 	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \
-	-lgstaudio-@GST_API_VERSION@
+	$(GST_AUDIO_LIBS)
 
 elements_faac_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS) \
 	$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
 elements_faac_LDADD = \
 	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \
-	-lgstaudio-@GST_API_VERSION@
+	$(GST_AUDIO_LIBS)
 
 elements_gdppay_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
@@ -421,7 +432,7 @@
 	$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
 elements_voaacenc_LDADD = \
 	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \
-	-lgstaudio-@GST_API_VERSION@
+	$(GST_AUDIO_LIBS)
 
 elements_camerabin_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
@@ -444,10 +455,10 @@
 elements_kate_LDADD = $(GST_BASE_LIBS) $(LDADD)
 
 elements_assrender_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
-elements_assrender_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) -lgstapp-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
+elements_assrender_LDADD = $(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) -lgstapp-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
 
 elements_mpegtsmux_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
-elements_mpegtsmux_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
+elements_mpegtsmux_LDADD = $(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) $(LDADD)
 
 elements_uvch264demux_CFLAGS = -DUVCH264DEMUX_DATADIR="$(srcdir)/elements/uvch264demux_data" \
 				$(AM_CFLAGS)
@@ -457,6 +468,10 @@
 	$(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-@GST_API_VERSION@.la
 elements_dash_mpd_SOURCES = elements/dash_mpd.c
 
+elements_dash_isoff_CFLAGS = $(AM_CFLAGS) $(GST_BASE_CFLAGS)
+elements_dash_isoff_LDADD = $(LDADD) $(GST_BASE_LIBS)
+elements_dash_isoff_SOURCES = elements/dash_isoff.c
+
 elements_dash_demux_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
 elements_dash_demux_LDADD = \
 	$(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) \
@@ -466,6 +481,8 @@
 
 elements_dash_demux_SOURCES = elements/test_http_src.c elements/test_http_src.h elements/adaptive_demux_engine.c elements/adaptive_demux_engine.h elements/adaptive_demux_common.c elements/adaptive_demux_common.h elements/dash_demux.c
 
+elements_neonhttpsrc_CFLAGS = $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
+
 elements_mssdemux_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
 elements_mssdemux_LDADD = \
 	$(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) \
@@ -488,8 +505,8 @@
 
 libs_player_LDADD = \
 	$(top_builddir)/gst-libs/gst/player/libgstplayer-@GST_API_VERSION@.la \
-	-lgstvideo-@GST_API_VERSION@ \
-	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_VIDEO_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) \
+	$(LDADD)
 libs_player_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS) \
 	-DTEST_PATH=\"$(builddir)/media\"
@@ -541,8 +558,8 @@
 
 libs_gstglcontext_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) \
+	$(GST_LIBS) $(LDADD)
 
 libs_gstglcontext_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
@@ -551,8 +568,8 @@
 
 libs_gstglmemory_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) \
+	$(GST_LIBS) $(LDADD)
 
 libs_gstglmemory_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
@@ -566,8 +583,8 @@
 
 libs_gstglupload_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) \
+	$(GST_LIBS) $(LDADD)
 
 libs_gstglcolorconvert_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
@@ -576,8 +593,8 @@
 
 libs_gstglcolorconvert_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) \
+	$(GST_LIBS) $(LDADD)
 
 libs_gstglquery_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
@@ -604,8 +621,8 @@
 
 elements_glimagesink_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) \
+	$(GST_LIBS) $(LDADD)
 
 pipelines_simple_launch_lines_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) \
@@ -626,8 +643,7 @@
 	$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
 
 elements_compositor_LDADD = \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) $(LDADD)
 elements_compositor_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS) \
 	$(GST_BASE_CFLAGS) $(CFLAGS) $(AM_CFLAGS)
diff --git a/tests/check/Makefile.in b/tests/check/Makefile.in
index eea156b..f08163b 100644
--- a/tests/check/Makefile.in
+++ b/tests/check/Makefile.in
@@ -91,14 +91,14 @@
 build_triplet = @build@
 host_triplet = @host@
 target_triplet = @target@
-noinst_PROGRAMS = pipelines/streamheader$(EXEEXT) $(am__EXEEXT_29)
+noinst_PROGRAMS = pipelines/streamheader$(EXEEXT) $(am__EXEEXT_28) \
+	$(am__EXEEXT_29)
 check_PROGRAMS = generic/states$(EXEEXT) $(am__EXEEXT_1) \
 	$(am__EXEEXT_2) $(am__EXEEXT_3) $(am__EXEEXT_4) \
 	$(am__EXEEXT_5) $(am__EXEEXT_6) $(am__EXEEXT_7) \
 	$(am__EXEEXT_8) $(am__EXEEXT_9) $(am__EXEEXT_10) \
 	$(am__EXEEXT_11) $(am__EXEEXT_12) $(am__EXEEXT_13) \
-	$(am__EXEEXT_14) $(am__EXEEXT_16) $(am__EXEEXT_17) \
-	elements/aiffparse$(EXEEXT) \
+	$(am__EXEEXT_15) $(am__EXEEXT_16) elements/aiffparse$(EXEEXT) \
 	elements/videoframe-audiolevel$(EXEEXT) \
 	elements/autoconvert$(EXEEXT) \
 	elements/autovideoconvert$(EXEEXT) \
@@ -106,22 +106,24 @@
 	elements/asfmux$(EXEEXT) elements/camerabin$(EXEEXT) \
 	elements/dataurisrc$(EXEEXT) elements/gdppay$(EXEEXT) \
 	elements/gdpdepay$(EXEEXT) elements/compositor$(EXEEXT) \
-	$(am__EXEEXT_18) elements/jpegparse$(EXEEXT) \
+	$(am__EXEEXT_17) elements/jpegparse$(EXEEXT) \
 	elements/h263parse$(EXEEXT) elements/h264parse$(EXEEXT) \
 	elements/mpegtsmux$(EXEEXT) elements/mpegvideoparse$(EXEEXT) \
 	elements/mpeg4videoparse$(EXEEXT) elements/mxfdemux$(EXEEXT) \
 	elements/mxfmux$(EXEEXT) elements/netsim$(EXEEXT) \
 	elements/pcapparse$(EXEEXT) elements/pnm$(EXEEXT) \
+	elements/rawaudioparse$(EXEEXT) \
+	elements/rawvideoparse$(EXEEXT) \
 	elements/rtponvifparse$(EXEEXT) \
 	elements/rtponviftimestamp$(EXEEXT) elements/id3mux$(EXEEXT) \
-	pipelines/mxf$(EXEEXT) $(am__EXEEXT_19) \
+	pipelines/mxf$(EXEEXT) $(am__EXEEXT_18) \
 	libs/mpegvideoparser$(EXEEXT) libs/mpegts$(EXEEXT) \
 	libs/h264parser$(EXEEXT) libs/vp8parser$(EXEEXT) \
-	libs/aggregator$(EXEEXT) $(am__EXEEXT_20) \
-	libs/vc1parser$(EXEEXT) $(am__EXEEXT_21) $(am__EXEEXT_22) \
-	elements/viewfinderbin$(EXEEXT) $(am__EXEEXT_23) \
-	$(am__EXEEXT_24) libs/insertbin$(EXEEXT) $(am__EXEEXT_25) \
-	$(am__EXEEXT_26) $(am__EXEEXT_27) $(am__EXEEXT_28)
+	libs/aggregator$(EXEEXT) $(am__EXEEXT_19) \
+	libs/vc1parser$(EXEEXT) $(am__EXEEXT_20) $(am__EXEEXT_21) \
+	elements/viewfinderbin$(EXEEXT) $(am__EXEEXT_22) \
+	$(am__EXEEXT_23) libs/insertbin$(EXEEXT) $(am__EXEEXT_24) \
+	$(am__EXEEXT_25) $(am__EXEEXT_26) $(am__EXEEXT_27)
 @WITH_GST_PLAYER_TESTS_TRUE@am__append_1 = $(PLAYER_MEDIA_FILES) libs/player_dummy.c
 subdir = tests/check
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
@@ -179,43 +181,44 @@
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libparser_la_CFLAGS) \
 	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 @USE_ASSRENDER_TRUE@am__EXEEXT_1 = elements/assrender$(EXEEXT)
-@USE_DASH_TRUE@am__EXEEXT_2 = elements/dash_mpd$(EXEEXT)
-@USE_DASH_TRUE@am__EXEEXT_3 = elements/dash_demux$(EXEEXT)
-@USE_FAAC_TRUE@am__EXEEXT_4 = elements/faac$(EXEEXT)
-@USE_FAAD_TRUE@am__EXEEXT_5 = elements/faad$(EXEEXT)
-@USE_VOAACENC_TRUE@am__EXEEXT_6 = elements/voaacenc$(EXEEXT)
-@USE_VOAMRWBENC_TRUE@am__EXEEXT_7 = elements/voamrwbenc$(EXEEXT)
-@USE_MPEG2ENC_TRUE@am__EXEEXT_8 = elements/mpeg2enc$(EXEEXT)
-@USE_MPLEX_TRUE@am__EXEEXT_9 = elements/mplex$(EXEEXT)
-@USE_SMOOTHSTREAMING_TRUE@am__EXEEXT_10 = elements/mssdemux$(EXEEXT)
-@USE_OFA_TRUE@am__EXEEXT_11 = elements/ofa$(EXEEXT)
-@USE_TIMIDITY_TRUE@am__EXEEXT_12 = elements/timidity$(EXEEXT)
-@USE_KATE_TRUE@am__EXEEXT_13 = elements/kate$(EXEEXT)
-@USE_OPENCV_TRUE@am__EXEEXT_14 = elements/templatematch$(EXEEXT)
-@USE_SSH2_TRUE@am__EXEEXT_15 = elements/curlsftpsink$(EXEEXT)
-@USE_CURL_TRUE@am__EXEEXT_16 = elements/curlhttpsink$(EXEEXT) \
+@USE_DASH_TRUE@am__EXEEXT_2 = elements/dash_mpd$(EXEEXT) \
+@USE_DASH_TRUE@	elements/dash_isoff$(EXEEXT)
+@USE_FAAC_TRUE@am__EXEEXT_3 = elements/faac$(EXEEXT)
+@USE_FAAD_TRUE@am__EXEEXT_4 = elements/faad$(EXEEXT)
+@USE_VOAACENC_TRUE@am__EXEEXT_5 = elements/voaacenc$(EXEEXT)
+@USE_VOAMRWBENC_TRUE@am__EXEEXT_6 = elements/voamrwbenc$(EXEEXT)
+@USE_MPEG2ENC_TRUE@am__EXEEXT_7 = elements/mpeg2enc$(EXEEXT)
+@USE_MPLEX_TRUE@am__EXEEXT_8 = elements/mplex$(EXEEXT)
+@USE_SMOOTHSTREAMING_TRUE@am__EXEEXT_9 = elements/mssdemux$(EXEEXT)
+@USE_OFA_TRUE@am__EXEEXT_10 = elements/ofa$(EXEEXT)
+@USE_TIMIDITY_TRUE@am__EXEEXT_11 = elements/timidity$(EXEEXT)
+@USE_KATE_TRUE@am__EXEEXT_12 = elements/kate$(EXEEXT)
+@USE_OPENCV_TRUE@am__EXEEXT_13 = elements/templatematch$(EXEEXT)
+@USE_SSH2_TRUE@am__EXEEXT_14 = elements/curlsftpsink$(EXEEXT)
+@USE_CURL_TRUE@am__EXEEXT_15 = elements/curlhttpsink$(EXEEXT) \
 @USE_CURL_TRUE@	elements/curlfilesink$(EXEEXT) \
-@USE_CURL_TRUE@	elements/curlftpsink$(EXEEXT) $(am__EXEEXT_15) \
+@USE_CURL_TRUE@	elements/curlftpsink$(EXEEXT) $(am__EXEEXT_14) \
 @USE_CURL_TRUE@	elements/curlsmtpsink$(EXEEXT)
-@USE_SHM_TRUE@am__EXEEXT_17 = elements/shm$(EXEEXT)
-@USE_EXIF_TRUE@am__EXEEXT_18 = elements/jifmux$(EXEEXT)
-@USE_MIMIC_TRUE@am__EXEEXT_19 = pipelines/mimic$(EXEEXT)
-@USE_UVCH264_TRUE@am__EXEEXT_20 = elements/uvch264demux$(EXEEXT)
-@USE_SCHRO_TRUE@am__EXEEXT_21 = elements/schroenc$(EXEEXT)
-@USE_X265_TRUE@am__EXEEXT_22 = elements/x265enc$(EXEEXT)
-@USE_ZBAR_TRUE@am__EXEEXT_23 = elements/zbar$(EXEEXT)
-@HAVE_ORC_TRUE@am__EXEEXT_24 = orc/bayer$(EXEEXT) \
+@USE_SHM_TRUE@am__EXEEXT_16 = elements/shm$(EXEEXT)
+@USE_EXIF_TRUE@am__EXEEXT_17 = elements/jifmux$(EXEEXT)
+@USE_MIMIC_TRUE@am__EXEEXT_18 = pipelines/mimic$(EXEEXT)
+@USE_UVCH264_TRUE@am__EXEEXT_19 = elements/uvch264demux$(EXEEXT)
+@USE_SCHRO_TRUE@am__EXEEXT_20 = elements/schroenc$(EXEEXT)
+@USE_X265_TRUE@am__EXEEXT_21 = elements/x265enc$(EXEEXT)
+@USE_ZBAR_TRUE@am__EXEEXT_22 = elements/zbar$(EXEEXT)
+@HAVE_ORC_TRUE@am__EXEEXT_23 = orc/bayer$(EXEEXT) \
 @HAVE_ORC_TRUE@	orc/audiomixer$(EXEEXT) orc/compositor$(EXEEXT)
-@USE_GL_TRUE@am__EXEEXT_25 = libs/gstglcontext$(EXEEXT) \
+@USE_GL_TRUE@am__EXEEXT_24 = libs/gstglcontext$(EXEEXT) \
 @USE_GL_TRUE@	libs/gstglmemory$(EXEEXT) \
 @USE_GL_TRUE@	libs/gstglupload$(EXEEXT) \
 @USE_GL_TRUE@	libs/gstglcolorconvert$(EXEEXT) \
 @USE_GL_TRUE@	libs/gstglquery$(EXEEXT) libs/gstglsl$(EXEEXT) \
 @USE_GL_TRUE@	elements/glimagesink$(EXEEXT) \
 @USE_GL_TRUE@	pipelines/simple-launch-lines$(EXEEXT)
-@USE_HLS_TRUE@am__EXEEXT_26 = elements/hlsdemux_m3u8$(EXEEXT)
-@USE_HLS_TRUE@am__EXEEXT_27 = elements/hls_demux$(EXEEXT)
-@WITH_GST_PLAYER_TESTS_TRUE@am__EXEEXT_28 = libs/player$(EXEEXT)
+@USE_HLS_TRUE@am__EXEEXT_25 = elements/hlsdemux_m3u8$(EXEEXT)
+@USE_HLS_TRUE@am__EXEEXT_26 = elements/hls_demux$(EXEEXT)
+@WITH_GST_PLAYER_TESTS_TRUE@am__EXEEXT_27 = libs/player$(EXEEXT)
+@USE_DASH_TRUE@am__EXEEXT_28 = elements/dash_demux$(EXEEXT)
 @USE_NEON_TRUE@am__EXEEXT_29 = elements/neonhttpsrc$(EXEEXT)
 PROGRAMS = $(noinst_PROGRAMS)
 elements_aiffparse_SOURCES = elements/aiffparse.c
@@ -232,7 +235,8 @@
 	elements/elements_assrender-assrender.$(OBJEXT)
 am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1)
 elements_assrender_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
 elements_assrender_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(elements_assrender_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
@@ -241,7 +245,7 @@
 elements_audiointerleave_OBJECTS =  \
 	elements/elements_audiointerleave-audiointerleave.$(OBJEXT)
 elements_audiointerleave_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
 elements_audiointerleave_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(elements_audiointerleave_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
@@ -279,7 +283,8 @@
 elements_compositor_OBJECTS =  \
 	elements/elements_compositor-compositor.$(OBJEXT)
 elements_compositor_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
 elements_compositor_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(elements_compositor_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
@@ -317,6 +322,15 @@
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(elements_dash_demux_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
 	$(LDFLAGS) -o $@
+am_elements_dash_isoff_OBJECTS =  \
+	elements/elements_dash_isoff-dash_isoff.$(OBJEXT)
+elements_dash_isoff_OBJECTS = $(am_elements_dash_isoff_OBJECTS)
+elements_dash_isoff_DEPENDENCIES = $(am__DEPENDENCIES_2) \
+	$(am__DEPENDENCIES_1)
+elements_dash_isoff_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(elements_dash_isoff_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 am_elements_dash_mpd_OBJECTS =  \
 	elements/elements_dash_mpd-dash_mpd.$(OBJEXT)
 elements_dash_mpd_OBJECTS = $(am_elements_dash_mpd_OBJECTS)
@@ -335,7 +349,7 @@
 elements_faac_OBJECTS = elements/elements_faac-faac.$(OBJEXT)
 elements_faac_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
 elements_faac_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(elements_faac_CFLAGS) \
 	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -343,7 +357,7 @@
 elements_faad_OBJECTS = elements/elements_faad-faad.$(OBJEXT)
 elements_faad_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
 elements_faad_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(elements_faad_CFLAGS) \
 	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -370,7 +384,8 @@
 elements_glimagesink_DEPENDENCIES =  \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
 elements_glimagesink_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(elements_glimagesink_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
@@ -440,7 +455,8 @@
 elements_mpegtsmux_OBJECTS =  \
 	elements/elements_mpegtsmux-mpegtsmux.$(OBJEXT)
 elements_mpegtsmux_DEPENDENCIES = $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
 elements_mpegtsmux_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(elements_mpegtsmux_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
@@ -475,9 +491,14 @@
 elements_mxfmux_LDADD = $(LDADD)
 elements_mxfmux_DEPENDENCIES = $(am__DEPENDENCIES_1)
 elements_neonhttpsrc_SOURCES = elements/neonhttpsrc.c
-elements_neonhttpsrc_OBJECTS = elements/neonhttpsrc.$(OBJEXT)
+elements_neonhttpsrc_OBJECTS =  \
+	elements/elements_neonhttpsrc-neonhttpsrc.$(OBJEXT)
 elements_neonhttpsrc_LDADD = $(LDADD)
 elements_neonhttpsrc_DEPENDENCIES = $(am__DEPENDENCIES_1)
+elements_neonhttpsrc_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(elements_neonhttpsrc_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 elements_netsim_SOURCES = elements/netsim.c
 elements_netsim_OBJECTS = elements/netsim.$(OBJEXT)
 elements_netsim_LDADD = $(LDADD)
@@ -496,6 +517,24 @@
 elements_pnm_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(elements_pnm_CFLAGS) \
 	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+elements_rawaudioparse_SOURCES = elements/rawaudioparse.c
+elements_rawaudioparse_OBJECTS =  \
+	elements/elements_rawaudioparse-rawaudioparse.$(OBJEXT)
+elements_rawaudioparse_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+elements_rawaudioparse_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(elements_rawaudioparse_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
+elements_rawvideoparse_SOURCES = elements/rawvideoparse.c
+elements_rawvideoparse_OBJECTS =  \
+	elements/elements_rawvideoparse-rawvideoparse.$(OBJEXT)
+elements_rawvideoparse_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+elements_rawvideoparse_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
+	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
+	$(elements_rawvideoparse_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
+	$(LDFLAGS) -o $@
 elements_rtponvifparse_SOURCES = elements/rtponvifparse.c
 elements_rtponvifparse_OBJECTS =  \
 	elements/elements_rtponvifparse-rtponvifparse.$(OBJEXT)
@@ -550,7 +589,7 @@
 elements_videoframe_audiolevel_OBJECTS = elements/elements_videoframe_audiolevel-videoframe-audiolevel.$(OBJEXT)
 elements_videoframe_audiolevel_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
 elements_videoframe_audiolevel_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(elements_videoframe_audiolevel_CFLAGS) $(CFLAGS) \
@@ -564,7 +603,7 @@
 	elements/elements_voaacenc-voaacenc.$(OBJEXT)
 elements_voaacenc_DEPENDENCIES = $(am__DEPENDENCIES_1) \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_2) $(am__DEPENDENCIES_1)
 elements_voaacenc_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(elements_voaacenc_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
@@ -604,7 +643,8 @@
 libs_gstglcolorconvert_DEPENDENCIES =  \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
 libs_gstglcolorconvert_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(libs_gstglcolorconvert_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
@@ -615,7 +655,8 @@
 libs_gstglcontext_DEPENDENCIES =  \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
 libs_gstglcontext_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(libs_gstglcontext_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
@@ -626,7 +667,8 @@
 libs_gstglmemory_DEPENDENCIES =  \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
 libs_gstglmemory_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(libs_gstglmemory_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
@@ -656,7 +698,8 @@
 libs_gstglupload_DEPENDENCIES =  \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
 libs_gstglupload_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
 	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
 	$(libs_gstglupload_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
@@ -703,7 +746,8 @@
 	$(nodist_libs_player_OBJECTS)
 libs_player_DEPENDENCIES = $(top_builddir)/gst-libs/gst/player/libgstplayer-@GST_API_VERSION@.la \
 	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
-	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2)
+	$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+	$(am__DEPENDENCIES_2)
 libs_player_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
 	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libs_player_CFLAGS) \
 	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
@@ -815,10 +859,11 @@
 	elements/curlfilesink.c elements/curlftpsink.c \
 	elements/curlhttpsink.c elements/curlsftpsink.c \
 	elements/curlsmtpsink.c $(elements_dash_demux_SOURCES) \
-	$(elements_dash_mpd_SOURCES) elements/dataurisrc.c \
-	elements/faac.c elements/faad.c elements/gdpdepay.c \
-	elements/gdppay.c elements/glimagesink.c elements/h263parse.c \
-	elements/h264parse.c $(elements_hls_demux_SOURCES) \
+	$(elements_dash_isoff_SOURCES) $(elements_dash_mpd_SOURCES) \
+	elements/dataurisrc.c elements/faac.c elements/faad.c \
+	elements/gdpdepay.c elements/gdppay.c elements/glimagesink.c \
+	elements/h263parse.c elements/h264parse.c \
+	$(elements_hls_demux_SOURCES) \
 	$(elements_hlsdemux_m3u8_SOURCES) elements/id3mux.c \
 	$(elements_jifmux_SOURCES) elements/jpegparse.c \
 	elements/kate.c elements/mpeg2enc.c elements/mpeg4videoparse.c \
@@ -826,7 +871,8 @@
 	elements/mplex.c $(elements_mssdemux_SOURCES) \
 	elements/mxfdemux.c elements/mxfmux.c elements/neonhttpsrc.c \
 	elements/netsim.c elements/ofa.c elements/pcapparse.c \
-	elements/pnm.c elements/rtponvifparse.c \
+	elements/pnm.c elements/rawaudioparse.c \
+	elements/rawvideoparse.c elements/rtponvifparse.c \
 	elements/rtponviftimestamp.c elements/schroenc.c \
 	elements/shm.c elements/templatematch.c elements/timidity.c \
 	elements/uvch264demux.c elements/videoframe-audiolevel.c \
@@ -850,10 +896,11 @@
 	elements/curlfilesink.c elements/curlftpsink.c \
 	elements/curlhttpsink.c elements/curlsftpsink.c \
 	elements/curlsmtpsink.c $(elements_dash_demux_SOURCES) \
-	$(elements_dash_mpd_SOURCES) elements/dataurisrc.c \
-	elements/faac.c elements/faad.c elements/gdpdepay.c \
-	elements/gdppay.c elements/glimagesink.c elements/h263parse.c \
-	elements/h264parse.c $(elements_hls_demux_SOURCES) \
+	$(elements_dash_isoff_SOURCES) $(elements_dash_mpd_SOURCES) \
+	elements/dataurisrc.c elements/faac.c elements/faad.c \
+	elements/gdpdepay.c elements/gdppay.c elements/glimagesink.c \
+	elements/h263parse.c elements/h264parse.c \
+	$(elements_hls_demux_SOURCES) \
 	$(elements_hlsdemux_m3u8_SOURCES) elements/id3mux.c \
 	$(elements_jifmux_SOURCES) elements/jpegparse.c \
 	elements/kate.c elements/mpeg2enc.c elements/mpeg4videoparse.c \
@@ -861,7 +908,8 @@
 	elements/mplex.c $(elements_mssdemux_SOURCES) \
 	elements/mxfdemux.c elements/mxfmux.c elements/neonhttpsrc.c \
 	elements/netsim.c elements/ofa.c elements/pcapparse.c \
-	elements/pnm.c elements/rtponvifparse.c \
+	elements/pnm.c elements/rawaudioparse.c \
+	elements/rawvideoparse.c elements/rtponvifparse.c \
 	elements/rtponviftimestamp.c elements/schroenc.c \
 	elements/shm.c elements/templatematch.c elements/timidity.c \
 	elements/uvch264demux.c elements/videoframe-audiolevel.c \
@@ -1193,6 +1241,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -1242,6 +1292,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
@@ -1678,7 +1730,7 @@
 @USE_ASSRENDER_FALSE@check_assrender = 
 @USE_ASSRENDER_TRUE@check_assrender = elements/assrender
 @USE_DASH_FALSE@check_dash = 
-@USE_DASH_TRUE@check_dash = elements/dash_mpd
+@USE_DASH_TRUE@check_dash = elements/dash_mpd elements/dash_isoff
 @USE_DASH_FALSE@check_dash_demux = 
 @USE_DASH_TRUE@check_dash_demux = elements/dash_demux
 @USE_FAAC_FALSE@check_faac = 
@@ -1763,19 +1815,19 @@
 VALGRIND_TESTS_DISABLE = \
 	$(VALGRIND_TO_FIX)
 
-noinst_HEADERS = elements/mxfdemux.h
+noinst_HEADERS = elements/mxfdemux.h elements/dash_isoff.h
 TESTS = $(check_PROGRAMS)
 AM_CFLAGS = $(GST_CFLAGS) $(GST_CHECK_CFLAGS) $(GST_OPTION_CFLAGS) \
 	-DGST_CHECK_TEST_ENVIRONMENT_BEACON="\"GST_PLUGIN_LOADING_WHITELIST\"" \
 	-DGST_TEST_FILES_PATH="\"$(TEST_FILES_DIRECTORY)\"" \
-	-UG_DISABLE_ASSERT -UG_DISABLE_CAST_CHECKS
+	-UG_DISABLE_ASSERT -UG_DISABLE_CAST_CHECKS $(PTHREAD_CFLAGS)
 
 LDADD = $(GST_CHECK_LIBS)
 generic_states_CFLAGS = $(AM_CFLAGS) $(GMODULE_NO_EXPORT_CFLAGS)
 generic_states_LDADD = $(LDADD) $(GMODULE_NO_EXPORT_LIBS)
 elements_audiomixer_LDADD = $(GST_BASE_LIBS) $(GST_CONTROLLER_LIBS) -lgstbase-@GST_API_VERSION@ $(LDADD)
 elements_audiomixer_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CONTROLLER_CFLAGS) $(AM_CFLAGS)
-elements_audiointerleave_LDADD = $(GST_BASE_LIBS) -lgstbase-@GST_API_VERSION@ -lgstaudio-@GST_API_VERSION@ $(LDADD)
+elements_audiointerleave_LDADD = $(GST_BASE_LIBS) -lgstbase-@GST_API_VERSION@ $(GST_AUDIO_LIBS) $(LDADD)
 elements_audiointerleave_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
 elements_pnm_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS)
@@ -1796,6 +1848,10 @@
 elements_h263parse_LDADD = libparser.la $(LDADD)
 elements_h264parse_LDADD = libparser.la $(LDADD)
 elements_pcapparse_LDADD = libparser.la $(LDADD)
+elements_rawaudioparse_LDADD = $(GST_BASE_LIBS) -lgstbase-@GST_API_VERSION@ $(GST_AUDIO_LIBS) $(LDADD)
+elements_rawaudioparse_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
+elements_rawvideoparse_LDADD = $(GST_BASE_LIBS) -lgstbase-@GST_API_VERSION@ $(GST_VIDEO_LIBS) $(LDADD)
+elements_rawvideoparse_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
 libs_mpegvideoparser_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
 	-DGST_USE_UNSTABLE_API \
@@ -1808,7 +1864,8 @@
 libs_mpegts_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) \
 	-DGST_USE_UNSTABLE_API \
-	$(GST_CFLAGS)
+	$(GST_CFLAGS) \
+	$(PTHREAD_CFLAGS)
 
 libs_mpegts_LDADD = \
 	$(top_builddir)/gst-libs/gst/mpegts/libgstmpegts-@GST_API_VERSION@.la \
@@ -1849,7 +1906,7 @@
 
 elements_videoframe_audiolevel_LDADD = \
 	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \
-	-lgstaudio-@GST_API_VERSION@
+	$(GST_AUDIO_LIBS)
 
 elements_faad_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS) \
@@ -1857,7 +1914,7 @@
 
 elements_faad_LDADD = \
 	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \
-	-lgstaudio-@GST_API_VERSION@
+	$(GST_AUDIO_LIBS)
 
 elements_faac_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS) \
@@ -1865,7 +1922,7 @@
 
 elements_faac_LDADD = \
 	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \
-	-lgstaudio-@GST_API_VERSION@
+	$(GST_AUDIO_LIBS)
 
 elements_gdppay_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
@@ -1881,7 +1938,7 @@
 
 elements_voaacenc_LDADD = \
 	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD) \
-	-lgstaudio-@GST_API_VERSION@
+	$(GST_AUDIO_LIBS)
 
 elements_camerabin_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
@@ -1902,9 +1959,9 @@
 elements_kate_CFLAGS = $(GST_BASE_CFLAGS) $(AM_CFLAGS)
 elements_kate_LDADD = $(GST_BASE_LIBS) $(LDADD)
 elements_assrender_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
-elements_assrender_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) -lgstapp-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
+elements_assrender_LDADD = $(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) -lgstapp-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
 elements_mpegtsmux_CFLAGS = $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(AM_CFLAGS)
-elements_mpegtsmux_LDADD = $(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) $(GST_BASE_LIBS) $(LDADD)
+elements_mpegtsmux_LDADD = $(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) $(LDADD)
 elements_uvch264demux_CFLAGS = -DUVCH264DEMUX_DATADIR="$(srcdir)/elements/uvch264demux_data" \
 				$(AM_CFLAGS)
 
@@ -1913,6 +1970,9 @@
 	$(top_builddir)/gst-libs/gst/uridownloader/libgsturidownloader-@GST_API_VERSION@.la
 
 elements_dash_mpd_SOURCES = elements/dash_mpd.c
+elements_dash_isoff_CFLAGS = $(AM_CFLAGS) $(GST_BASE_CFLAGS)
+elements_dash_isoff_LDADD = $(LDADD) $(GST_BASE_LIBS)
+elements_dash_isoff_SOURCES = elements/dash_isoff.c
 elements_dash_demux_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
 elements_dash_demux_LDADD = \
 	$(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) \
@@ -1921,6 +1981,7 @@
 	$(top_builddir)/gst-libs/gst/adaptivedemux/libgstadaptivedemux-@GST_API_VERSION@.la
 
 elements_dash_demux_SOURCES = elements/test_http_src.c elements/test_http_src.h elements/adaptive_demux_engine.c elements/adaptive_demux_engine.h elements/adaptive_demux_common.c elements/adaptive_demux_common.h elements/dash_demux.c
+elements_neonhttpsrc_CFLAGS = $(AM_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS)
 elements_mssdemux_CFLAGS = $(AM_CFLAGS) $(LIBXML2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_PLUGINS_BAD_CFLAGS)
 elements_mssdemux_LDADD = \
 	$(LDADD) $(LIBXML2_LIBS) $(GST_BASE_LIBS) \
@@ -1941,8 +2002,8 @@
 libs_player_SOURCES = libs/player.c
 libs_player_LDADD = \
 	$(top_builddir)/gst-libs/gst/player/libgstplayer-@GST_API_VERSION@.la \
-	-lgstvideo-@GST_API_VERSION@ \
-	$(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_VIDEO_LIBS) $(GST_PLUGINS_BASE_LIBS) $(GST_BASE_LIBS) $(GST_LIBS) \
+	$(LDADD)
 
 libs_player_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS) \
@@ -1970,8 +2031,8 @@
 nodist_orc_audiomixer_SOURCES = orc/audiomixer.c
 libs_gstglcontext_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) \
+	$(GST_LIBS) $(LDADD)
 
 libs_gstglcontext_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
@@ -1980,8 +2041,8 @@
 
 libs_gstglmemory_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) \
+	$(GST_LIBS) $(LDADD)
 
 libs_gstglmemory_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
@@ -1995,8 +2056,8 @@
 
 libs_gstglupload_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) \
+	$(GST_LIBS) $(LDADD)
 
 libs_gstglcolorconvert_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) \
@@ -2005,8 +2066,8 @@
 
 libs_gstglcolorconvert_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) \
+	$(GST_LIBS) $(LDADD)
 
 libs_gstglquery_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
@@ -2033,8 +2094,8 @@
 
 elements_glimagesink_LDADD = \
 	$(top_builddir)/gst-libs/gst/gl/libgstgl-@GST_API_VERSION@.la \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(GST_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) \
+	$(GST_LIBS) $(LDADD)
 
 pipelines_simple_launch_lines_CFLAGS = \
 	$(GST_PLUGINS_BAD_CFLAGS) \
@@ -2055,8 +2116,7 @@
 	$(GST_BASE_CFLAGS) $(GST_CFLAGS) $(AM_CFLAGS)
 
 elements_compositor_LDADD = \
-	$(GST_PLUGINS_BASE_LIBS) -lgstvideo-$(GST_API_VERSION) \
-	$(GST_BASE_LIBS) $(LDADD)
+	$(GST_PLUGINS_BASE_LIBS) $(GST_VIDEO_LIBS) $(GST_BASE_LIBS) $(LDADD)
 
 elements_compositor_CFLAGS = \
 	$(GST_PLUGINS_BASE_CFLAGS) \
@@ -2246,6 +2306,12 @@
 elements/dash_demux$(EXEEXT): $(elements_dash_demux_OBJECTS) $(elements_dash_demux_DEPENDENCIES) $(EXTRA_elements_dash_demux_DEPENDENCIES) elements/$(am__dirstamp)
 	@rm -f elements/dash_demux$(EXEEXT)
 	$(AM_V_CCLD)$(elements_dash_demux_LINK) $(elements_dash_demux_OBJECTS) $(elements_dash_demux_LDADD) $(LIBS)
+elements/elements_dash_isoff-dash_isoff.$(OBJEXT):  \
+	elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+
+elements/dash_isoff$(EXEEXT): $(elements_dash_isoff_OBJECTS) $(elements_dash_isoff_DEPENDENCIES) $(EXTRA_elements_dash_isoff_DEPENDENCIES) elements/$(am__dirstamp)
+	@rm -f elements/dash_isoff$(EXEEXT)
+	$(AM_V_CCLD)$(elements_dash_isoff_LINK) $(elements_dash_isoff_OBJECTS) $(elements_dash_isoff_LDADD) $(LIBS)
 elements/elements_dash_mpd-dash_mpd.$(OBJEXT):  \
 	elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
 
@@ -2396,12 +2462,12 @@
 elements/mxfmux$(EXEEXT): $(elements_mxfmux_OBJECTS) $(elements_mxfmux_DEPENDENCIES) $(EXTRA_elements_mxfmux_DEPENDENCIES) elements/$(am__dirstamp)
 	@rm -f elements/mxfmux$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(elements_mxfmux_OBJECTS) $(elements_mxfmux_LDADD) $(LIBS)
-elements/neonhttpsrc.$(OBJEXT): elements/$(am__dirstamp) \
-	elements/$(DEPDIR)/$(am__dirstamp)
+elements/elements_neonhttpsrc-neonhttpsrc.$(OBJEXT):  \
+	elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
 
 elements/neonhttpsrc$(EXEEXT): $(elements_neonhttpsrc_OBJECTS) $(elements_neonhttpsrc_DEPENDENCIES) $(EXTRA_elements_neonhttpsrc_DEPENDENCIES) elements/$(am__dirstamp)
 	@rm -f elements/neonhttpsrc$(EXEEXT)
-	$(AM_V_CCLD)$(LINK) $(elements_neonhttpsrc_OBJECTS) $(elements_neonhttpsrc_LDADD) $(LIBS)
+	$(AM_V_CCLD)$(elements_neonhttpsrc_LINK) $(elements_neonhttpsrc_OBJECTS) $(elements_neonhttpsrc_LDADD) $(LIBS)
 elements/netsim.$(OBJEXT): elements/$(am__dirstamp) \
 	elements/$(DEPDIR)/$(am__dirstamp)
 
@@ -2426,6 +2492,18 @@
 elements/pnm$(EXEEXT): $(elements_pnm_OBJECTS) $(elements_pnm_DEPENDENCIES) $(EXTRA_elements_pnm_DEPENDENCIES) elements/$(am__dirstamp)
 	@rm -f elements/pnm$(EXEEXT)
 	$(AM_V_CCLD)$(elements_pnm_LINK) $(elements_pnm_OBJECTS) $(elements_pnm_LDADD) $(LIBS)
+elements/elements_rawaudioparse-rawaudioparse.$(OBJEXT):  \
+	elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+
+elements/rawaudioparse$(EXEEXT): $(elements_rawaudioparse_OBJECTS) $(elements_rawaudioparse_DEPENDENCIES) $(EXTRA_elements_rawaudioparse_DEPENDENCIES) elements/$(am__dirstamp)
+	@rm -f elements/rawaudioparse$(EXEEXT)
+	$(AM_V_CCLD)$(elements_rawaudioparse_LINK) $(elements_rawaudioparse_OBJECTS) $(elements_rawaudioparse_LDADD) $(LIBS)
+elements/elements_rawvideoparse-rawvideoparse.$(OBJEXT):  \
+	elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
+
+elements/rawvideoparse$(EXEEXT): $(elements_rawvideoparse_OBJECTS) $(elements_rawvideoparse_DEPENDENCIES) $(EXTRA_elements_rawvideoparse_DEPENDENCIES) elements/$(am__dirstamp)
+	@rm -f elements/rawvideoparse$(EXEEXT)
+	$(AM_V_CCLD)$(elements_rawvideoparse_LINK) $(elements_rawvideoparse_OBJECTS) $(elements_rawvideoparse_LDADD) $(LIBS)
 elements/elements_rtponvifparse-rtponvifparse.$(OBJEXT):  \
 	elements/$(am__dirstamp) elements/$(DEPDIR)/$(am__dirstamp)
 
@@ -2694,6 +2772,7 @@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_dash_demux-adaptive_demux_engine.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_dash_demux-dash_demux.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_dash_demux-test_http_src.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_dash_isoff-dash_isoff.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_dash_mpd-dash_mpd.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_faac-faac.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_faad-faad.Po@am__quote@
@@ -2712,7 +2791,10 @@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_mssdemux-adaptive_demux_engine.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_mssdemux-mssdemux.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_mssdemux-test_http_src.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_neonhttpsrc-neonhttpsrc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_pnm-pnm.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_rawaudioparse-rawaudioparse.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_rawvideoparse-rawvideoparse.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_rtponvifparse-rtponvifparse.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_rtponviftimestamp-rtponviftimestamp.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/elements_timidity-timidity.Po@am__quote@
@@ -2730,7 +2812,6 @@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/mplex.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/mxfdemux.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/mxfmux.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/neonhttpsrc.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/netsim.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/ofa.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@elements/$(DEPDIR)/pcapparse.Po@am__quote@
@@ -2922,6 +3003,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) $(elements_dash_demux_CFLAGS) $(CFLAGS) -c -o elements/elements_dash_demux-dash_demux.obj `if test -f 'elements/dash_demux.c'; then $(CYGPATH_W) 'elements/dash_demux.c'; else $(CYGPATH_W) '$(srcdir)/elements/dash_demux.c'; fi`
 
+elements/elements_dash_isoff-dash_isoff.o: elements/dash_isoff.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_dash_isoff_CFLAGS) $(CFLAGS) -MT elements/elements_dash_isoff-dash_isoff.o -MD -MP -MF elements/$(DEPDIR)/elements_dash_isoff-dash_isoff.Tpo -c -o elements/elements_dash_isoff-dash_isoff.o `test -f 'elements/dash_isoff.c' || echo '$(srcdir)/'`elements/dash_isoff.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_dash_isoff-dash_isoff.Tpo elements/$(DEPDIR)/elements_dash_isoff-dash_isoff.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/dash_isoff.c' object='elements/elements_dash_isoff-dash_isoff.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_dash_isoff_CFLAGS) $(CFLAGS) -c -o elements/elements_dash_isoff-dash_isoff.o `test -f 'elements/dash_isoff.c' || echo '$(srcdir)/'`elements/dash_isoff.c
+
+elements/elements_dash_isoff-dash_isoff.obj: elements/dash_isoff.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_dash_isoff_CFLAGS) $(CFLAGS) -MT elements/elements_dash_isoff-dash_isoff.obj -MD -MP -MF elements/$(DEPDIR)/elements_dash_isoff-dash_isoff.Tpo -c -o elements/elements_dash_isoff-dash_isoff.obj `if test -f 'elements/dash_isoff.c'; then $(CYGPATH_W) 'elements/dash_isoff.c'; else $(CYGPATH_W) '$(srcdir)/elements/dash_isoff.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_dash_isoff-dash_isoff.Tpo elements/$(DEPDIR)/elements_dash_isoff-dash_isoff.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/dash_isoff.c' object='elements/elements_dash_isoff-dash_isoff.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_dash_isoff_CFLAGS) $(CFLAGS) -c -o elements/elements_dash_isoff-dash_isoff.obj `if test -f 'elements/dash_isoff.c'; then $(CYGPATH_W) 'elements/dash_isoff.c'; else $(CYGPATH_W) '$(srcdir)/elements/dash_isoff.c'; fi`
+
 elements/elements_dash_mpd-dash_mpd.o: elements/dash_mpd.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_dash_mpd_CFLAGS) $(CFLAGS) -MT elements/elements_dash_mpd-dash_mpd.o -MD -MP -MF elements/$(DEPDIR)/elements_dash_mpd-dash_mpd.Tpo -c -o elements/elements_dash_mpd-dash_mpd.o `test -f 'elements/dash_mpd.c' || echo '$(srcdir)/'`elements/dash_mpd.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_dash_mpd-dash_mpd.Tpo elements/$(DEPDIR)/elements_dash_mpd-dash_mpd.Po
@@ -3174,6 +3269,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) $(elements_mssdemux_CFLAGS) $(CFLAGS) -c -o elements/elements_mssdemux-mssdemux.obj `if test -f 'elements/mssdemux.c'; then $(CYGPATH_W) 'elements/mssdemux.c'; else $(CYGPATH_W) '$(srcdir)/elements/mssdemux.c'; fi`
 
+elements/elements_neonhttpsrc-neonhttpsrc.o: elements/neonhttpsrc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_neonhttpsrc_CFLAGS) $(CFLAGS) -MT elements/elements_neonhttpsrc-neonhttpsrc.o -MD -MP -MF elements/$(DEPDIR)/elements_neonhttpsrc-neonhttpsrc.Tpo -c -o elements/elements_neonhttpsrc-neonhttpsrc.o `test -f 'elements/neonhttpsrc.c' || echo '$(srcdir)/'`elements/neonhttpsrc.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_neonhttpsrc-neonhttpsrc.Tpo elements/$(DEPDIR)/elements_neonhttpsrc-neonhttpsrc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/neonhttpsrc.c' object='elements/elements_neonhttpsrc-neonhttpsrc.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_neonhttpsrc_CFLAGS) $(CFLAGS) -c -o elements/elements_neonhttpsrc-neonhttpsrc.o `test -f 'elements/neonhttpsrc.c' || echo '$(srcdir)/'`elements/neonhttpsrc.c
+
+elements/elements_neonhttpsrc-neonhttpsrc.obj: elements/neonhttpsrc.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_neonhttpsrc_CFLAGS) $(CFLAGS) -MT elements/elements_neonhttpsrc-neonhttpsrc.obj -MD -MP -MF elements/$(DEPDIR)/elements_neonhttpsrc-neonhttpsrc.Tpo -c -o elements/elements_neonhttpsrc-neonhttpsrc.obj `if test -f 'elements/neonhttpsrc.c'; then $(CYGPATH_W) 'elements/neonhttpsrc.c'; else $(CYGPATH_W) '$(srcdir)/elements/neonhttpsrc.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_neonhttpsrc-neonhttpsrc.Tpo elements/$(DEPDIR)/elements_neonhttpsrc-neonhttpsrc.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/neonhttpsrc.c' object='elements/elements_neonhttpsrc-neonhttpsrc.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_neonhttpsrc_CFLAGS) $(CFLAGS) -c -o elements/elements_neonhttpsrc-neonhttpsrc.obj `if test -f 'elements/neonhttpsrc.c'; then $(CYGPATH_W) 'elements/neonhttpsrc.c'; else $(CYGPATH_W) '$(srcdir)/elements/neonhttpsrc.c'; fi`
+
 elements/elements_pnm-pnm.o: elements/pnm.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_pnm_CFLAGS) $(CFLAGS) -MT elements/elements_pnm-pnm.o -MD -MP -MF elements/$(DEPDIR)/elements_pnm-pnm.Tpo -c -o elements/elements_pnm-pnm.o `test -f 'elements/pnm.c' || echo '$(srcdir)/'`elements/pnm.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_pnm-pnm.Tpo elements/$(DEPDIR)/elements_pnm-pnm.Po
@@ -3188,6 +3297,34 @@
 @AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_pnm_CFLAGS) $(CFLAGS) -c -o elements/elements_pnm-pnm.obj `if test -f 'elements/pnm.c'; then $(CYGPATH_W) 'elements/pnm.c'; else $(CYGPATH_W) '$(srcdir)/elements/pnm.c'; fi`
 
+elements/elements_rawaudioparse-rawaudioparse.o: elements/rawaudioparse.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rawaudioparse_CFLAGS) $(CFLAGS) -MT elements/elements_rawaudioparse-rawaudioparse.o -MD -MP -MF elements/$(DEPDIR)/elements_rawaudioparse-rawaudioparse.Tpo -c -o elements/elements_rawaudioparse-rawaudioparse.o `test -f 'elements/rawaudioparse.c' || echo '$(srcdir)/'`elements/rawaudioparse.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_rawaudioparse-rawaudioparse.Tpo elements/$(DEPDIR)/elements_rawaudioparse-rawaudioparse.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/rawaudioparse.c' object='elements/elements_rawaudioparse-rawaudioparse.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rawaudioparse_CFLAGS) $(CFLAGS) -c -o elements/elements_rawaudioparse-rawaudioparse.o `test -f 'elements/rawaudioparse.c' || echo '$(srcdir)/'`elements/rawaudioparse.c
+
+elements/elements_rawaudioparse-rawaudioparse.obj: elements/rawaudioparse.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rawaudioparse_CFLAGS) $(CFLAGS) -MT elements/elements_rawaudioparse-rawaudioparse.obj -MD -MP -MF elements/$(DEPDIR)/elements_rawaudioparse-rawaudioparse.Tpo -c -o elements/elements_rawaudioparse-rawaudioparse.obj `if test -f 'elements/rawaudioparse.c'; then $(CYGPATH_W) 'elements/rawaudioparse.c'; else $(CYGPATH_W) '$(srcdir)/elements/rawaudioparse.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_rawaudioparse-rawaudioparse.Tpo elements/$(DEPDIR)/elements_rawaudioparse-rawaudioparse.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/rawaudioparse.c' object='elements/elements_rawaudioparse-rawaudioparse.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rawaudioparse_CFLAGS) $(CFLAGS) -c -o elements/elements_rawaudioparse-rawaudioparse.obj `if test -f 'elements/rawaudioparse.c'; then $(CYGPATH_W) 'elements/rawaudioparse.c'; else $(CYGPATH_W) '$(srcdir)/elements/rawaudioparse.c'; fi`
+
+elements/elements_rawvideoparse-rawvideoparse.o: elements/rawvideoparse.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rawvideoparse_CFLAGS) $(CFLAGS) -MT elements/elements_rawvideoparse-rawvideoparse.o -MD -MP -MF elements/$(DEPDIR)/elements_rawvideoparse-rawvideoparse.Tpo -c -o elements/elements_rawvideoparse-rawvideoparse.o `test -f 'elements/rawvideoparse.c' || echo '$(srcdir)/'`elements/rawvideoparse.c
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_rawvideoparse-rawvideoparse.Tpo elements/$(DEPDIR)/elements_rawvideoparse-rawvideoparse.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/rawvideoparse.c' object='elements/elements_rawvideoparse-rawvideoparse.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rawvideoparse_CFLAGS) $(CFLAGS) -c -o elements/elements_rawvideoparse-rawvideoparse.o `test -f 'elements/rawvideoparse.c' || echo '$(srcdir)/'`elements/rawvideoparse.c
+
+elements/elements_rawvideoparse-rawvideoparse.obj: elements/rawvideoparse.c
+@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rawvideoparse_CFLAGS) $(CFLAGS) -MT elements/elements_rawvideoparse-rawvideoparse.obj -MD -MP -MF elements/$(DEPDIR)/elements_rawvideoparse-rawvideoparse.Tpo -c -o elements/elements_rawvideoparse-rawvideoparse.obj `if test -f 'elements/rawvideoparse.c'; then $(CYGPATH_W) 'elements/rawvideoparse.c'; else $(CYGPATH_W) '$(srcdir)/elements/rawvideoparse.c'; fi`
+@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_rawvideoparse-rawvideoparse.Tpo elements/$(DEPDIR)/elements_rawvideoparse-rawvideoparse.Po
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='elements/rawvideoparse.c' object='elements/elements_rawvideoparse-rawvideoparse.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rawvideoparse_CFLAGS) $(CFLAGS) -c -o elements/elements_rawvideoparse-rawvideoparse.obj `if test -f 'elements/rawvideoparse.c'; then $(CYGPATH_W) 'elements/rawvideoparse.c'; else $(CYGPATH_W) '$(srcdir)/elements/rawvideoparse.c'; fi`
+
 elements/elements_rtponvifparse-rtponvifparse.o: elements/rtponvifparse.c
 @am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(elements_rtponvifparse_CFLAGS) $(CFLAGS) -MT elements/elements_rtponvifparse-rtponvifparse.o -MD -MP -MF elements/$(DEPDIR)/elements_rtponvifparse-rtponvifparse.Tpo -c -o elements/elements_rtponvifparse-rtponvifparse.o `test -f 'elements/rtponvifparse.c' || echo '$(srcdir)/'`elements/rtponvifparse.c
 @am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) elements/$(DEPDIR)/elements_rtponvifparse-rtponvifparse.Tpo elements/$(DEPDIR)/elements_rtponvifparse-rtponvifparse.Po
@@ -3791,9 +3928,9 @@
 	--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/dash_demux.log: elements/dash_demux$(EXEEXT)
-	@p='elements/dash_demux$(EXEEXT)'; \
-	b='elements/dash_demux'; \
+elements/dash_isoff.log: elements/dash_isoff$(EXEEXT)
+	@p='elements/dash_isoff$(EXEEXT)'; \
+	b='elements/dash_isoff'; \
 	$(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) \
@@ -4085,6 +4222,20 @@
 	--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/rawaudioparse.log: elements/rawaudioparse$(EXEEXT)
+	@p='elements/rawaudioparse$(EXEEXT)'; \
+	b='elements/rawaudioparse'; \
+	$(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/rawvideoparse.log: elements/rawvideoparse$(EXEEXT)
+	@p='elements/rawvideoparse$(EXEEXT)'; \
+	b='elements/rawvideoparse'; \
+	$(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/rtponvifparse.log: elements/rtponvifparse$(EXEEXT)
 	@p='elements/rtponvifparse$(EXEEXT)'; \
 	b='elements/rtponvifparse'; \
diff --git a/tests/check/elements/adaptive_demux_common.c b/tests/check/elements/adaptive_demux_common.c
index a8fcb1e..814b0ea 100644
--- a/tests/check/elements/adaptive_demux_common.c
+++ b/tests/check/elements/adaptive_demux_common.c
@@ -431,6 +431,7 @@
         TEST_TASK_STATE_WAITING_FOR_TESTSRC_STATE_CHANGE) {
       GST_DEBUG ("changing test_task_state");
       testData->test_task_state = TEST_TASK_STATE_EXITING;
+      gst_bus_remove_signal_watch (bus);
       g_cond_signal (&testData->test_task_state_cond);
     }
     g_mutex_unlock (&testData->test_task_state_lock);
@@ -454,6 +455,7 @@
   gst_bus_add_signal_watch (bus);
   g_signal_connect (bus, "message::state-changed",
       G_CALLBACK (testSeekOnStateChanged), testData);
+  gst_object_unref (bus);
 }
 
 static void
diff --git a/tests/check/elements/adaptive_demux_engine.c b/tests/check/elements/adaptive_demux_engine.c
index 4662a00..b969831 100644
--- a/tests/check/elements/adaptive_demux_engine.c
+++ b/tests/check/elements/adaptive_demux_engine.c
@@ -595,6 +595,7 @@
   priv->engine.pipeline = NULL;
   g_main_loop_unref (priv->engine.loop);
   g_ptr_array_unref (priv->engine.output_streams);
+  gst_object_unref (bus);
 
   GST_TEST_UNLOCK (priv);
   g_mutex_clear (&priv->engine.lock);
diff --git a/tests/check/elements/aiffparse.c b/tests/check/elements/aiffparse.c
index ebf2028..5828ce1 100644
--- a/tests/check/elements/aiffparse.c
+++ b/tests/check/elements/aiffparse.c
@@ -112,15 +112,21 @@
       gst_event_parse_tag (event, &aiff_tags);
       fail_unless (aiff_tags != NULL);
 
+      have_tags = TRUE;
       for (i = 0; i < sizeof (tags) / sizeof (*tags); i++) {
         buf = NULL;
-        fail_unless (gst_tag_list_get_string (aiff_tags, tags[i][0], &buf));
+        if (!gst_tag_list_get_string (aiff_tags, tags[i][0], &buf)) {
+          have_tags = FALSE;
+          continue;
+        }
         ret = g_strcmp0 (buf, tags[i][1]);
         g_free (buf);
-        fail_unless (ret == 0);
+        if (ret != 0) {
+          have_tags = FALSE;
+          continue;
+        }
       }
 
-      have_tags = TRUE;
       break;
     }
     default:
diff --git a/tests/check/elements/audiomixer.c b/tests/check/elements/audiomixer.c
index 00be1c6..9ef5c3c 100644
--- a/tests/check/elements/audiomixer.c
+++ b/tests/check/elements/audiomixer.c
@@ -723,6 +723,7 @@
     g_main_loop_unref (main_loop);
   if (play_seek_event)
     gst_event_unref (play_seek_event);
+  gst_bus_remove_signal_watch (bus);
   gst_object_unref (bus);
   gst_object_unref (bin);
 }
diff --git a/tests/check/elements/autovideoconvert.c b/tests/check/elements/autovideoconvert.c
index 268f094..56757ab 100644
--- a/tests/check/elements/autovideoconvert.c
+++ b/tests/check/elements/autovideoconvert.c
@@ -77,8 +77,6 @@
 
   g_signal_connect (bus, "message", (GCallback) on_message_cb, &omud);
 
-  gst_object_unref (bus);
-
   ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);
   fail_unless (ret == GST_STATE_CHANGE_SUCCESS
       || ret == GST_STATE_CHANGE_ASYNC);
@@ -90,6 +88,8 @@
 
   fail_unless (omud.eos == TRUE);
 
+  gst_bus_remove_signal_watch (bus);
+  gst_object_unref (bus);
   gst_object_unref (pipeline);
   g_main_loop_unref (loop);
 
diff --git a/tests/check/elements/camerabin.c b/tests/check/elements/camerabin.c
index f6d7c7c..e554b0b 100644
--- a/tests/check/elements/camerabin.c
+++ b/tests/check/elements/camerabin.c
@@ -439,7 +439,7 @@
 
 static GstElement *camera;
 static GstElement *testsrc;
-static guint bus_source;
+static GstBus *bus = NULL;
 static GMainLoop *main_loop;
 static gint capture_count = 0;
 guint32 test_id = 0;
@@ -615,21 +615,20 @@
   gchar *pipeline_str = g_strdup_printf ("filesrc location=%s ! "
       "jpegparse ! fakesink", filepath);
   GstElement *pipeline;
-  guint source;
 
   pipeline = gst_parse_launch (pipeline_str, NULL);
   fail_unless (pipeline != NULL);
   g_free (pipeline_str);
 
   bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
-  source = gst_bus_add_watch (bus, (GstBusFunc) validity_bus_cb, loop);
+  gst_bus_add_watch (bus, (GstBusFunc) validity_bus_cb, loop);
 
   gst_element_set_state (pipeline, GST_STATE_PLAYING);
   g_main_loop_run (loop);
   gst_element_set_state (pipeline, GST_STATE_NULL);
 
+  gst_bus_remove_watch (bus);
   gst_object_unref (bus);
-  g_source_remove (source);
   gst_object_unref (pipeline);
   g_main_loop_unref (loop);
 }
@@ -637,9 +636,7 @@
 static void
 setup_camerabin_common (void)
 {
-  GstBus *bus;
   test_id = g_random_int ();
-  bus_source = 0;
 
   main_loop = g_main_loop_new (NULL, TRUE);
 
@@ -647,8 +644,7 @@
   fail_unless (camera != NULL, "failed to create camerabin element");
 
   bus = gst_pipeline_get_bus (GST_PIPELINE (camera));
-  bus_source = gst_bus_add_watch (bus, (GstBusFunc) capture_bus_cb, main_loop);
-  gst_object_unref (bus);
+  gst_bus_add_watch (bus, (GstBusFunc) capture_bus_cb, main_loop);
 
   tags_found = NULL;
   capture_count = 0;
@@ -748,8 +744,10 @@
     gst_check_teardown_element (camera);
   camera = NULL;
 
-  if (bus_source)
-    g_source_remove (bus_source);
+  if (bus) {
+    gst_bus_remove_watch (bus);
+    gst_object_unref (bus);
+  }
 
   if (main_loop)
     g_main_loop_unref (main_loop);
@@ -842,7 +840,6 @@
   GstCaps *caps;
   gint caps_width, caps_height;
   GstState state;
-  guint source;
 
   GMainLoop *loop = g_main_loop_new (NULL, FALSE);
   GstElement *playbin = gst_element_factory_make ("playbin", NULL);
@@ -856,7 +853,7 @@
       "audio-sink", fakeaudio, NULL);
 
   bus = gst_pipeline_get_bus (GST_PIPELINE (playbin));
-  source = gst_bus_add_watch (bus, (GstBusFunc) validity_bus_cb, loop);
+  gst_bus_add_watch (bus, (GstBusFunc) validity_bus_cb, loop);
 
   gst_element_set_state (playbin, GST_STATE_PAUSED);
   gst_element_get_state (playbin, &state, NULL, GST_SECOND * 3);
@@ -899,7 +896,7 @@
   }
 
   g_free (uri);
-  g_source_remove (source);
+  gst_bus_remove_watch (bus);
   gst_object_unref (bus);
   gst_object_unref (playbin);
   g_main_loop_unref (loop);
diff --git a/tests/check/elements/dash_isoff.c b/tests/check/elements/dash_isoff.c
new file mode 100644
index 0000000..500747b
--- /dev/null
+++ b/tests/check/elements/dash_isoff.c
@@ -0,0 +1,206 @@
+#include "../../ext/dash/gstisoff.c"
+#undef GST_CAT_DEFAULT
+
+#include <gst/check/gstcheck.h>
+#include <gst/base/base.h>
+
+#include "dash_isoff.h"
+
+GST_START_TEST (dash_isoff_box_header_minimal)
+{
+  /* INDENT-OFF */
+  static const guint8 data[] = {
+    16, 32, 64, 128,
+    't', 'e', 's', 't'
+  };
+  /* INDENT-ON */
+  GstByteReader reader = GST_BYTE_READER_INIT (data, sizeof (data));
+  guint32 type;
+  guint8 extended_type[16];
+  guint header_size;
+  guint64 size;
+
+  fail_unless (gst_isoff_parse_box_header (&reader, &type, extended_type,
+          &header_size, &size));
+  fail_unless (type == GST_MAKE_FOURCC ('t', 'e', 's', 't'));
+  fail_unless_equals_int (header_size, 8);
+  fail_unless_equals_uint64 (size, 0x10204080);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (dash_isoff_box_header_long_size)
+{
+  /* INDENT-OFF */
+  static const guint8 data[] = {
+    0, 0, 0, 1,
+    't', 'e', 's', 't',
+    1, 2, 4, 8, 16, 32, 64, 128
+  };
+  /* INDENT-ON */
+  GstByteReader reader = GST_BYTE_READER_INIT (data, sizeof (data));
+  guint32 type;
+  guint8 extended_type[16];
+  guint header_size;
+  guint64 size;
+
+  fail_unless (gst_isoff_parse_box_header (&reader, &type, extended_type,
+          &header_size, &size));
+  fail_unless (type == GST_MAKE_FOURCC ('t', 'e', 's', 't'));
+  fail_unless_equals_int (header_size, 16);
+  fail_unless_equals_uint64 (size, G_GUINT64_CONSTANT (0x0102040810204080));
+}
+
+GST_END_TEST;
+
+GST_START_TEST (dash_isoff_box_header_uuid_type)
+{
+  /* INDENT-OFF */
+  static const guint8 data[] = {
+    16, 32, 64, 128,
+    'u', 'u', 'i', 'd',
+    'a', 'b', 'c', 'd',
+    'e', 'f', 'g', 'h',
+    'i', 'j', 'k', 'l',
+    'm', 'n', 'o', 'p'
+  };
+  /* INDENT-ON */
+  GstByteReader reader = GST_BYTE_READER_INIT (data, sizeof (data));
+  guint32 type;
+  guint8 extended_type[16];
+  guint header_size;
+  guint64 size;
+
+  fail_unless (gst_isoff_parse_box_header (&reader, &type, extended_type,
+          &header_size, &size));
+  fail_unless (type == GST_MAKE_FOURCC ('u', 'u', 'i', 'd'));
+  fail_unless_equals_int (header_size, 24);
+  fail_unless_equals_uint64 (size, 0x10204080);
+  fail_unless (memcmp (data + 8, extended_type, 16) == 0);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (dash_isoff_box_header_uuid_type_long_size)
+{
+  /* INDENT-OFF */
+  static const guint8 data[] = {
+    0, 0, 0, 1,
+    'u', 'u', 'i', 'd',
+    1, 2, 4, 8, 16, 32, 64, 128,
+    'a', 'b', 'c', 'd',
+    'e', 'f', 'g', 'h',
+    'i', 'j', 'k', 'l',
+    'm', 'n', 'o', 'p'
+  };
+  /* INDENT-ON */
+  GstByteReader reader = GST_BYTE_READER_INIT (data, sizeof (data));
+  guint32 type;
+  guint8 extended_type[16];
+  guint header_size;
+  guint64 size;
+
+  fail_unless (gst_isoff_parse_box_header (&reader, &type, extended_type,
+          &header_size, &size));
+  fail_unless (type == GST_MAKE_FOURCC ('u', 'u', 'i', 'd'));
+  fail_unless_equals_int (header_size, 32);
+  fail_unless_equals_uint64 (size, G_GUINT64_CONSTANT (0x0102040810204080));
+  fail_unless (memcmp (data + 16, extended_type, 16) == 0);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (dash_isoff_moof_parse)
+{
+  /* INDENT-ON */
+  GstByteReader reader = GST_BYTE_READER_INIT (moof1, sizeof (moof1));
+  guint32 type;
+  guint8 extended_type[16];
+  guint header_size;
+  guint64 size;
+  GstMoofBox *moof;
+  GstTrafBox *traf;
+  GstTrunBox *trun;
+  guint i;
+
+  fail_unless (gst_isoff_parse_box_header (&reader, &type, extended_type,
+          &header_size, &size));
+  fail_unless (type == GST_MAKE_FOURCC ('m', 'o', 'o', 'f'));
+  fail_unless_equals_int (header_size, 8);
+  fail_unless_equals_uint64 (size, sizeof (moof1));
+
+  moof = gst_isoff_moof_box_parse (&reader);
+  fail_unless (moof != NULL);
+
+  fail_unless_equals_int (moof->mfhd.sequence_number, 1);
+  fail_unless_equals_int (moof->traf->len, 1);
+
+  traf = &g_array_index (moof->traf, GstTrafBox, 0);
+  fail_unless_equals_int (traf->tfhd.version, 0);
+  fail_unless_equals_int (traf->tfhd.flags,
+      GST_TFHD_FLAGS_DEFAULT_SAMPLE_DURATION_PRESENT);
+  fail_unless_equals_int (traf->tfhd.track_id, 1);
+  fail_unless_equals_uint64 (traf->tfhd.base_data_offset, 0);
+  fail_unless_equals_int (traf->tfhd.sample_description_index, 0);
+  fail_unless_equals_int (traf->tfhd.default_sample_duration, 8);
+  fail_unless_equals_int (traf->tfhd.default_sample_size, 0);
+  fail_unless_equals_int (traf->tfhd.default_sample_flags, 0);
+
+  fail_unless_equals_int (traf->trun->len, 1);
+  trun = &g_array_index (traf->trun, GstTrunBox, 0);
+
+  fail_unless_equals_int (trun->version, 1);
+  fail_unless_equals_int (trun->flags,
+      GST_TRUN_FLAGS_SAMPLE_COMPOSITION_TIME_OFFSETS_PRESENT |
+      GST_TRUN_FLAGS_SAMPLE_FLAGS_PRESENT | GST_TRUN_FLAGS_SAMPLE_SIZE_PRESENT |
+      GST_TRUN_FLAGS_DATA_OFFSET_PRESENT);
+  fail_unless_equals_int (trun->sample_count, 96);
+  fail_unless_equals_int (trun->data_offset, size + header_size);
+  fail_unless_equals_int (trun->first_sample_flags, 0);
+
+  fail_unless_equals_int (trun->samples->len, 96);
+
+  for (i = 0; i < 96; i++) {
+    GstTrunSample *sample = &g_array_index (trun->samples, GstTrunSample, i);
+
+    fail_unless_equals_int (sample->sample_duration, 0);
+    if (i == 0) {
+      /* sample_depends_on = 2 => I-frame */
+      /* sample_is_non_sync_sample = 0 */
+      fail_unless_equals_int (sample->sample_flags, 0x02000000);
+    } else {
+      /* sample_depends_on = 1 => non-I-frame */
+      /* sample_is_non_sync_sample = 1 */
+      fail_unless_equals_int (sample->sample_flags, 0x01010000);
+    }
+
+    /* sample size and CTO is changing for each sample */
+  }
+
+  gst_isoff_moof_box_free (moof);
+}
+
+GST_END_TEST;
+
+static Suite *
+dash_isoff_suite (void)
+{
+  Suite *s = suite_create ("dash-isoff");
+  TCase *tc_isoff_box = tcase_create ("isoff-box-parsing");
+  TCase *tc_moof = tcase_create ("moof");
+
+  tcase_add_test (tc_isoff_box, dash_isoff_box_header_minimal);
+  tcase_add_test (tc_isoff_box, dash_isoff_box_header_long_size);
+  tcase_add_test (tc_isoff_box, dash_isoff_box_header_uuid_type);
+  tcase_add_test (tc_isoff_box, dash_isoff_box_header_uuid_type_long_size);
+
+  suite_add_tcase (s, tc_isoff_box);
+
+
+  tcase_add_test (tc_moof, dash_isoff_moof_parse);
+  suite_add_tcase (s, tc_moof);
+
+  return s;
+}
+
+GST_CHECK_MAIN (dash_isoff);
diff --git a/tests/check/elements/dash_isoff.h b/tests/check/elements/dash_isoff.h
new file mode 100644
index 0000000..ab4c30c
--- /dev/null
+++ b/tests/check/elements/dash_isoff.h
@@ -0,0 +1,113 @@
+#ifndef __DASH_ISOFF_H__
+#define __DASH_ISOFF_H__
+
+#include <glib.h>
+
+static const guint8 moof1[] = {
+  0x00, 0x00, 0x04, 0xdc, 0x6d, 0x6f, 0x6f, 0x66, 0x00, 0x00, 0x00, 0x10,
+  0x6d, 0x66, 0x68, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+  0x00, 0x00, 0x04, 0xc4, 0x74, 0x72, 0x61, 0x66, 0x00, 0x00, 0x00, 0x14,
+  0x74, 0x66, 0x68, 0x64, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x01,
+  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x14, 0x74, 0x66, 0x64, 0x74,
+  0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+  0x00, 0x00, 0x04, 0x94, 0x74, 0x72, 0x75, 0x6e, 0x01, 0x00, 0x0e, 0x01,
+  0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x04, 0xe4, 0x00, 0x00, 0x00, 0xd1,
+  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x29,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x05, 0xa5,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x09, 0x47,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x07, 0xdd,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x0a, 0x70,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x06, 0xb4,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xf0, 0x00, 0x00, 0x08, 0x92,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x9b,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x8f,
+  0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+#endif
diff --git a/tests/check/elements/dash_mpd.c b/tests/check/elements/dash_mpd.c
index 6e49f0e..783ecae 100644
--- a/tests/check/elements/dash_mpd.c
+++ b/tests/check/elements/dash_mpd.c
@@ -44,6 +44,14 @@
   return ms;
 }
 
+static GstClockTime
+duration_to_clocktime (guint year, guint month, guint day, guint hour,
+    guint minute, guint second, guint millisecond)
+{
+  return (GST_MSECOND * duration_to_ms (year, month, day, hour, minute, second,
+          millisecond));
+}
+
 /*
  * Test to ensure a simple mpd file successfully parses.
  *
@@ -3154,19 +3162,23 @@
   assert_equals_int (represendationIndex, 1);
 
   represendationIndex =
-      gst_mpdparser_get_rep_idx_with_max_bandwidth (representations, 0);
+      gst_mpdparser_get_rep_idx_with_max_bandwidth (representations, 0, 0, 0, 0,
+      1);
   assert_equals_int (represendationIndex, 1);
 
   represendationIndex =
-      gst_mpdparser_get_rep_idx_with_max_bandwidth (representations, 100000);
+      gst_mpdparser_get_rep_idx_with_max_bandwidth (representations, 100000, 0,
+      0, 0, 1);
   assert_equals_int (represendationIndex, -1);
 
   represendationIndex =
-      gst_mpdparser_get_rep_idx_with_max_bandwidth (representations, 300000);
+      gst_mpdparser_get_rep_idx_with_max_bandwidth (representations, 300000, 0,
+      0, 0, 1);
   assert_equals_int (represendationIndex, 1);
 
   represendationIndex =
-      gst_mpdparser_get_rep_idx_with_max_bandwidth (representations, 500000);
+      gst_mpdparser_get_rep_idx_with_max_bandwidth (representations, 500000, 0,
+      0, 0, 1);
   assert_equals_int (represendationIndex, 0);
 
   gst_mpd_client_free (mpdclient);
@@ -5445,6 +5457,74 @@
 GST_END_TEST;
 
 /*
+ * Test that the maximum_segment_duration correctly implements the
+ * rules in the DASH specification
+ */
+GST_START_TEST (dash_mpdparser_maximum_segment_duration)
+{
+  const gchar *xml_template =
+      "<?xml version=\"1.0\"?>"
+      "<MPD xmlns=\"urn:mpeg:dash:schema:mpd:2011\""
+      "     profiles=\"urn:mpeg:dash:profile:isoff-main:2011\""
+      "     availabilityStartTime=\"2015-03-24T0:0:0\""
+      "     %s "
+      "     mediaPresentationDuration=\"P100Y\">"
+      "  <Period id=\"Period0\" start=\"PT0S\">"
+      "    <AdaptationSet mimeType=\"video/mp4\" >"
+      "      <SegmentTemplate timescale=\"90000\" initialization=\"$RepresentationID$/Header.m4s\" media=\"$RepresentationID$/$Number$.m4s\" duration=\"360000\" />"
+      "      <Representation id=\"video1\" width=\"576\" height=\"324\" frameRate=\"25\" sar=\"1:1\" bandwidth=\"900000\" codecs=\"avc1.4D401E\"/>"
+      "    </AdaptationSet>"
+      "      <AdaptationSet mimeType=\"audio/mp4\" >"
+      "        <SegmentTemplate timescale=\"90000\" initialization=\"$RepresentationID$/Header.m4s\" media=\"$RepresentationID$/$Number$.m4s\" duration=\"340000\" />"
+      "        <Representation id=\"audio1\" audioSamplingRate=\"22050\" bandwidth=\"29600\" codecs=\"mp4a.40.2\">"
+      "        <AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"2\"/>"
+      "      </Representation>" "    </AdaptationSet>" "  </Period></MPD>";
+  gboolean ret;
+  GstMpdClient *mpdclient;
+  gchar *xml;
+  GstClockTime dur;
+  GList *adapt_sets, *iter;
+
+  xml = g_strdup_printf (xml_template, "maxSegmentDuration=\"PT4.5S\"");
+  mpdclient = gst_mpd_client_new ();
+  ret = gst_mpd_parse (mpdclient, xml, (gint) strlen (xml));
+  g_free (xml);
+  assert_equals_int (ret, TRUE);
+
+  assert_equals_uint64 (mpdclient->mpd_node->maxSegmentDuration,
+      duration_to_ms (0, 0, 0, 0, 0, 4, 500));
+  dur = gst_mpd_client_get_maximum_segment_duration (mpdclient);
+  assert_equals_uint64 (dur, duration_to_clocktime (0, 0, 0, 0, 0, 4, 500));
+  gst_mpd_client_free (mpdclient);
+
+  /* now parse without the maxSegmentDuration attribute, to check that
+     gst_mpd_client_get_maximum_segment_duration uses the maximum
+     duration of any segment
+   */
+  xml = g_strdup_printf (xml_template, "");
+  mpdclient = gst_mpd_client_new ();
+  ret = gst_mpd_parse (mpdclient, xml, (gint) strlen (xml));
+  g_free (xml);
+  assert_equals_int (ret, TRUE);
+  ret =
+      gst_mpd_client_setup_media_presentation (mpdclient, GST_CLOCK_TIME_NONE,
+      -1, NULL);
+  assert_equals_int (ret, TRUE);
+  adapt_sets = gst_mpd_client_get_adaptation_sets (mpdclient);
+  for (iter = adapt_sets; iter; iter = g_list_next (iter)) {
+    GstAdaptationSetNode *adapt_set_node = iter->data;
+
+    ret = gst_mpd_client_setup_streaming (mpdclient, adapt_set_node);
+    assert_equals_int (ret, TRUE);
+  }
+  dur = gst_mpd_client_get_maximum_segment_duration (mpdclient);
+  assert_equals_uint64 (dur, duration_to_clocktime (0, 0, 0, 0, 0, 4, 0));
+  gst_mpd_client_free (mpdclient);
+}
+
+GST_END_TEST;
+
+/*
  * create a test suite containing all dash testcases
  */
 static Suite *
@@ -5625,6 +5705,7 @@
   tcase_add_test (tc_stringTests, dash_mpdparser_rfc1738_strings);
 
   tcase_add_test (tc_duration, dash_mpdparser_duration);
+  tcase_add_test (tc_duration, dash_mpdparser_maximum_segment_duration);
 
   suite_add_tcase (s, tc_simpleMPD);
   suite_add_tcase (s, tc_complexMPD);
diff --git a/tests/check/elements/hlsdemux_m3u8.c b/tests/check/elements/hlsdemux_m3u8.c
index f49e901..02f50f1 100644
--- a/tests/check/elements/hlsdemux_m3u8.c
+++ b/tests/check/elements/hlsdemux_m3u8.c
@@ -322,44 +322,41 @@
 #EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=65000,CODECS=\"mp4a.40.5\"\r\n\
 http://example.com/audio-only.m3u8";
 
-static GstM3U8Client *
+static GstHLSMasterPlaylist *
 load_playlist (const gchar * data)
 {
-  gboolean ret;
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
 
-  client = gst_m3u8_client_new ("http://localhost/test.m3u8", NULL);
-  ret = gst_m3u8_client_update (client, g_strdup (data));
-  assert_equals_int (ret, TRUE);
+  master = gst_hls_master_playlist_new_from_data (g_strdup (data),
+      "http://localhost/test.m3u8");
+  fail_unless (master != NULL);
 
-  return client;
+  return master;
 }
 
 GST_START_TEST (test_load_main_playlist_invalid)
 {
-  gboolean ret;
-  GstM3U8Client *client =
-      gst_m3u8_client_new ("http://localhost/test.m3u8", NULL);
+  GstHLSMasterPlaylist *master;
 
-  ret = gst_m3u8_client_update (client, g_strdup (INVALID_PLAYLIST));
-  assert_equals_int (ret, FALSE);
-
-  gst_m3u8_client_free (client);
+  master =
+      gst_hls_master_playlist_new_from_data (g_strdup (INVALID_PLAYLIST), NULL);
+  fail_unless (master == NULL);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_load_main_playlist_rendition)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
+  GstHLSVariantStream *variant;
 
-  client = load_playlist (ON_DEMAND_PLAYLIST);
+  master = load_playlist (ON_DEMAND_PLAYLIST);
+  variant = master->default_variant;
 
-  assert_equals_int (g_list_length (client->main->files), 4);
-  assert_equals_int (g_list_length (client->current->files), 4);
-  assert_equals_int (client->sequence, 0);
+  assert_equals_int (g_list_length (variant->m3u8->files), 4);
+  assert_equals_int (master->version, 0);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -367,17 +364,18 @@
 static void
 do_test_load_main_playlist_variant (const gchar * playlist)
 {
-  GstM3U8Client *client;
-  GstM3U8 *stream;
+  GstHLSMasterPlaylist *master;
+  GstHLSVariantStream *stream;
   GList *tmp;
 
-  client = load_playlist (playlist);
+  master = gst_hls_master_playlist_new_from_data (g_strdup (playlist), NULL);
+  fail_unless (master != NULL);
 
-  assert_equals_int (g_list_length (client->main->lists), 4);
+  assert_equals_int (g_list_length (master->variants), 4);
 
   /* Audio-Only */
-  tmp = g_list_first (client->main->lists);
-  stream = GST_M3U8 (tmp->data);
+  tmp = g_list_first (master->variants);
+  stream = tmp->data;
   assert_equals_int (stream->bandwidth, 65000);
   assert_equals_int (stream->program_id, 1);
   assert_equals_string (stream->uri, "http://example.com/audio-only.m3u8");
@@ -385,30 +383,30 @@
 
   /* Low */
   tmp = g_list_next (tmp);
-  stream = GST_M3U8 (tmp->data);
+  stream = tmp->data;
   assert_equals_int (stream->bandwidth, 128000);
   assert_equals_int (stream->program_id, 1);
   assert_equals_string (stream->uri, "http://example.com/low.m3u8");
 
   /* Mid */
   tmp = g_list_next (tmp);
-  stream = GST_M3U8 (tmp->data);
+  stream = tmp->data;
   assert_equals_int (stream->bandwidth, 256000);
   assert_equals_int (stream->program_id, 1);
   assert_equals_string (stream->uri, "http://example.com/mid.m3u8");
 
   /* High */
   tmp = g_list_next (tmp);
-  stream = GST_M3U8 (tmp->data);
+  stream = tmp->data;
   assert_equals_int (stream->bandwidth, 768000);
   assert_equals_int (stream->program_id, 1);
   assert_equals_string (stream->uri, "http://example.com/hi.m3u8");
 
   /* Check the first playlist is selected */
-  assert_equals_int (client->current != NULL, TRUE);
-  assert_equals_int (client->current->bandwidth, 128000);
+  assert_equals_int (master->default_variant != NULL, TRUE);
+  assert_equals_int (master->default_variant->bandwidth, 128000);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_START_TEST (test_load_main_playlist_variant)
@@ -420,11 +418,11 @@
 
 GST_START_TEST (test_load_main_playlist_variant_with_missing_uri)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
 
-  client = load_playlist (VARIANT_PLAYLIST_WITH_URI_MISSING);
-  assert_equals_int (g_list_length (client->main->lists), 3);
-  gst_m3u8_client_free (client);
+  master = load_playlist (VARIANT_PLAYLIST_WITH_URI_MISSING);
+  assert_equals_int (g_list_length (master->variants), 3);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -453,17 +451,17 @@
 static void
 check_on_demand_playlist (const gchar * data)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
   GstM3U8 *pl;
   GstM3U8MediaFile *file;
 
-  client = load_playlist (data);
-  pl = client->current;
+  master = load_playlist (data);
+  pl = master->default_variant->m3u8;
 
   /* Sequence should be 0 as it's an ondemand playlist */
-  assert_equals_int (client->sequence, 0);
+  assert_equals_int (pl->sequence, 0);
   /* Check that we are not live */
-  assert_equals_int (gst_m3u8_client_is_live (client), FALSE);
+  assert_equals_int (gst_m3u8_is_live (pl), FALSE);
   /* Check number of entries */
   assert_equals_int (g_list_length (pl->files), 4);
   /* Check first media segments */
@@ -475,7 +473,7 @@
   assert_equals_string (file->uri, "http://media.example.com/004.ts");
   assert_equals_int (file->sequence, 3);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_START_TEST (test_on_demand_playlist)
@@ -508,18 +506,18 @@
 
 GST_START_TEST (test_live_playlist)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
   GstM3U8 *pl;
   GstM3U8MediaFile *file;
   gint64 start = -1;
   gint64 stop = -1;
 
-  client = load_playlist (LIVE_PLAYLIST);
+  master = load_playlist (LIVE_PLAYLIST);
 
-  pl = client->current;
+  pl = master->default_variant->m3u8;
   /* Check that we are live */
-  assert_equals_int (gst_m3u8_client_is_live (client), TRUE);
-  assert_equals_int (client->sequence, 2681);
+  assert_equals_int (gst_m3u8_is_live (pl), TRUE);
+  assert_equals_int (pl->sequence, 2681);
   /* Check number of entries */
   assert_equals_int (g_list_length (pl->files), 4);
   /* Check first media segments */
@@ -532,11 +530,11 @@
   assert_equals_string (file->uri,
       "https://priv.example.com/fileSequence2683.ts");
   assert_equals_int (file->sequence, 2683);
-  fail_unless (gst_m3u8_client_get_seek_range (client, &start, &stop));
+  fail_unless (gst_m3u8_get_seek_range (pl, &start, &stop));
   assert_equals_int64 (start, 0);
   assert_equals_float (stop / (double) GST_SECOND, 16.0);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -546,44 +544,45 @@
  * there is a jump in the media sequence that must be handled correctly. */
 GST_START_TEST (test_live_playlist_rotated)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
   GstM3U8 *pl;
   GstM3U8MediaFile *file;
   gboolean ret;
 
-  client = load_playlist (LIVE_PLAYLIST);
-  pl = client->current;
-  assert_equals_int (client->sequence, 2681);
+  master = load_playlist (LIVE_PLAYLIST);
+  pl = master->default_variant->m3u8;
+
+  assert_equals_int (pl->sequence, 2681);
   /* Check first media segments */
   file = GST_M3U8_MEDIA_FILE (g_list_first (pl->files)->data);
   assert_equals_int (file->sequence, 2680);
 
-  ret = gst_m3u8_client_update (client, g_strdup (LIVE_ROTATED_PLAYLIST));
+  ret = gst_m3u8_update (pl, g_strdup (LIVE_ROTATED_PLAYLIST));
   assert_equals_int (ret, TRUE);
-  gst_m3u8_client_get_next_fragment (client, NULL, NULL, NULL, NULL, NULL, NULL,
-      NULL, NULL, TRUE);
+  gst_m3u8_get_next_fragment (pl, TRUE, NULL, NULL);
+
   /* FIXME: Sequence should last - 3. Should it? */
-  assert_equals_int (client->sequence, 3001);
+  assert_equals_int (pl->sequence, 3001);
   /* Check first media segments */
   file = GST_M3U8_MEDIA_FILE (g_list_first (pl->files)->data);
   assert_equals_int (file->sequence, 3001);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_playlist_with_doubles_duration)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
   GstM3U8 *pl;
   GstM3U8MediaFile *file;
   gint64 start = -1;
   gint64 stop = -1;
 
-  client = load_playlist (DOUBLES_PLAYLIST);
+  master = load_playlist (DOUBLES_PLAYLIST);
+  pl = master->default_variant->m3u8;
 
-  pl = client->current;
   /* Check first media segments */
   file = GST_M3U8_MEDIA_FILE (g_list_nth_data (pl->files, 0));
   assert_equals_float (file->duration / (double) GST_SECOND, 10.321);
@@ -593,18 +592,19 @@
   assert_equals_float (file->duration / (double) GST_SECOND, 10.2344);
   file = GST_M3U8_MEDIA_FILE (g_list_nth_data (pl->files, 3));
   assert_equals_float (file->duration / (double) GST_SECOND, 9.92);
-  fail_unless (gst_m3u8_client_get_seek_range (client, &start, &stop));
+  fail_unless (gst_m3u8_get_seek_range (pl, &start, &stop));
   assert_equals_int64 (start, 0);
   assert_equals_float (stop / (double) GST_SECOND,
       10.321 + 9.6789 + 10.2344 + 9.92);
-  gst_m3u8_client_free (client);
+
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_playlist_with_encryption)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
   GstM3U8 *pl;
   GstM3U8MediaFile *file;
   guint8 iv1[16] = { 0, };
@@ -613,9 +613,9 @@
   iv1[15] = 1;
   iv2[15] = 2;
 
-  client = load_playlist (AES_128_ENCRYPTED_PLAYLIST);
+  master = load_playlist (AES_128_ENCRYPTED_PLAYLIST);
+  pl = master->default_variant->m3u8;
 
-  pl = client->current;
   assert_equals_int (g_list_length (pl->files), 5);
 
   /* Check all media segments */
@@ -640,72 +640,73 @@
   assert_equals_string (file->key, "https://priv.example.com/key2.bin");
   fail_unless (memcmp (&file->iv, iv1, 16) == 0);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
 
+
 GST_START_TEST (test_update_invalid_playlist)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
   GstM3U8 *pl;
   gboolean ret;
 
   /* Test updates in on-demand playlists */
-  client = load_playlist (ON_DEMAND_PLAYLIST);
-  pl = client->current;
+  master = load_playlist (ON_DEMAND_PLAYLIST);
+  pl = master->default_variant->m3u8;
   assert_equals_int (g_list_length (pl->files), 4);
-  ret = gst_m3u8_client_update (client, g_strdup ("#INVALID"));
+  ret = gst_m3u8_update (pl, g_strdup ("#INVALID"));
   assert_equals_int (ret, FALSE);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_update_playlist)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
   GstM3U8 *pl;
   gchar *live_pl;
   gboolean ret;
 
   /* Test updates in on-demand playlists */
-  client = load_playlist (ON_DEMAND_PLAYLIST);
-  pl = client->current;
+  master = load_playlist (ON_DEMAND_PLAYLIST);
+  pl = master->default_variant->m3u8;
   assert_equals_int (g_list_length (pl->files), 4);
-  ret = gst_m3u8_client_update (client, g_strdup (ON_DEMAND_PLAYLIST));
+  ret = gst_m3u8_update (pl, g_strdup (ON_DEMAND_PLAYLIST));
   assert_equals_int (ret, TRUE);
   assert_equals_int (g_list_length (pl->files), 4);
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 
   /* Test updates in live playlists */
-  client = load_playlist (LIVE_PLAYLIST);
-  pl = client->current;
+  master = load_playlist (LIVE_PLAYLIST);
+  pl = master->default_variant->m3u8;
   assert_equals_int (g_list_length (pl->files), 4);
   /* Add a new entry to the playlist and check the update */
   live_pl = g_strdup_printf ("%s\n%s\n%s", LIVE_PLAYLIST, "#EXTINF:8",
       "https://priv.example.com/fileSequence2683.ts");
-  ret = gst_m3u8_client_update (client, live_pl);
+  ret = gst_m3u8_update (pl, live_pl);
   assert_equals_int (ret, TRUE);
   assert_equals_int (g_list_length (pl->files), 5);
   /* Test sliding window */
-  ret = gst_m3u8_client_update (client, g_strdup (LIVE_PLAYLIST));
+  ret = gst_m3u8_update (pl, g_strdup (LIVE_PLAYLIST));
   assert_equals_int (ret, TRUE);
   assert_equals_int (g_list_length (pl->files), 4);
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_playlist_media_files)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
   GstM3U8 *pl;
   GstM3U8MediaFile *file;
 
-  client = load_playlist (ON_DEMAND_PLAYLIST);
-  pl = client->current;
+  master = load_playlist (ON_DEMAND_PLAYLIST);
+  pl = master->default_variant->m3u8;
 
   /* Check number of entries */
   assert_equals_int (g_list_length (pl->files), 4);
@@ -718,19 +719,19 @@
   assert_equals_int (file->size, -1);
   assert_equals_string (file->title, "Test");
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_playlist_byte_range_media_files)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
   GstM3U8 *pl;
   GstM3U8MediaFile *file;
 
-  client = load_playlist (BYTE_RANGES_PLAYLIST);
-  pl = client->current;
+  master = load_playlist (BYTE_RANGES_PLAYLIST);
+  pl = master->default_variant->m3u8;
 
   /* Check number of entries */
   assert_equals_int (g_list_length (pl->files), 4);
@@ -749,11 +750,11 @@
   assert_equals_int (file->offset, 3000);
   assert_equals_int (file->size, 1000);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 
 
-  client = load_playlist (BYTE_RANGES_ACC_OFFSET_PLAYLIST);
-  pl = client->current;
+  master = load_playlist (BYTE_RANGES_ACC_OFFSET_PLAYLIST);
+  pl = master->default_variant->m3u8;
 
   /* Check number of entries */
   assert_equals_int (g_list_length (pl->files), 4);
@@ -772,90 +773,93 @@
   assert_equals_int (file->offset, 3000);
   assert_equals_int (file->size, 1000);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_get_next_fragment)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
+  GstM3U8 *pl;
+  GstM3U8MediaFile *mf;
   gboolean discontinous;
-  gchar *uri;
-  GstClockTime duration, timestamp;
-  gint64 range_start, range_end;
+  GstClockTime timestamp;
 
-  client = load_playlist (BYTE_RANGES_PLAYLIST);
+  master = load_playlist (BYTE_RANGES_PLAYLIST);
+  pl = master->default_variant->m3u8;
 
   /* Check the next fragment */
-  gst_m3u8_client_get_next_fragment (client, &discontinous, &uri, &duration,
-      &timestamp, &range_start, &range_end, NULL, NULL, TRUE);
+  mf = gst_m3u8_get_next_fragment (pl, TRUE, &timestamp, &discontinous);
+  fail_unless (mf != NULL);
   assert_equals_int (discontinous, FALSE);
-  assert_equals_string (uri, "http://media.example.com/all.ts");
+  assert_equals_string (mf->uri, "http://media.example.com/all.ts");
   assert_equals_uint64 (timestamp, 0);
-  assert_equals_uint64 (duration, 10 * GST_SECOND);
-  assert_equals_uint64 (range_start, 100);
-  assert_equals_uint64 (range_end, 1099);
-  g_free (uri);
+  assert_equals_uint64 (mf->duration, 10 * GST_SECOND);
+  assert_equals_uint64 (mf->offset, 100);
+  assert_equals_uint64 (mf->offset + mf->size, 1100);
 
-  gst_m3u8_client_advance_fragment (client, TRUE);
+  gst_m3u8_advance_fragment (pl, TRUE);
 
   /* Check next media segments */
-  gst_m3u8_client_get_next_fragment (client, &discontinous, &uri, &duration,
-      &timestamp, &range_start, &range_end, NULL, NULL, TRUE);
+  mf = gst_m3u8_get_next_fragment (pl, TRUE, &timestamp, &discontinous);
+  fail_unless (mf != NULL);
   assert_equals_int (discontinous, FALSE);
-  assert_equals_string (uri, "http://media.example.com/all.ts");
+  assert_equals_string (mf->uri, "http://media.example.com/all.ts");
   assert_equals_uint64 (timestamp, 10 * GST_SECOND);
-  assert_equals_uint64 (duration, 10 * GST_SECOND);
-  assert_equals_uint64 (range_start, 1000);
-  assert_equals_uint64 (range_end, 1999);
-  g_free (uri);
+  assert_equals_uint64 (mf->duration, 10 * GST_SECOND);
+  assert_equals_uint64 (mf->offset, 1000);
+  assert_equals_uint64 (mf->offset + mf->size, 2000);
 
-  gst_m3u8_client_advance_fragment (client, TRUE);
+  gst_m3u8_advance_fragment (pl, TRUE);
 
   /* Check next media segments */
-  gst_m3u8_client_get_next_fragment (client, &discontinous, &uri, &duration,
-      &timestamp, &range_start, &range_end, NULL, NULL, TRUE);
+  mf = gst_m3u8_get_next_fragment (pl, TRUE, &timestamp, &discontinous);
   assert_equals_int (discontinous, FALSE);
-  assert_equals_string (uri, "http://media.example.com/all.ts");
+  assert_equals_string (mf->uri, "http://media.example.com/all.ts");
   assert_equals_uint64 (timestamp, 20 * GST_SECOND);
-  assert_equals_uint64 (duration, 10 * GST_SECOND);
-  assert_equals_uint64 (range_start, 2000);
-  assert_equals_uint64 (range_end, 2999);
-  g_free (uri);
+  assert_equals_uint64 (mf->duration, 10 * GST_SECOND);
+  assert_equals_uint64 (mf->offset, 2000);
+  assert_equals_uint64 (mf->offset + mf->size, 3000);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_get_duration)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
+  GstM3U8 *pl;
 
   /* Test duration for on-demand playlists */
-  client = load_playlist (ON_DEMAND_PLAYLIST);
-  assert_equals_uint64 (gst_m3u8_client_get_duration (client), 40 * GST_SECOND);
-  gst_m3u8_client_free (client);
+  master = load_playlist (ON_DEMAND_PLAYLIST);
+  pl = master->default_variant->m3u8;
+
+  assert_equals_uint64 (gst_m3u8_get_duration (pl), 40 * GST_SECOND);
+  gst_hls_master_playlist_unref (master);
 
   /* Test duration for live playlists */
-  client = load_playlist (LIVE_PLAYLIST);
-  assert_equals_uint64 (gst_m3u8_client_get_duration (client),
-      GST_CLOCK_TIME_NONE);
-  gst_m3u8_client_free (client);
+  master = load_playlist (LIVE_PLAYLIST);
+  pl = master->default_variant->m3u8;
+  assert_equals_uint64 (gst_m3u8_get_duration (pl), GST_CLOCK_TIME_NONE);
+
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
 
 GST_START_TEST (test_get_target_duration)
 {
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
+  GstM3U8 *pl;
 
-  client = load_playlist (ON_DEMAND_PLAYLIST);
-  assert_equals_uint64 (gst_m3u8_client_get_target_duration (client),
-      10 * GST_SECOND);
+  master = load_playlist (ON_DEMAND_PLAYLIST);
+  pl = master->default_variant->m3u8;
 
-  gst_m3u8_client_free (client);
+  assert_equals_uint64 (gst_m3u8_get_target_duration (pl), 10 * GST_SECOND);
+
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -863,23 +867,29 @@
 
 GST_START_TEST (test_get_stream_for_bitrate)
 {
-  GstM3U8Client *client;
-  GstM3U8 *stream;
+  GstHLSMasterPlaylist *master;
+  GstHLSVariantStream *stream;
 
-  client = load_playlist (VARIANT_PLAYLIST);
-  stream = gst_m3u8_client_get_playlist_for_bitrate (client, 0)->data;
+  master = load_playlist (VARIANT_PLAYLIST);
+  stream = gst_hls_master_playlist_get_variant_for_bitrate (master, NULL, 0);
+
   assert_equals_int (stream->bandwidth, 65000);
-  stream = gst_m3u8_client_get_playlist_for_bitrate (client, G_MAXINT32)->data;
+
+  stream =
+      gst_hls_master_playlist_get_variant_for_bitrate (master, NULL,
+      G_MAXINT32);
   assert_equals_int (stream->bandwidth, 768000);
-  stream = gst_m3u8_client_get_playlist_for_bitrate (client, 300000)->data;
+  stream =
+      gst_hls_master_playlist_get_variant_for_bitrate (master, NULL, 300000);
   assert_equals_int (stream->bandwidth, 256000);
-  stream = gst_m3u8_client_get_playlist_for_bitrate (client, 500000)->data;
+  stream =
+      gst_hls_master_playlist_get_variant_for_bitrate (master, NULL, 500000);
   assert_equals_int (stream->bandwidth, 256000);
-  stream = gst_m3u8_client_get_playlist_for_bitrate (client, 255000)->data;
+  stream =
+      gst_hls_master_playlist_get_variant_for_bitrate (master, NULL, 255000);
   assert_equals_int (stream->bandwidth, 128000);
 
-
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -905,7 +915,7 @@
 {
   GstM3U8Client *client;
 
-  client = load_playlist (ON_DEMAND_PLAYLIST);
+  master = load_playlist (ON_DEMAND_PLAYLIST);
 
   /* Test seek in the middle of a fragment */
   do_test_seek (client, 1, 0);
@@ -922,10 +932,10 @@
   /* Test invalid seeks (end if list should be 30 + 10) */
   do_test_seek (client, 39, 30);
   do_test_seek (client, 40, -1);
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 
   /* Test seeks on a live playlist */
-  client = load_playlist (LIVE_PLAYLIST);
+  master = load_playlist (LIVE_PLAYLIST);
   do_test_seek (client, 0, 0);
 
   do_test_seek (client, 8, 8);
@@ -933,7 +943,7 @@
   do_test_seek (client, 30, 24);
 
   do_test_seek (client, 3000, -1);
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -944,7 +954,7 @@
   GstM3U8Media *media;
   GList *alternates;
 
-  client = load_playlist (ALTERNATE_AUDIO_PLAYLIST);
+  master = load_playlist (ALTERNATE_AUDIO_PLAYLIST);
 
   assert_equals_int (g_list_length (client->main->streams), 4);
   assert_equals_int (g_hash_table_size (client->main->video_rendition_groups),
@@ -980,7 +990,7 @@
   assert_equals_string (g_list_nth_data (alternates, 1), "Commentary");
   assert_equals_string (g_list_nth_data (alternates, 2), "Deutsche");
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -991,7 +1001,7 @@
   GstM3U8Media *media;
   GList *alternates;
 
-  client = load_playlist (SUBTITLES_PLAYLIST);
+  master = load_playlist (SUBTITLES_PLAYLIST);
 
   assert_equals_int (g_list_length (client->main->streams), 3);
   assert_equals_int (g_hash_table_size (client->main->video_rendition_groups),
@@ -1028,7 +1038,7 @@
   assert_equals_string (g_list_nth_data (alternates, 1), "Spanish");
   assert_equals_string (g_list_nth_data (alternates, 2), "English");
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -1041,7 +1051,7 @@
   /* Check with a playlist with alternative audio renditions where the video
    * stream is video-only and therefor we always have 2 playlists, one for
    * video and another one for audio */
-  client = load_playlist (SUBTITLES_PLAYLIST);
+  master = load_playlist (SUBTITLES_PLAYLIST);
   gst_m3u8_client_get_current_uri (client, &v_uri, &a_uri, &s_uri);
   assert_equals_int (a_uri == NULL, TRUE);
   assert_equals_int (s_uri != NULL, TRUE);
@@ -1081,7 +1091,7 @@
   assert_equals_string (v_uri, "http://localhost/low/video-audio.m3u8");
   assert_equals_int (s_uri == NULL, TRUE);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -1094,7 +1104,7 @@
   /* Check with a playlist with alternative audio renditions where the video
    * stream is video-only and therefor we always have 2 playlists, one for
    * video and another one for audio */
-  client = load_playlist (ALTERNATE_AUDIO_PLAYLIST);
+  master = load_playlist (ALTERNATE_AUDIO_PLAYLIST);
   gst_m3u8_client_get_current_uri (client, &v_uri, &a_uri, &s_uri);
   assert_equals_int (a_uri != NULL, TRUE);
   assert_equals_string (a_uri, "http://localhost/main/english-audio.m3u8");
@@ -1123,13 +1133,13 @@
   assert_equals_int (v_uri == NULL, TRUE);
   assert_equals_int (s_uri == NULL, TRUE);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 
   /* Now check with a playlist with alternative audio renditions where the
    * video * stream has the default audio rendition muxed and therefore we
    * only have 2 playlists when the audio alternative rendition is not the
    * default one */
-  client = load_playlist (ALT_AUDIO_PLAYLIST_WITH_VIDEO_AUDIO);
+  master = load_playlist (ALT_AUDIO_PLAYLIST_WITH_VIDEO_AUDIO);
   gst_m3u8_client_get_current_uri (client, &v_uri, &a_uri, &s_uri);
   assert_equals_int (a_uri == NULL, TRUE);
   assert_equals_int (v_uri != NULL, TRUE);
@@ -1161,7 +1171,7 @@
   assert_equals_string (v_uri, "http://localhost/low/video-audio.m3u8");
   assert_equals_int (s_uri == NULL, TRUE);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -1173,7 +1183,7 @@
   GstFragment *a_frag, *v_frag, *s_frag;
   gboolean ret;
 
-  client = load_playlist (ALTERNATE_AUDIO_PLAYLIST);
+  master = load_playlist (ALTERNATE_AUDIO_PLAYLIST);
   /* The default selection should be audio-only, which only has audio and not
    * video */
   gst_m3u8_client_get_current_uri (client, &v_uri, &a_uri, &s_uri);
@@ -1184,7 +1194,7 @@
   assert_equals_int (s_uri == NULL, TRUE);
 
   /* Update the playlists */
-  ret = gst_m3u8_client_update (client,
+  ret = gst_m3u8_update (client,
       g_strdup (ON_DEMAND_LOW_VIDEO_ONLY_PLAYLIST),
       g_strdup (ON_DEMAND_ENGLISH_PLAYLIST), NULL);
   assert_equals_int (ret, TRUE);
@@ -1229,7 +1239,7 @@
   assert_equals_int (s_uri == NULL, TRUE);
   /* Update the new uri's */
   ret =
-      gst_m3u8_client_update (client,
+      gst_m3u8_update (client,
       g_strdup (ON_DEMAND_LOW_VIDEO_ONLY_PLAYLIST),
       g_strdup (ON_DEMAND_GERMAN_PLAYLIST), NULL);
   assert_equals_int (ret, TRUE);
@@ -1254,7 +1264,7 @@
   assert_equals_string (v_uri, "http://localhost/mid/video-only.m3u8");
   assert_equals_int (s_uri == NULL, TRUE);
   ret =
-      gst_m3u8_client_update (client,
+      gst_m3u8_update (client,
       g_strdup (ON_DEMAND_MID_VIDEO_ONLY_PLAYLIST),
       g_strdup (ON_DEMAND_GERMAN_PLAYLIST), NULL);
   assert_equals_int (ret, TRUE);
@@ -1327,7 +1337,7 @@
   ret = gst_m3u8_client_get_next_fragment (client, &v_frag, &a_frag, &s_frag);
   assert_equals_int (ret, FALSE);
 
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -1339,16 +1349,19 @@
       "#EXT-X-VERSION:4\n"
       "#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=1251135, CODECS=\"avc1.42001f, mp4a.40.2\", RESOLUTION=640x352\n"
       "1251/media.m3u8?acl=/*1054559_h264_1500k.mp4\n";
-  GstM3U8Client *client;
+  GstHLSMasterPlaylist *master;
+  GstHLSVariantStream *stream;
   GstM3U8 *media;
 
-  client = load_playlist (MASTER_PLAYLIST);
+  master = load_playlist (MASTER_PLAYLIST);
 
-  assert_equals_int (g_list_length (client->main->lists), 1);
-  media = g_list_nth_data (client->main->lists, 0);
+  assert_equals_int (g_list_length (master->variants), 1);
+  stream = g_list_nth_data (master->variants, 0);
+  media = stream->m3u8;
+
   assert_equals_string (media->uri,
       "http://localhost/1251/media.m3u8?acl=/*1054559_h264_1500k.mp4");
-  gst_m3u8_client_free (client);
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -1359,19 +1372,20 @@
       "#EXT-X-VERSION:4\n"
       "#EXT-X-STREAM-INF:PROGRAM-ID=1, BANDWIDTH=1251135, CODECS=\"avc1.42001f, mp4a.40.2\", RESOLUTION=640x352\n"
       "media.m3u8\n";
-  GstM3U8Client *client;
-  GstM3U8 *media;
+  GstHLSMasterPlaylist *master;
+  GstHLSVariantStream *stream;
 
-  client = load_playlist (MASTER_PLAYLIST);
+  master = load_playlist (MASTER_PLAYLIST);
 
-  assert_equals_int (g_list_length (client->main->lists), 1);
-  media = g_list_nth_data (client->main->lists, 0);
-  assert_equals_int64 (media->program_id, 1);
-  assert_equals_int64 (media->width, 640);
-  assert_equals_int64 (media->height, 352);
-  assert_equals_int64 (media->bandwidth, 1251135);
-  assert_equals_string (media->codecs, "avc1.42001f, mp4a.40.2");
-  gst_m3u8_client_free (client);
+  assert_equals_int (g_list_length (master->variants), 1);
+  stream = g_list_nth_data (master->variants, 0);
+
+  assert_equals_int64 (stream->program_id, 1);
+  assert_equals_int64 (stream->width, 640);
+  assert_equals_int64 (stream->height, 352);
+  assert_equals_int64 (stream->bandwidth, 1251135);
+  assert_equals_string (stream->codecs, "avc1.42001f, mp4a.40.2");
+  gst_hls_master_playlist_unref (master);
 }
 
 GST_END_TEST;
@@ -1398,6 +1412,8 @@
   tcase_add_test (tc_m3u8, test_empty_lines_playlist);
   tcase_add_test (tc_m3u8, test_live_playlist);
   tcase_add_test (tc_m3u8, test_live_playlist_rotated);
+  tcase_add_test (tc_m3u8, test_playlist_with_doubles_duration);
+  tcase_add_test (tc_m3u8, test_playlist_with_encryption);
   tcase_add_test (tc_m3u8, test_update_invalid_playlist);
   tcase_add_test (tc_m3u8, test_update_playlist);
   tcase_add_test (tc_m3u8, test_playlist_media_files);
@@ -1414,8 +1430,6 @@
   tcase_add_test (tc_m3u8, test_select_subs_alternate);
   tcase_add_test (tc_m3u8, test_simulation);
 #endif
-  tcase_add_test (tc_m3u8, test_playlist_with_doubles_duration);
-  tcase_add_test (tc_m3u8, test_playlist_with_encryption);
   tcase_add_test (tc_m3u8, test_url_with_slash_query_param);
   tcase_add_test (tc_m3u8, test_stream_inf_tag);
   return s;
diff --git a/tests/check/elements/rawaudioparse.c b/tests/check/elements/rawaudioparse.c
new file mode 100644
index 0000000..029aab5
--- /dev/null
+++ b/tests/check/elements/rawaudioparse.c
@@ -0,0 +1,395 @@
+/* GStreamer
+ *
+ * unit test for rawaudioparse
+ *
+ * Copyright (C) <2016> Carlos Rafael Giani <dv at pseudoterminal dot org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/* FIXME: GValueArray is deprecated, but there is currently no viabla alternative
+ * See https://bugzilla.gnome.org/show_bug.cgi?id=667228 */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
+#include <gst/check/gstcheck.h>
+#include <gst/audio/audio.h>
+
+/* Checks are hardcoded to expect stereo 16-bit data. The sample rate
+ * however varies from the default of 40 kHz in some tests to see the
+ * differences in calculated buffer durations. */
+#define NUM_TEST_SAMPLES 512
+#define NUM_TEST_CHANNELS 2
+#define TEST_SAMPLE_RATE 40000
+#define TEST_SAMPLE_FORMAT GST_AUDIO_FORMAT_S16
+
+/* For ease of programming we use globals to keep refs for our floating
+ * src and sink pads we create; otherwise we always have to do get_pad,
+ * get_peer, and then remove references in every test function */
+static GstPad *mysrcpad, *mysinkpad;
+
+typedef struct
+{
+  GstElement *rawaudioparse;
+  GstAdapter *test_data_adapter;
+}
+RawAudParseTestCtx;
+
+/* Sets up a rawaudioparse element and a GstAdapter that contains 512 test
+ * audio samples. The samples a monotonically increasing set from the values
+ * 0 to 511 for the left and 512 to 1023 for the right channel. The result
+ * is a GstAdapter that contains the interleaved 16-bit integer values:
+ * 0,512,1,513,2,514, ... 511,1023 . This set is used in the checks to see
+ * if rawaudioparse's output buffers contain valid data. */
+static void
+setup_rawaudioparse (RawAudParseTestCtx * testctx, gboolean use_sink_caps,
+    gboolean set_properties, GstCaps * incaps, GstFormat format)
+{
+  GstElement *rawaudioparse;
+  GstAdapter *test_data_adapter;
+  GstBuffer *buffer;
+  guint i;
+  guint16 samples[NUM_TEST_SAMPLES * NUM_TEST_CHANNELS];
+
+
+  /* Setup the rawaudioparse element and the pads */
+
+  static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
+      GST_PAD_SINK,
+      GST_PAD_ALWAYS,
+      GST_STATIC_CAPS (GST_AUDIO_CAPS_MAKE (GST_AUDIO_FORMATS_ALL))
+      );
+  static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
+      GST_PAD_SRC,
+      GST_PAD_ALWAYS,
+      GST_STATIC_CAPS_ANY);
+
+  rawaudioparse = gst_check_setup_element ("rawaudioparse");
+
+  g_object_set (G_OBJECT (rawaudioparse), "use-sink-caps", use_sink_caps, NULL);
+  if (set_properties)
+    g_object_set (G_OBJECT (rawaudioparse), "sample-rate", TEST_SAMPLE_RATE,
+        "num-channels", NUM_TEST_CHANNELS, "pcm-format", TEST_SAMPLE_FORMAT,
+        NULL);
+
+  fail_unless (gst_element_set_state (rawaudioparse,
+          GST_STATE_PAUSED) == GST_STATE_CHANGE_SUCCESS,
+      "could not set to paused");
+
+  mysrcpad = gst_check_setup_src_pad (rawaudioparse, &srctemplate);
+  mysinkpad = gst_check_setup_sink_pad (rawaudioparse, &sinktemplate);
+
+  gst_pad_set_active (mysrcpad, TRUE);
+  gst_pad_set_active (mysinkpad, TRUE);
+
+  gst_check_setup_events (mysrcpad, rawaudioparse, incaps, format);
+  if (incaps)
+    gst_caps_unref (incaps);
+
+
+  /* Fill the adapter with the interleaved 0..511 and
+   * 512..1023 samples */
+  for (i = 0; i < NUM_TEST_SAMPLES; ++i) {
+    guint c;
+    for (c = 0; c < NUM_TEST_CHANNELS; ++c)
+      samples[i * NUM_TEST_CHANNELS + c] = c * NUM_TEST_SAMPLES + i;
+  }
+
+  test_data_adapter = gst_adapter_new ();
+  buffer = gst_buffer_new_allocate (NULL, sizeof (samples), NULL);
+  gst_buffer_fill (buffer, 0, samples, sizeof (samples));
+  gst_adapter_push (test_data_adapter, buffer);
+
+
+  testctx->rawaudioparse = rawaudioparse;
+  testctx->test_data_adapter = test_data_adapter;
+}
+
+static void
+cleanup_rawaudioparse (RawAudParseTestCtx * testctx)
+{
+  int num_buffers, i;
+
+  gst_pad_set_active (mysrcpad, FALSE);
+  gst_pad_set_active (mysinkpad, FALSE);
+  gst_check_teardown_src_pad (testctx->rawaudioparse);
+  gst_check_teardown_sink_pad (testctx->rawaudioparse);
+  gst_check_teardown_element (testctx->rawaudioparse);
+
+  g_object_unref (G_OBJECT (testctx->test_data_adapter));
+
+  if (buffers != NULL) {
+    num_buffers = g_list_length (buffers);
+    for (i = 0; i < num_buffers; ++i) {
+      GstBuffer *buf = GST_BUFFER (buffers->data);
+      buffers = g_list_remove (buffers, buf);
+      gst_buffer_unref (buf);
+    }
+
+    g_list_free (buffers);
+    buffers = NULL;
+  }
+}
+
+
+static void
+push_data_and_check_output (RawAudParseTestCtx * testctx, gsize num_in_bytes,
+    gsize expected_num_out_bytes, gint64 expected_pts, gint64 expected_dur,
+    guint expected_num_buffers_in_list, guint bpf, guint16 channel0_start,
+    guint16 channel1_start)
+{
+  GstBuffer *inbuf, *outbuf;
+  guint num_buffers;
+
+  /* Simulate upstream input by taking num_in_bytes bytes from the adapter */
+  inbuf = gst_adapter_take_buffer (testctx->test_data_adapter, num_in_bytes);
+  fail_unless (inbuf != NULL);
+
+  /* Push the input data and check that the output buffers list grew as
+   * expected */
+  fail_unless (gst_pad_push (mysrcpad, inbuf) == GST_FLOW_OK);
+  num_buffers = g_list_length (buffers);
+  fail_unless_equals_int (num_buffers, expected_num_buffers_in_list);
+
+  /* Take the latest output buffer */
+  outbuf = g_list_nth_data (buffers, num_buffers - 1);
+  fail_unless (outbuf != NULL);
+
+  /* Verify size, PTS, duration of the output buffer */
+  fail_unless_equals_uint64 (expected_num_out_bytes,
+      gst_buffer_get_size (outbuf));
+  fail_unless_equals_uint64 (expected_pts, GST_BUFFER_PTS (outbuf));
+  fail_unless_equals_uint64 (expected_dur, GST_BUFFER_DURATION (outbuf));
+
+  /* Go through all of the samples in the output buffer and check that they are
+   * valid. The samples are interleaved. The offsets specified by channel0_start
+   * and channel1_start are the expected values of the first sample for each
+   * channel in the buffer. So, if channel0_start is 512, then sample #0 in the
+   * buffer must have value 512, and if channel1_start is 700, then sample #1
+   * in the buffer must have value 700 etc. */
+  {
+    guint i, num_frames;
+    guint16 *s;
+    GstMapInfo map_info;
+    guint channel_starts[2] = { channel0_start, channel1_start };
+
+    gst_buffer_map (outbuf, &map_info, GST_MAP_READ);
+    num_frames = map_info.size / bpf;
+    s = (guint16 *) (map_info.data);
+
+    for (i = 0; i < num_frames; ++i) {
+      guint c;
+
+      for (c = 0; i < NUM_TEST_CHANNELS; ++i) {
+        guint16 expected = channel_starts[c] + i;
+        guint16 actual = s[i * NUM_TEST_CHANNELS + c];
+
+        fail_unless_equals_int (expected, actual);
+      }
+    }
+
+    gst_buffer_unmap (outbuf, &map_info);
+  }
+}
+
+
+GST_START_TEST (test_push_unaligned_data_properties_config)
+{
+  RawAudParseTestCtx testctx;
+
+  setup_rawaudioparse (&testctx, FALSE, TRUE, NULL, GST_FORMAT_BYTES);
+
+  /* Send in data buffers that are not aligned to multiples of the
+   * frame size (= sample size * num_channels). This tests if rawaudioparse
+   * aligns output data properly.
+   *
+   * The second line sends in 99 bytes, and expects 100 bytes in the
+   * output buffer. This is because the first buffer contains 45 bytes,
+   * and rawaudioparse is expected to output 44 bytes (which is an integer
+   * multiple of the frame size). The leftover 1 byte then gets prepended
+   * to the input buffer with 99 bytes, resulting in 100 bytes, which is
+   * an integer multiple of the frame size.
+   */
+
+  push_data_and_check_output (&testctx, 45, 44, GST_USECOND * 0,
+      GST_USECOND * 275, 1, 4, 0, 512);
+  push_data_and_check_output (&testctx, 99, 100, GST_USECOND * 275,
+      GST_USECOND * 625, 2, 4, 11, 523);
+  push_data_and_check_output (&testctx, 18, 16, GST_USECOND * 900,
+      GST_USECOND * 100, 3, 4, 36, 548);
+
+  cleanup_rawaudioparse (&testctx);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_push_unaligned_data_sink_caps_config)
+{
+  RawAudParseTestCtx testctx;
+  GstAudioInfo ainfo;
+  GstCaps *caps;
+
+  /* This test is essentially the same as test_push_unaligned_data_properties_config,
+   * except that rawaudioparse uses the sink caps config instead of the property config. */
+
+  gst_audio_info_set_format (&ainfo, TEST_SAMPLE_FORMAT, TEST_SAMPLE_RATE,
+      NUM_TEST_CHANNELS, NULL);
+  caps = gst_audio_info_to_caps (&ainfo);
+
+  setup_rawaudioparse (&testctx, TRUE, FALSE, caps, GST_FORMAT_BYTES);
+
+  push_data_and_check_output (&testctx, 45, 44, GST_USECOND * 0,
+      GST_USECOND * 275, 1, 4, 0, 512);
+  push_data_and_check_output (&testctx, 99, 100, GST_USECOND * 275,
+      GST_USECOND * 625, 2, 4, 11, 523);
+  push_data_and_check_output (&testctx, 18, 16, GST_USECOND * 900,
+      GST_USECOND * 100, 3, 4, 36, 548);
+
+  cleanup_rawaudioparse (&testctx);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_push_swapped_channels)
+{
+  RawAudParseTestCtx testctx;
+  GValueArray *valarray;
+  GValue val = G_VALUE_INIT;
+
+  /* Send in 40 bytes and use a nonstandard channel order (left and right channels
+   * swapped). Expected behavior is for rawaudioparse to reorder the samples inside
+   * output buffers to conform to the GStreamer channel order. For this reason,
+   * channel0 offset is 512 and channel1 offset is 0 in the check below. */
+
+  setup_rawaudioparse (&testctx, FALSE, TRUE, NULL, GST_FORMAT_BYTES);
+
+  valarray = g_value_array_new (2);
+  g_value_init (&val, GST_TYPE_AUDIO_CHANNEL_POSITION);
+  g_value_set_enum (&val, GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT);
+  g_value_array_insert (valarray, 0, &val);
+  g_value_set_enum (&val, GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT);
+  g_value_array_insert (valarray, 1, &val);
+  g_object_set (G_OBJECT (testctx.rawaudioparse), "channel-positions",
+      valarray, NULL);
+  g_value_array_free (valarray);
+  g_value_unset (&val);
+
+  push_data_and_check_output (&testctx, 40, 40, GST_USECOND * 0,
+      GST_USECOND * 250, 1, 4, 512, 0);
+
+  cleanup_rawaudioparse (&testctx);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_config_switch)
+{
+  RawAudParseTestCtx testctx;
+  GstAudioInfo ainfo;
+  GstCaps *caps;
+
+  /* Start processing with the properties config active, then mid-stream switch to
+   * the sink caps config. The properties config is altered to have a different
+   * sample rate than the sink caps to be able to detect the switch. The net effect
+   * is that output buffer durations are altered. For example, 40 bytes equal
+   * 10 samples, and this equals 500 us with 20 kHz or 250 us with 40 kHz. */
+
+  gst_audio_info_set_format (&ainfo, TEST_SAMPLE_FORMAT, TEST_SAMPLE_RATE,
+      NUM_TEST_CHANNELS, NULL);
+  caps = gst_audio_info_to_caps (&ainfo);
+
+  setup_rawaudioparse (&testctx, FALSE, TRUE, caps, GST_FORMAT_BYTES);
+
+  g_object_set (G_OBJECT (testctx.rawaudioparse), "sample-rate", 20000, NULL);
+
+  /* Push in data with properties config active, expecting duration calculations
+   * to be based on the 20 kHz sample rate */
+  push_data_and_check_output (&testctx, 40, 40, GST_USECOND * 0,
+      GST_USECOND * 500, 1, 4, 0, 512);
+  push_data_and_check_output (&testctx, 20, 20, GST_USECOND * 500,
+      GST_USECOND * 250, 2, 4, 10, 522);
+
+  /* Perform the switch */
+  g_object_set (G_OBJECT (testctx.rawaudioparse), "use-sink-caps", TRUE, NULL);
+
+  /* Push in data with sink caps config active, expecting duration calculations
+   * to be based on the 40 kHz sample rate */
+  push_data_and_check_output (&testctx, 40, 40, GST_USECOND * 750,
+      GST_USECOND * 250, 3, 4, 15, 527);
+
+  cleanup_rawaudioparse (&testctx);
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_change_caps)
+{
+  RawAudParseTestCtx testctx;
+  GstAudioInfo ainfo;
+  GstCaps *caps;
+
+  /* Start processing with the sink caps config active, using the
+   * default channel count and sample format and 20 kHz sample rate
+   * for the caps. Push some data, then change caps (20 kHz -> 40 kHz).
+   * Check that the changed caps are handled properly. */
+
+  gst_audio_info_set_format (&ainfo, TEST_SAMPLE_FORMAT, 20000,
+      NUM_TEST_CHANNELS, NULL);
+  caps = gst_audio_info_to_caps (&ainfo);
+
+  setup_rawaudioparse (&testctx, TRUE, FALSE, caps, GST_FORMAT_BYTES);
+
+  /* Push in data with caps sink config active, expecting duration calculations
+   * to be based on the 20 kHz sample rate */
+  push_data_and_check_output (&testctx, 40, 40, GST_USECOND * 0,
+      GST_USECOND * 500, 1, 4, 0, 512);
+  push_data_and_check_output (&testctx, 20, 20, GST_USECOND * 500,
+      GST_USECOND * 250, 2, 4, 10, 522);
+
+  /* Change caps */
+  gst_audio_info_set_format (&ainfo, TEST_SAMPLE_FORMAT, 40000,
+      NUM_TEST_CHANNELS, NULL);
+  caps = gst_audio_info_to_caps (&ainfo);
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_caps (caps)));
+  gst_caps_unref (caps);
+
+  /* Push in data with the new caps, expecting duration calculations
+   * to be based on the 40 kHz sample rate */
+  push_data_and_check_output (&testctx, 40, 40, GST_USECOND * 750,
+      GST_USECOND * 250, 3, 4, 15, 527);
+
+  cleanup_rawaudioparse (&testctx);
+}
+
+GST_END_TEST;
+
+
+static Suite *
+rawaudioparse_suite (void)
+{
+  Suite *s = suite_create ("rawaudioparse");
+  TCase *tc_chain = tcase_create ("general");
+
+  suite_add_tcase (s, tc_chain);
+  tcase_add_test (tc_chain, test_push_unaligned_data_properties_config);
+  tcase_add_test (tc_chain, test_push_unaligned_data_sink_caps_config);
+  tcase_add_test (tc_chain, test_push_swapped_channels);
+  tcase_add_test (tc_chain, test_config_switch);
+  tcase_add_test (tc_chain, test_change_caps);
+
+  return s;
+}
+
+GST_CHECK_MAIN (rawaudioparse);
diff --git a/tests/check/elements/rawvideoparse.c b/tests/check/elements/rawvideoparse.c
new file mode 100644
index 0000000..477e767
--- /dev/null
+++ b/tests/check/elements/rawvideoparse.c
@@ -0,0 +1,628 @@
+/* GStreamer
+ *
+ * unit test for rawvideoparse
+ *
+ * Copyright (C) <2016> Carlos Rafael Giani <dv at pseudoterminal dot org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+/* FIXME: GValueArray is deprecated, but there is currently no viabla alternative
+ * See https://bugzilla.gnome.org/show_bug.cgi?id=667228 */
+#define GLIB_DISABLE_DEPRECATION_WARNINGS
+
+#include <gst/check/gstcheck.h>
+#include <gst/video/video.h>
+
+/* The checks use as test data an 8x8 Y444 image, with 25 Hz framerate. In the
+ * sink caps configuration, the stride is 8 bytes, and the frames are tightly
+ * packed together. In the properties configuration, the stride is 10 bytes, the
+ * planes aren't tightly packed (there are 20 bytes between the planes), and the
+ * frames overall have padding between them (the overall frame size is
+ * stride (10) * height (8) * num-planes (3) + bytes-between-planes (20) * 2
+ * = 280 bytes, and the frame stride is 500 bytes, so there are 220 bytes of
+ * extra padding between frames).
+ *
+ * In the test 8x8 frame, the pixels are all set to #000000, except for two
+ * pixels: (xofs+1 yofs+0) is set to #8899AA, (xofs+0 yofs+1) is set to #112233.
+ * The first frame uses the offsets xofs=0 yofs=0. The second frame uses
+ * xofs=1 yofs=0 etc. For each configuration, there is a separate set of frames,
+ * each stored in the GstAdapter in the Context struct.
+ *
+ * During the tests, as part of the checks, the pixels are verified to have the
+ * right values. The pattern of the pixels was chosen to easily detect stride
+ * errors, incorrect plane offsets etc.
+ */
+
+#define TEST_WIDTH 8
+#define TEST_HEIGHT 8
+#define TEST_FRAMERATE_N 25
+#define TEST_FRAMERATE_D 1
+#define TEST_FRAME_FORMAT GST_VIDEO_FORMAT_Y444
+#define NUM_TEST_PLANES 3
+
+#define PROP_CTX_PLANE_STRIDE 10
+#define PROP_CTX_FRAME_STRIDE 500
+#define PROP_CTX_PLANE_PADDING 20
+#define PROP_CTX_PLANE_SIZE (PROP_CTX_PLANE_STRIDE * TEST_HEIGHT + PROP_CTX_PLANE_PADDING)
+
+GstElement *rawvideoparse;
+
+/* For ease of programming we use globals to keep refs for our floating
+ * src and sink pads we create; otherwise we always have to do get_pad,
+ * get_peer, and then remove references in every test function */
+static GstPad *mysrcpad, *mysinkpad;
+
+typedef struct
+{
+  GstAdapter *data;
+  guint plane_stride;
+  guint plane_size;
+}
+Context;
+
+static Context properties_ctx, sinkcaps_ctx;
+
+static void
+set_pixel (Context const *ctx, guint8 * pixels, guint x, guint y, guint32 color)
+{
+  guint i;
+  guint ofs = y * ctx->plane_stride + x;
+  for (i = 0; i < NUM_TEST_PLANES; ++i)
+    pixels[ctx->plane_size * i + ofs] =
+        (color >> ((NUM_TEST_PLANES - 1 - i) * 8)) & 0xFF;
+}
+
+static guint32
+get_pixel (Context const *ctx, const guint8 * pixels, guint x, guint y)
+{
+  guint i;
+  guint ofs = y * ctx->plane_stride + x;
+  guint32 color = 0;
+  for (i = 0; i < NUM_TEST_PLANES; ++i)
+    color |=
+        ((guint32) (pixels[ctx->plane_size * i + ofs])) << ((NUM_TEST_PLANES -
+            1 - i) * 8);
+  return color;
+}
+
+static void
+fill_test_pattern (Context const *ctx, GstBuffer * buffer, guint xofs,
+    guint yofs)
+{
+  guint8 *pixels;
+  GstMapInfo map_info;
+
+  gst_buffer_map (buffer, &map_info, GST_MAP_WRITE);
+  pixels = map_info.data;
+
+  memset (pixels, 0, ctx->plane_size * NUM_TEST_PLANES);
+  set_pixel (ctx, pixels, 1 + xofs, 0 + yofs, 0x8899AA);
+  set_pixel (ctx, pixels, 0 + xofs, 1 + yofs, 0x112233);
+
+  gst_buffer_unmap (buffer, &map_info);
+}
+
+static void
+check_test_pattern (Context const *ctx, GstBuffer * buffer, guint xofs,
+    guint yofs)
+{
+  guint x, y;
+  guint8 *pixels;
+  GstMapInfo map_info;
+
+  gst_buffer_map (buffer, &map_info, GST_MAP_READ);
+  pixels = map_info.data;
+
+  fail_unless_equals_uint64_hex (get_pixel (ctx, pixels, 1 + xofs, 0 + yofs),
+      0x8899AA);
+  fail_unless_equals_uint64_hex (get_pixel (ctx, pixels, 0 + xofs, 1 + yofs),
+      0x112233);
+
+  for (y = 0; y < TEST_HEIGHT; ++y) {
+    for (x = 0; x < TEST_WIDTH; ++x) {
+      if ((x == (1 + xofs) && y == (0 + yofs)) || (x == (0 + xofs)
+              && y == (1 + yofs)))
+        continue;
+
+      fail_unless_equals_uint64_hex (get_pixel (ctx, pixels, x, y), 0x000000);
+    }
+  }
+
+  gst_buffer_unmap (buffer, &map_info);
+}
+
+
+static void
+setup_rawvideoparse (gboolean use_sink_caps,
+    gboolean set_properties, GstCaps * incaps, GstFormat format)
+{
+  guint i;
+
+
+  /* Setup the rawvideoparse element and the pads */
+
+  static GstStaticPadTemplate sinktemplate = GST_STATIC_PAD_TEMPLATE ("sink",
+      GST_PAD_SINK,
+      GST_PAD_ALWAYS,
+      GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (GST_VIDEO_FORMATS_ALL))
+      );
+  static GstStaticPadTemplate srctemplate = GST_STATIC_PAD_TEMPLATE ("src",
+      GST_PAD_SRC,
+      GST_PAD_ALWAYS,
+      GST_STATIC_CAPS_ANY);
+
+  rawvideoparse = gst_check_setup_element ("rawvideoparse");
+
+  properties_ctx.plane_stride = PROP_CTX_PLANE_STRIDE;
+  properties_ctx.plane_size = PROP_CTX_PLANE_SIZE;
+  properties_ctx.data = gst_adapter_new ();
+
+  sinkcaps_ctx.plane_stride = TEST_WIDTH;
+  sinkcaps_ctx.plane_size = TEST_WIDTH * TEST_HEIGHT;
+  sinkcaps_ctx.data = gst_adapter_new ();
+
+  g_object_set (G_OBJECT (rawvideoparse), "use-sink-caps", use_sink_caps, NULL);
+  if (set_properties) {
+    GValueArray *plane_offsets, *plane_strides;
+    GValue val = G_VALUE_INIT;
+
+    g_value_init (&val, G_TYPE_UINT);
+
+    plane_offsets = g_value_array_new (NUM_TEST_PLANES);
+    for (i = 0; i < NUM_TEST_PLANES; ++i) {
+      g_value_set_uint (&val, properties_ctx.plane_size * i);
+      g_value_array_insert (plane_offsets, i, &val);
+    }
+
+    plane_strides = g_value_array_new (NUM_TEST_PLANES);
+    for (i = 0; i < NUM_TEST_PLANES; ++i) {
+      g_value_set_uint (&val, properties_ctx.plane_stride);
+      g_value_array_insert (plane_strides, i, &val);
+    }
+
+    g_value_unset (&val);
+
+    g_object_set (G_OBJECT (rawvideoparse), "width", TEST_WIDTH, "height",
+        TEST_HEIGHT, "frame-stride", PROP_CTX_FRAME_STRIDE, "framerate",
+        TEST_FRAMERATE_N, TEST_FRAMERATE_D, "plane-offsets", plane_offsets,
+        "plane-strides", plane_strides, "format", TEST_FRAME_FORMAT, NULL);
+
+    g_value_array_free (plane_offsets);
+    g_value_array_free (plane_strides);
+  }
+
+  /* Check that the plane stride/offset values are correct */
+  {
+    GValueArray *plane_offsets_array;
+    GValueArray *plane_strides_array;
+    /* By default, 320x240 i420 is used as format */
+    guint plane_offsets[3] = { 0, 76800, 96000 };
+    guint plane_strides[3] = { 320, 160, 160 };
+
+    if (set_properties) {
+      /* When properties are explicitely set, we use Y444 as video format,
+       * so in that case, plane stride values are all the same */
+      plane_offsets[0] = properties_ctx.plane_size * 0;
+      plane_offsets[1] = properties_ctx.plane_size * 1;
+      plane_offsets[2] = properties_ctx.plane_size * 2;
+      plane_strides[0] = plane_strides[1] = plane_strides[2] =
+          properties_ctx.plane_stride;
+    }
+
+    g_object_get (G_OBJECT (rawvideoparse), "plane-offsets",
+        &plane_offsets_array, "plane-strides", &plane_strides_array, NULL);
+    fail_unless (plane_offsets_array != NULL);
+    fail_unless (plane_strides_array != NULL);
+    fail_unless (plane_offsets_array->n_values ==
+        plane_strides_array->n_values);
+
+    for (i = 0; i < plane_offsets_array->n_values; ++i) {
+      GValue *gvalue;
+
+      gvalue = g_value_array_get_nth (plane_offsets_array, i);
+      fail_unless (gvalue != NULL);
+      fail_unless_equals_uint64 (plane_offsets[i], g_value_get_uint (gvalue));
+
+      gvalue = g_value_array_get_nth (plane_strides_array, i);
+      fail_unless (gvalue != NULL);
+      fail_unless_equals_uint64 (plane_strides[i], g_value_get_uint (gvalue));
+    }
+
+    g_value_array_free (plane_offsets_array);
+    g_value_array_free (plane_strides_array);
+  }
+
+  fail_unless (gst_element_set_state (rawvideoparse,
+          GST_STATE_PAUSED) == GST_STATE_CHANGE_SUCCESS,
+      "could not set to paused");
+
+  mysrcpad = gst_check_setup_src_pad (rawvideoparse, &srctemplate);
+  mysinkpad = gst_check_setup_sink_pad (rawvideoparse, &sinktemplate);
+
+  gst_pad_set_active (mysrcpad, TRUE);
+  gst_pad_set_active (mysinkpad, TRUE);
+
+  gst_check_setup_events (mysrcpad, rawvideoparse, incaps, format);
+  if (incaps)
+    gst_caps_unref (incaps);
+
+
+  /* Fill the adapters with test frames */
+
+  for (i = 0; i < 10; ++i) {
+    GstBuffer *buffer =
+        gst_buffer_new_allocate (NULL, PROP_CTX_FRAME_STRIDE, NULL);
+    gst_buffer_memset (buffer, 0, 0xCC, gst_buffer_get_size (buffer));
+    fill_test_pattern (&properties_ctx, buffer, i, 0);
+    gst_adapter_push (properties_ctx.data, buffer);
+  }
+
+  for (i = 0; i < 10; ++i) {
+    GstBuffer *buffer =
+        gst_buffer_new_allocate (NULL, sinkcaps_ctx.plane_size * 3, NULL);
+    gst_buffer_memset (buffer, 0, 0xCC, gst_buffer_get_size (buffer));
+    fill_test_pattern (&sinkcaps_ctx, buffer, i, 0);
+    gst_adapter_push (sinkcaps_ctx.data, buffer);
+  }
+}
+
+static void
+cleanup_rawvideoparse (void)
+{
+  int num_buffers, i;
+
+  gst_pad_set_active (mysrcpad, FALSE);
+  gst_pad_set_active (mysinkpad, FALSE);
+  gst_check_teardown_src_pad (rawvideoparse);
+  gst_check_teardown_sink_pad (rawvideoparse);
+  gst_check_teardown_element (rawvideoparse);
+
+  g_object_unref (G_OBJECT (properties_ctx.data));
+  g_object_unref (G_OBJECT (sinkcaps_ctx.data));
+
+  if (buffers != NULL) {
+    num_buffers = g_list_length (buffers);
+    for (i = 0; i < num_buffers; ++i) {
+      GstBuffer *buf = GST_BUFFER (buffers->data);
+      buffers = g_list_remove (buffers, buf);
+      gst_buffer_unref (buf);
+    }
+
+    g_list_free (buffers);
+    buffers = NULL;
+  }
+}
+
+static void
+push_data_and_check_output (Context * ctx, gsize num_in_bytes,
+    gsize expected_num_out_bytes, gint64 expected_pts, gint64 expected_dur,
+    guint expected_num_buffers_in_list, guint buf_idx, guint xofs, guint yofs)
+{
+  GstBuffer *inbuf, *outbuf;
+  guint num_buffers;
+
+  /* Simulate upstream input by taking num_in_bytes bytes from the adapter */
+  inbuf = gst_adapter_take_buffer (ctx->data, num_in_bytes);
+  fail_unless (inbuf != NULL);
+
+  /* Push the input data and check that the output buffers list grew as
+   * expected */
+  fail_unless (gst_pad_push (mysrcpad, inbuf) == GST_FLOW_OK);
+  num_buffers = g_list_length (buffers);
+  fail_unless_equals_int (num_buffers, expected_num_buffers_in_list);
+
+  /* Take the output buffer */
+  outbuf = g_list_nth_data (buffers, buf_idx);
+  fail_unless (outbuf != NULL);
+
+  /* Verify size, PTS, duration of the output buffer */
+  fail_unless_equals_uint64 (expected_num_out_bytes,
+      gst_buffer_get_size (outbuf));
+  fail_unless_equals_uint64 (expected_pts, GST_BUFFER_PTS (outbuf));
+  fail_unless_equals_uint64 (expected_dur, GST_BUFFER_DURATION (outbuf));
+
+  /* Check that the pixels have the correct values */
+  check_test_pattern (ctx, outbuf, xofs, yofs);
+}
+
+
+GST_START_TEST (test_push_unaligned_data_properties_config)
+{
+  setup_rawvideoparse (FALSE, TRUE, NULL, GST_FORMAT_BYTES);
+
+  /* Send in data buffers that are not aligned to multiples of the
+   * frame size (= sample size * num_channels). This tests if rawvideoparse
+   * aligns output data properly.
+   *
+   * The second line sends a buffer with multiple frames inside.
+   * rawvideoparse will then parse this buffer repeatedly (and prepend
+   * leftover data from the earlier parse iteration), explaining why
+   * all of a sudden there are 4 output buffers, compared to just one
+   * earlier. The output data is expected to be 280 bytes large, since this
+   * is the size of the actual frame, without extra padding at the end.
+   */
+  push_data_and_check_output (&properties_ctx, 511, 280, GST_MSECOND * 0,
+      GST_MSECOND * 40, 1, 0, 0, 0);
+  push_data_and_check_output (&properties_ctx, 1940, 280, GST_MSECOND * 40,
+      GST_MSECOND * 40, 4, 1, 1, 0);
+  push_data_and_check_output (&properties_ctx, 10, 280, GST_MSECOND * 80,
+      GST_MSECOND * 40, 4, 2, 2, 0);
+
+  cleanup_rawvideoparse ();
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_push_unaligned_data_sink_caps_config)
+{
+  GstVideoInfo vinfo;
+  GstCaps *caps;
+
+  /* This test is essentially the same as test_push_unaligned_data_properties_config,
+   * except that rawvideoparse uses the sink caps config instead of the property config.
+   * Also, the input sizes are different, since the sink caps config does not use extra
+   * padding between planes and does use a stride that directly corresponds to the width,
+   * resulting in smaller frame size (192 bytes vs 280 bytes). */
+
+  gst_video_info_set_format (&vinfo, TEST_FRAME_FORMAT, TEST_WIDTH,
+      TEST_HEIGHT);
+  GST_VIDEO_INFO_FPS_N (&vinfo) = 25;
+  GST_VIDEO_INFO_FPS_D (&vinfo) = 1;
+  caps = gst_video_info_to_caps (&vinfo);
+
+  setup_rawvideoparse (TRUE, FALSE, caps, GST_FORMAT_BYTES);
+
+  push_data_and_check_output (&sinkcaps_ctx, 250, 192, GST_MSECOND * 0,
+      GST_MSECOND * 40, 1, 0, 0, 0);
+  push_data_and_check_output (&sinkcaps_ctx, 811, 192, GST_MSECOND * 40,
+      GST_MSECOND * 40, 5, 1, 1, 0);
+  push_data_and_check_output (&sinkcaps_ctx, 10, 192, GST_MSECOND * 80,
+      GST_MSECOND * 40, 5, 2, 2, 0);
+
+  cleanup_rawvideoparse ();
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_config_switch)
+{
+  GstVideoInfo vinfo;
+  GstCaps *caps;
+
+  /* Start processing with the properties config active, then mid-stream switch to
+   * the sink caps config. Since the sink caps config does not use padding, its
+   * frame size is smaller. The buffer duration stays the same (since it only depends
+   * on the framerate), but the expected output buffer size is different). */
+
+  gst_video_info_set_format (&vinfo, TEST_FRAME_FORMAT, TEST_WIDTH,
+      TEST_HEIGHT);
+  GST_VIDEO_INFO_FPS_N (&vinfo) = 25;
+  GST_VIDEO_INFO_FPS_D (&vinfo) = 1;
+  caps = gst_video_info_to_caps (&vinfo);
+
+  setup_rawvideoparse (FALSE, TRUE, caps, GST_FORMAT_BYTES);
+
+  /* Push in data with properties config active */
+  push_data_and_check_output (&properties_ctx, 500, 280, GST_MSECOND * 0,
+      GST_MSECOND * 40, 1, 0, 0, 0);
+  push_data_and_check_output (&properties_ctx, 500, 280, GST_MSECOND * 40,
+      GST_MSECOND * 40, 2, 1, 1, 0);
+
+  /* Perform the switch */
+  g_object_set (G_OBJECT (rawvideoparse), "use-sink-caps", TRUE, NULL);
+
+  /* Push in data with sink caps config active, expecting a different frame size */
+  push_data_and_check_output (&sinkcaps_ctx, 192, 192, GST_MSECOND * 80,
+      GST_MSECOND * 40, 3, 2, 0, 0);
+
+  cleanup_rawvideoparse ();
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_push_with_no_framerate)
+{
+  /* Test the special case when no framerate is set. The parser is expected to
+   * still work then, but without setting duration or PTS/DTS (it cannot do that,
+   * because these require a nonzero framerate). The output buffers have PTS 0,
+   * all subsequent ones have no set PTS. */
+
+  setup_rawvideoparse (FALSE, TRUE, NULL, GST_FORMAT_BYTES);
+  g_object_set (G_OBJECT (rawvideoparse), "framerate", 0, 1, NULL);
+
+  push_data_and_check_output (&properties_ctx, 500, 280, 0, GST_CLOCK_TIME_NONE,
+      1, 0, 0, 0);
+  push_data_and_check_output (&properties_ctx, 500, 280, GST_CLOCK_TIME_NONE,
+      GST_CLOCK_TIME_NONE, 2, 1, 1, 0);
+
+  cleanup_rawvideoparse ();
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_computed_plane_strides)
+{
+  /* Test how plane strides & offsets are (re)computed if custom offsets/strides
+   * are disabled, and how they are preserved if they are enabled. */
+
+  GValueArray *plane_offsets_array;
+  GValueArray *plane_strides_array;
+  guint i;
+  guint const expected_comp_psize = TEST_WIDTH * TEST_HEIGHT;
+
+  setup_rawvideoparse (FALSE, TRUE, NULL, GST_FORMAT_BYTES);
+
+
+  /* The setup set a custom set of plane offsets and strides together with
+   * width=TEST_WIDTH and height=TEST_HEIGHT. Check that the offsets & strides
+   * are preserved even after setting new, different width & height values. */
+
+  g_object_set (G_OBJECT (rawvideoparse), "width", TEST_WIDTH * 2,
+      "height", TEST_HEIGHT * 2, NULL);
+
+  g_object_get (G_OBJECT (rawvideoparse), "plane-offsets",
+      &plane_offsets_array, "plane-strides", &plane_strides_array, NULL);
+
+  for (i = 0; i < plane_offsets_array->n_values; ++i) {
+    GValue *gvalue;
+
+    /* See setup_rawvideoparse() for how the offsets & strides are defined
+     * there. Offsets are set to plane_size*plane_index, and strides are
+     * set to the properties_ctx.plane_stride value. */
+
+    gvalue = g_value_array_get_nth (plane_offsets_array, i);
+    fail_unless (gvalue != NULL);
+    fail_unless_equals_uint64 (properties_ctx.plane_size * i,
+        g_value_get_uint (gvalue));
+
+    gvalue = g_value_array_get_nth (plane_strides_array, i);
+    fail_unless (gvalue != NULL);
+    fail_unless_equals_uint64 (properties_ctx.plane_stride,
+        g_value_get_uint (gvalue));
+  }
+
+  g_value_array_free (plane_offsets_array);
+  g_value_array_free (plane_strides_array);
+
+
+  /* Discard the custom planes&offsets, re-enabling computed values. */
+  g_object_set (G_OBJECT (rawvideoparse), "plane-offsets", (GValueArray *) NULL,
+      "plane-strides", (GValueArray *) NULL, NULL);
+
+
+  /* The strides & offsets should have been recomputed by now. Since the Y444
+   * format is used, all strides are the same, and should equal the frame width
+   * (which was set to TEST_WIDTH*2 earlier). Plane offsets should be
+   * plane_size*plane_index, with plane_size set to (TEST_WIDTH*2 * TEST_HEIGHT*2),
+   * or TEST_WIDTH*TEST_HEIGHT*4 (-> expected_comp_psize*4). */
+
+  g_object_get (G_OBJECT (rawvideoparse), "plane-offsets",
+      &plane_offsets_array, "plane-strides", &plane_strides_array, NULL);
+
+  for (i = 0; i < plane_offsets_array->n_values; ++i) {
+    GValue *gvalue;
+
+    gvalue = g_value_array_get_nth (plane_offsets_array, i);
+    fail_unless (gvalue != NULL);
+    fail_unless_equals_uint64 (expected_comp_psize * 4 * i,
+        g_value_get_uint (gvalue));
+
+    gvalue = g_value_array_get_nth (plane_strides_array, i);
+    fail_unless (gvalue != NULL);
+    fail_unless_equals_uint64 (TEST_WIDTH * 2, g_value_get_uint (gvalue));
+  }
+
+  g_value_array_free (plane_offsets_array);
+  g_value_array_free (plane_strides_array);
+
+
+  /* Again change the width & height values. width=TEST_WIDTH, height=TEST_HEIGHT.
+   * However, this time, offsets&strides are computed; the current values should
+   * not be preserved. Expected plane stride and offset values are similar to
+   * above, expect that no multiplications by 2 are present (since the TEST_WIDTH
+   * and TEST_HEIGHT values were passed without multiplying them). */
+
+  g_object_set (G_OBJECT (rawvideoparse), "width", TEST_WIDTH,
+      "height", TEST_HEIGHT, NULL);
+
+
+  g_object_get (G_OBJECT (rawvideoparse), "plane-offsets",
+      &plane_offsets_array, "plane-strides", &plane_strides_array, NULL);
+
+  for (i = 0; i < plane_offsets_array->n_values; ++i) {
+    GValue *gvalue;
+
+    gvalue = g_value_array_get_nth (plane_offsets_array, i);
+    fail_unless (gvalue != NULL);
+    fail_unless_equals_uint64 (expected_comp_psize * i,
+        g_value_get_uint (gvalue));
+
+    gvalue = g_value_array_get_nth (plane_strides_array, i);
+    fail_unless (gvalue != NULL);
+    fail_unless_equals_uint64 (TEST_WIDTH, g_value_get_uint (gvalue));
+  }
+
+  g_value_array_free (plane_offsets_array);
+  g_value_array_free (plane_strides_array);
+
+
+  cleanup_rawvideoparse ();
+}
+
+GST_END_TEST;
+
+GST_START_TEST (test_change_caps)
+{
+  GstVideoInfo vinfo;
+  GstCaps *caps;
+
+  /* Start processing with the sink caps config active, using the
+   * default width/height/format and 25 Hz frame rate for the caps.
+   * Push some data, then change caps (25 Hz -> 50 Hz).
+   * Check that the changed caps are handled properly. */
+
+  gst_video_info_set_format (&vinfo, TEST_FRAME_FORMAT, TEST_WIDTH,
+      TEST_HEIGHT);
+  GST_VIDEO_INFO_FPS_N (&vinfo) = 25;
+  GST_VIDEO_INFO_FPS_D (&vinfo) = 1;
+  caps = gst_video_info_to_caps (&vinfo);
+
+  setup_rawvideoparse (TRUE, FALSE, caps, GST_FORMAT_BYTES);
+
+  /* Push in data with sink config active, expecting duration calculations
+   * to be based on the 25 Hz frame rate */
+  push_data_and_check_output (&sinkcaps_ctx, 192, 192, GST_MSECOND * 0,
+      GST_MSECOND * 40, 1, 0, 0, 0);
+  push_data_and_check_output (&sinkcaps_ctx, 192, 192, GST_MSECOND * 40,
+      GST_MSECOND * 40, 2, 1, 1, 0);
+
+  /* Change caps */
+  GST_VIDEO_INFO_FPS_N (&vinfo) = 50;
+  GST_VIDEO_INFO_FPS_D (&vinfo) = 1;
+  caps = gst_video_info_to_caps (&vinfo);
+  fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_caps (caps)));
+  gst_caps_unref (caps);
+
+  /* Push in data with sink config active, expecting duration calculations
+   * to be based on the 50 Hz frame rate */
+  push_data_and_check_output (&sinkcaps_ctx, 192, 192, GST_MSECOND * 80,
+      GST_MSECOND * 20, 3, 2, 2, 0);
+
+  cleanup_rawvideoparse ();
+}
+
+GST_END_TEST;
+
+
+static Suite *
+rawvideoparse_suite (void)
+{
+  Suite *s = suite_create ("rawvideoparse");
+  TCase *tc_chain = tcase_create ("general");
+
+  suite_add_tcase (s, tc_chain);
+  tcase_add_test (tc_chain, test_push_unaligned_data_properties_config);
+  tcase_add_test (tc_chain, test_push_unaligned_data_sink_caps_config);
+  tcase_add_test (tc_chain, test_config_switch);
+  tcase_add_test (tc_chain, test_push_with_no_framerate);
+  tcase_add_test (tc_chain, test_computed_plane_strides);
+  tcase_add_test (tc_chain, test_change_caps);
+
+  return s;
+}
+
+GST_CHECK_MAIN (rawvideoparse);
diff --git a/tests/check/libs/gstglcontext.c b/tests/check/libs/gstglcontext.c
index 662e3a7..25f3e00 100644
--- a/tests/check/libs/gstglcontext.c
+++ b/tests/check/libs/gstglcontext.c
@@ -43,7 +43,7 @@
 }
 
 static GstGLMemory *gl_tex;
-static GLuint vbo, vbo_indices, vao, fbo_id, rbo;
+static GLuint vbo, vbo_indices, vao;
 static GstGLFramebuffer *fbo;
 static GstGLShader *shader;
 static GLint shader_attr_position_loc;
@@ -75,10 +75,9 @@
       GST_GL_TEXTURE_TARGET_2D, GST_VIDEO_GL_TEXTURE_TYPE_RGBA);
 
   /* has to be called in the thread that is going to use the framebuffer */
-  fbo = gst_gl_framebuffer_new (context);
+  fbo = gst_gl_framebuffer_new_with_default_depth (context, 320, 240);
 
-  gst_gl_framebuffer_generate (fbo, 320, 240, &fbo_id, &rbo);
-  fail_if (fbo == NULL || fbo_id == 0, "failed to create framebuffer object");
+  fail_if (fbo == NULL, "failed to create framebuffer object");
 
   gl_tex =
       (GstGLMemory *) gst_gl_base_memory_alloc ((GstGLBaseMemoryAllocator *)
@@ -109,7 +108,7 @@
   gst_memory_unref (GST_MEMORY_CAST (gl_tex));
 }
 
-static void
+static gboolean
 clear_tex (gpointer data)
 {
   GstGLContext *context = data;
@@ -122,13 +121,15 @@
   r = r > 1.0 ? 0.0 : r + 0.03;
   g = g > 1.0 ? 0.0 : g + 0.01;
   b = b > 1.0 ? 0.0 : b + 0.015;
+
+  return TRUE;
 }
 
 static void
 draw_tex (gpointer data)
 {
-  gst_gl_framebuffer_use_v2 (fbo, 320, 240, fbo_id, rbo,
-      gst_gl_memory_get_texture_id (gl_tex), (GLCB_V2) clear_tex, data);
+  gst_gl_framebuffer_draw_to_texture (fbo, gl_tex,
+      (GstGLFramebufferFunc) clear_tex, data);
 }
 
 static void
@@ -275,7 +276,8 @@
   gst_gl_window_set_preferred_size (window, 320, 240);
   gst_gl_window_draw (window);
 
-  gst_gl_window_send_message (other_window, GST_GL_WINDOW_CB (init), context);
+  gst_gl_window_send_message (other_window, GST_GL_WINDOW_CB (init),
+      other_context);
   gst_gl_window_send_message (window, GST_GL_WINDOW_CB (init_blit), context);
 
   while (i < 10) {
@@ -286,7 +288,8 @@
     i++;
   }
 
-  gst_gl_window_send_message (other_window, GST_GL_WINDOW_CB (deinit), context);
+  gst_gl_window_send_message (other_window, GST_GL_WINDOW_CB (deinit),
+      other_context);
   gst_gl_window_send_message (window, GST_GL_WINDOW_CB (deinit_blit), context);
 
   gst_object_unref (window);
@@ -380,7 +383,8 @@
   gst_gl_window_set_preferred_size (window, 320, 240);
   gst_gl_window_draw (window);
 
-  gst_gl_window_send_message (other_window, GST_GL_WINDOW_CB (init), context);
+  gst_gl_window_send_message (other_window, GST_GL_WINDOW_CB (init),
+      other_context);
   gst_gl_window_send_message (window, GST_GL_WINDOW_CB (init_blit), context);
 
   while (i < 10) {
@@ -394,7 +398,8 @@
   gst_gl_window_send_message (window, GST_GL_WINDOW_CB (check_wrapped),
       wrapped_context);
 
-  gst_gl_window_send_message (other_window, GST_GL_WINDOW_CB (deinit), context);
+  gst_gl_window_send_message (other_window, GST_GL_WINDOW_CB (deinit),
+      other_context);
   gst_gl_window_send_message (window, GST_GL_WINDOW_CB (deinit_blit), context);
 
   gst_object_unref (other_context);
diff --git a/tests/check/libs/gstglmemory.c b/tests/check/libs/gstglmemory.c
index f8f9840..0cdd1dd 100644
--- a/tests/check/libs/gstglmemory.c
+++ b/tests/check/libs/gstglmemory.c
@@ -102,10 +102,6 @@
               &gl_mem->info) == FALSE);
       fail_if (gl_mem->mem.context != gl_mem2->mem.context);
 
-      if (gst_gl_context_get_error ())
-        printf ("%s\n", gst_gl_context_get_error ());
-      fail_if (gst_gl_context_get_error () != NULL);
-
       gst_gl_allocation_params_free ((GstGLAllocationParams *) params);
       gst_memory_unref (mem);
       gst_memory_unref (mem2);
@@ -272,10 +268,6 @@
   fail_unless (GST_MEMORY_FLAG_IS_SET (mem3,
           GST_GL_BASE_MEMORY_TRANSFER_NEED_DOWNLOAD));
 
-  if (gst_gl_context_get_error ())
-    printf ("%s\n", gst_gl_context_get_error ());
-  fail_if (gst_gl_context_get_error () != NULL);
-
   gst_memory_unref (mem);
   gst_memory_unref (mem2);
   gst_memory_unref (mem3);
@@ -334,10 +326,6 @@
 
   /* FIXME: add download transfer */
 
-  if (gst_gl_context_get_error ())
-    printf ("%s\n", gst_gl_context_get_error ());
-  fail_if (gst_gl_context_get_error () != NULL);
-
   gst_memory_unref (mem);
   gst_object_unref (gl_allocator);
 }
diff --git a/tests/check/libs/gstglupload.c b/tests/check/libs/gstglupload.c
index 4f9e4b2..7c52a85 100644
--- a/tests/check/libs/gstglupload.c
+++ b/tests/check/libs/gstglupload.c
@@ -37,6 +37,16 @@
 static GstGLShader *shader;
 static GLint shader_attr_position_loc;
 static GLint shader_attr_texture_loc;
+static guint vbo, vbo_indices, vao;
+
+static const GLfloat vertices[] = {
+  1.0f, 1.0f, 0.0f, 1.0f, 0.0f,
+  -1.0f, 1.0f, 0.0f, 0.0f, 0.0f,
+  -1.0f, -1.0f, 0.0f, 0.0f, 1.0f,
+  1.0f, -1.0f, 0.0f, 1.0f, 1.0f
+};
+
+static GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
 
 #define FORMAT GST_VIDEO_GL_TEXTURE_TYPE_RGBA
 #define WIDTH 10
@@ -91,8 +101,41 @@
 }
 
 static void
+_bind_buffer (GstGLContext * context)
+{
+  const GstGLFuncs *gl = context->gl_vtable;
+
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, vbo_indices);
+  gl->BindBuffer (GL_ARRAY_BUFFER, vbo);
+
+  /* Load the vertex position */
+  gl->VertexAttribPointer (shader_attr_position_loc, 3, GL_FLOAT, GL_FALSE,
+      5 * sizeof (GLfloat), (void *) 0);
+
+  /* Load the texture coordinate */
+  gl->VertexAttribPointer (shader_attr_texture_loc, 2, GL_FLOAT, GL_FALSE,
+      5 * sizeof (GLfloat), (void *) (3 * sizeof (GLfloat)));
+
+  gl->EnableVertexAttribArray (shader_attr_position_loc);
+  gl->EnableVertexAttribArray (shader_attr_texture_loc);
+}
+
+static void
+_unbind_buffer (GstGLContext * context)
+{
+  const GstGLFuncs *gl = context->gl_vtable;
+
+  gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
+  gl->BindBuffer (GL_ARRAY_BUFFER, 0);
+
+  gl->DisableVertexAttribArray (shader_attr_position_loc);
+  gl->DisableVertexAttribArray (shader_attr_texture_loc);
+}
+
+static void
 init (gpointer data)
 {
+  const GstGLFuncs *gl = context->gl_vtable;
   GError *error = NULL;
 
   shader = gst_gl_shader_new_default (context, &error);
@@ -101,7 +144,49 @@
   shader_attr_position_loc =
       gst_gl_shader_get_attribute_location (shader, "a_position");
   shader_attr_texture_loc =
-      gst_gl_shader_get_attribute_location (shader, "a_texCoord");
+      gst_gl_shader_get_attribute_location (shader, "a_texcoord");
+
+  if (!vbo) {
+    if (gl->GenVertexArrays) {
+      gl->GenVertexArrays (1, &vao);
+      gl->BindVertexArray (vao);
+    }
+
+    gl->GenBuffers (1, &vbo);
+    gl->BindBuffer (GL_ARRAY_BUFFER, vbo);
+    gl->BufferData (GL_ARRAY_BUFFER, 4 * 5 * sizeof (GLfloat), vertices,
+        GL_STATIC_DRAW);
+
+    gl->GenBuffers (1, &vbo_indices);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, vbo_indices);
+    gl->BufferData (GL_ELEMENT_ARRAY_BUFFER, sizeof (indices), indices,
+        GL_STATIC_DRAW);
+
+    if (gl->GenVertexArrays) {
+      _bind_buffer (context);
+      gl->BindVertexArray (0);
+    }
+
+    gl->BindBuffer (GL_ARRAY_BUFFER, 0);
+    gl->BindBuffer (GL_ELEMENT_ARRAY_BUFFER, 0);
+  }
+}
+
+static void
+deinit (gpointer data)
+{
+  GstGLContext *context = data;
+  const GstGLFuncs *gl = context->gl_vtable;
+
+  if (vbo)
+    gl->DeleteBuffers (1, &vbo);
+  vbo = 0;
+  if (vbo_indices)
+    gl->DeleteBuffers (1, &vbo_indices);
+  vbo_indices = 0;
+  if (vao)
+    gl->DeleteVertexArrays (1, &vao);
+  vao = 0;
 }
 
 static void
@@ -110,32 +195,15 @@
   GstGLContext *context = data;
   GstGLContextClass *context_class = GST_GL_CONTEXT_GET_CLASS (context);
   const GstGLFuncs *gl = context->gl_vtable;
-  const GLfloat vVertices[] = { 1.0f, 1.0f, 0.0f,
-    1.0f, 0.0f,
-    -1.0f, 1.0f, 0.0f,
-    0.0f, 0.0f,
-    -1.0f, -1.0f, 0.0f,
-    0.0f, 1.0f,
-    1.0f, -1.0f, 0.0f,
-    1.0f, 1.0f
-  };
-
-  GLushort indices[] = { 0, 1, 2, 0, 2, 3 };
 
   gl->Clear (GL_COLOR_BUFFER_BIT);
 
   gst_gl_shader_use (shader);
 
-  /* Load the vertex position */
-  gl->VertexAttribPointer (shader_attr_position_loc, 3,
-      GL_FLOAT, GL_FALSE, 5 * sizeof (GLfloat), vVertices);
-
-  /* Load the texture coordinate */
-  gl->VertexAttribPointer (shader_attr_texture_loc, 2,
-      GL_FLOAT, GL_FALSE, 5 * sizeof (GLfloat), &vVertices[3]);
-
-  gl->EnableVertexAttribArray (shader_attr_position_loc);
-  gl->EnableVertexAttribArray (shader_attr_texture_loc);
+  if (gl->GenVertexArrays)
+    gl->BindVertexArray (vao);
+  else
+    _bind_buffer (context);
 
   gl->ActiveTexture (GL_TEXTURE0);
   gl->BindTexture (GL_TEXTURE_2D, tex_id);
@@ -143,6 +211,11 @@
 
   gl->DrawElements (GL_TRIANGLES, 6, GL_UNSIGNED_SHORT, indices);
 
+  if (gl->GenVertexArrays)
+    gl->BindVertexArray (0);
+  else
+    _unbind_buffer (context);
+
   context_class->swap_buffers (context);
 }
 
@@ -165,8 +238,7 @@
       0, WIDTH * HEIGHT * 4, NULL, NULL);
 
   res = gst_gl_upload_perform_with_buffer (upload, inbuf, &outbuf);
-  fail_if (res == FALSE, "Failed to upload buffer: %s\n",
-      gst_gl_context_get_error ());
+  fail_if (res == FALSE, "Failed to upload buffer");
   fail_unless (GST_IS_BUFFER (outbuf));
 
   res = gst_buffer_map (outbuf, &map_info, GST_MAP_READ | GST_MAP_GL);
@@ -186,6 +258,7 @@
         context);
     i++;
   }
+  gst_gl_window_send_message (window, GST_GL_WINDOW_CB (deinit), context);
 
   gst_caps_unref (in_caps);
   gst_caps_unref (out_caps);
@@ -195,13 +268,14 @@
 
 GST_END_TEST;
 
-GST_START_TEST (test_upload_buffer)
+GST_START_TEST (test_upload_gl_memory)
 {
   GstGLBaseMemoryAllocator *base_mem_alloc;
   GstGLVideoAllocationParams *params;
   GstBuffer *buffer, *outbuf;
   GstGLMemory *gl_mem;
   GstCaps *in_caps, *out_caps;
+  GstStructure *out_s;
   GstVideoInfo in_info;
   GstMapInfo map_info;
   gint i = 0;
@@ -232,14 +306,53 @@
 
   gst_buffer_append_memory (buffer, (GstMemory *) gl_mem);
 
+  /* at this point glupload hasn't received any buffers so can output anything */
+  out_caps = gst_gl_upload_transform_caps (upload, context,
+      GST_PAD_SINK, in_caps, NULL);
+  out_s = gst_caps_get_structure (out_caps, 0);
+  fail_unless (gst_structure_has_field_typed (out_s, "texture-target",
+          GST_TYPE_LIST));
+  gst_caps_unref (out_caps);
+
+  /* set some output caps without setting texture-target: this should trigger RECONFIGURE */
   out_caps = gst_caps_from_string ("video/x-raw(memory:GLMemory),"
       "format=RGBA,width=10,height=10");
 
+  /* set caps with texture-target not fixed. This should trigger RECONFIGURE. */
   gst_gl_upload_set_caps (upload, in_caps, out_caps);
+  gst_caps_unref (out_caps);
+
+  /* push a texture-target=2D buffer */
+  res = gst_gl_upload_perform_with_buffer (upload, buffer, &outbuf);
+  fail_unless (res == GST_GL_UPLOAD_RECONFIGURE);
+  fail_if (outbuf);
+
+  /* now glupload has seen a 2D buffer and so wants to transform to that */
+  out_caps = gst_gl_upload_transform_caps (upload, context,
+      GST_PAD_SINK, in_caps, NULL);
+  out_s = gst_caps_get_structure (out_caps, 0);
+  fail_unless_equals_string (gst_structure_get_string (out_s, "texture-target"),
+      "2D");
+  gst_caps_unref (out_caps);
+
+  /* try setting the wrong type first tho */
+  out_caps = gst_caps_from_string ("video/x-raw(memory:GLMemory),"
+      "format=RGBA,width=10,height=10,texture-target=RECTANGLE");
+  gst_gl_upload_set_caps (upload, in_caps, out_caps);
+  gst_caps_unref (out_caps);
 
   res = gst_gl_upload_perform_with_buffer (upload, buffer, &outbuf);
-  fail_if (res == FALSE, "Failed to upload buffer: %s\n",
-      gst_gl_context_get_error ());
+  fail_unless (res == GST_GL_UPLOAD_RECONFIGURE);
+  fail_if (outbuf);
+
+  /* finally do set the correct texture-target */
+  out_caps = gst_caps_from_string ("video/x-raw(memory:GLMemory),"
+      "format=RGBA,width=10,height=10,texture-target=2D");
+  gst_gl_upload_set_caps (upload, in_caps, out_caps);
+  gst_caps_unref (out_caps);
+
+  res = gst_gl_upload_perform_with_buffer (upload, buffer, &outbuf);
+  fail_unless (res == GST_GL_UPLOAD_DONE, "Failed to upload buffer");
   fail_unless (GST_IS_BUFFER (outbuf));
 
   gst_gl_window_set_preferred_size (window, WIDTH, HEIGHT);
@@ -251,9 +364,9 @@
         context);
     i++;
   }
+  gst_gl_window_send_message (window, GST_GL_WINDOW_CB (deinit), context);
 
   gst_caps_unref (in_caps);
-  gst_caps_unref (out_caps);
   gst_buffer_unref (buffer);
   gst_buffer_unref (outbuf);
   gst_object_unref (base_mem_alloc);
@@ -271,7 +384,7 @@
   suite_add_tcase (s, tc_chain);
   tcase_add_checked_fixture (tc_chain, setup, teardown);
   tcase_add_test (tc_chain, test_upload_data);
-  tcase_add_test (tc_chain, test_upload_buffer);
+  tcase_add_test (tc_chain, test_upload_gl_memory);
 
   return s;
 }
diff --git a/tests/check/libs/player.c b/tests/check/libs/player.c
index 52a7ca0..e4c83fc 100644
--- a/tests/check/libs/player.c
+++ b/tests/check/libs/player.c
@@ -100,20 +100,17 @@
 {
   GstPlayer *player;
   guint interval = 0;
+  GstStructure *config;
 
   player = gst_player_new (NULL, NULL);
 
   fail_unless (player != NULL);
 
-  gst_player_set_position_update_interval (player, 500);
-  interval = gst_player_get_position_update_interval (player);
-
+  config = gst_player_get_config (player);
+  gst_player_config_set_position_update_interval (config, 500);
+  interval = gst_player_config_get_position_update_interval (config);
   fail_unless (interval == 500);
-
-  g_object_set (player, "position-update-interval", 1000, NULL);
-  g_object_get (player, "position-update-interval", &interval, NULL);
-
-  fail_unless_equals_int (interval, 1000);
+  gst_player_set_config (player, config);
 
   g_object_unref (player);
 }
@@ -1476,7 +1473,6 @@
 
     if (do_quit && position >= 2000 * GST_MSECOND) {
       do_quit = FALSE;
-      gst_player_set_position_update_interval (player, 0);
       g_main_loop_quit (new_state->loop);
     }
   } else if (change == STATE_CHANGE_END_OF_STREAM ||
@@ -1499,6 +1495,7 @@
   GstPlayer *player;
   TestPlayerState state;
   gchar *uri;
+  GstStructure *config;
 
   memset (&state, 0, sizeof (state));
   state.loop = g_main_loop_new (NULL, FALSE);
@@ -1506,7 +1503,10 @@
   state.test_data = GINT_TO_POINTER (0);
 
   player = test_player_new (&state);
-  gst_player_set_position_update_interval (player, 600);
+
+  config = gst_player_get_config (player);
+  gst_player_config_set_position_update_interval (config, 600);
+  gst_player_set_config (player, config);
 
   fail_unless (player != NULL);
 
@@ -1520,6 +1520,13 @@
 
   fail_unless_equals_int (GPOINTER_TO_INT (state.test_data), 5);
 
+  /* Disable position updates */
+  gst_player_stop (player);
+
+  config = gst_player_get_config (player);
+  gst_player_config_set_position_update_interval (config, 0);
+  gst_player_set_config (player, config);
+
   g_timeout_add (2000, quit_loop_cb, state.loop);
   g_main_loop_run (state.loop);
 
@@ -1612,6 +1619,58 @@
 
 END_TEST;
 
+#define TEST_USER_AGENT "test user agent"
+
+static void
+source_setup_cb (GstElement * playbin, GstElement * source, GMainLoop * loop)
+{
+  gchar *user_agent;
+
+  g_object_get (source, "user-agent", &user_agent, NULL);
+  fail_unless_equals_string (user_agent, TEST_USER_AGENT);
+  g_free (user_agent);
+
+  g_main_loop_quit (loop);
+}
+
+START_TEST (test_user_agent)
+{
+  GstPlayer *player;
+  GMainLoop *loop;
+  GstElement *pipeline;
+  GstStructure *config;
+  gchar *user_agent;
+
+  loop = g_main_loop_new (NULL, FALSE);
+  player = gst_player_new (NULL, NULL);
+  fail_unless (player != NULL);
+
+  gst_player_set_uri (player, "http://badger.com/test.mkv");
+
+  config = gst_player_get_config (player);
+  gst_player_config_set_user_agent (config, TEST_USER_AGENT);
+
+  user_agent = gst_player_config_get_user_agent (config);
+  fail_unless_equals_string (user_agent, TEST_USER_AGENT);
+  g_free (user_agent);
+
+  gst_player_set_config (player, config);
+
+  pipeline = gst_player_get_pipeline (player);
+  g_signal_connect (pipeline, "source-setup", G_CALLBACK (source_setup_cb),
+      loop);
+
+  gst_player_pause (player);
+  g_main_loop_run (loop);
+
+  gst_object_unref (pipeline);
+
+  g_object_unref (player);
+  g_main_loop_unref (loop);
+}
+
+END_TEST;
+
 static Suite *
 player_suite (void)
 {
@@ -1654,6 +1713,7 @@
   tcase_add_test (tc_general, test_play_backward_rate);
   tcase_add_test (tc_general, test_play_audio_video_seek_done);
   tcase_add_test (tc_general, test_restart);
+  tcase_add_test (tc_general, test_user_agent);
 
   suite_add_tcase (s, tc_general);
 
diff --git a/tests/check/pipelines/simple-launch-lines.c b/tests/check/pipelines/simple-launch-lines.c
index 5cfc98c..f03fc94 100644
--- a/tests/check/pipelines/simple-launch-lines.c
+++ b/tests/check/pipelines/simple-launch-lines.c
@@ -188,6 +188,8 @@
 }
 
 GST_END_TEST
+#ifdef HAVE_PNG
+#if HAVE_JPEG
 GST_START_TEST (test_gloverlay)
 {
   const gchar *s;
@@ -207,6 +209,8 @@
 }
 
 GST_END_TEST
+#endif
+#endif
 #if GST_GL_HAVE_OPENGL
 #define N_SRCS 13
 GST_START_TEST (test_gltestsrc)
@@ -333,7 +337,7 @@
   tcase_add_test (tc_chain, test_glshader);
   tcase_add_test (tc_chain, test_glfilterapp);
 #ifdef HAVE_PNG
-#ifdef HAVE_JPEG
+#if HAVE_JPEG
   tcase_add_test (tc_chain, test_gloverlay);
 #endif
 #endif
@@ -346,7 +350,7 @@
 #ifdef HAVE_PNG
   tcase_add_test (tc_chain, test_gldifferencematte);
 /*  tcase_add_test (tc_chain, test_glbumper);*/
-#ifdef HAVE_JPEG
+#if HAVE_JPEG
 #endif /* HAVE_JPEG */
 #endif /* HAVE_PNG */
 #endif /* GST_GL_HAVE_OPENGL */
diff --git a/tests/examples/Makefile.in b/tests/examples/Makefile.in
index 2063f5d..803ee0d 100644
--- a/tests/examples/Makefile.in
+++ b/tests/examples/Makefile.in
@@ -341,6 +341,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -390,6 +392,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/avsamplesink/Makefile.in b/tests/examples/avsamplesink/Makefile.in
index 4697408..b89b942 100644
--- a/tests/examples/avsamplesink/Makefile.in
+++ b/tests/examples/avsamplesink/Makefile.in
@@ -295,6 +295,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -344,6 +346,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/camerabin2/Makefile.in b/tests/examples/camerabin2/Makefile.in
index 6873f0a..1756f39 100644
--- a/tests/examples/camerabin2/Makefile.in
+++ b/tests/examples/camerabin2/Makefile.in
@@ -313,6 +313,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -362,6 +364,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/codecparsers/Makefile.in b/tests/examples/codecparsers/Makefile.in
index 9d1e72d..86bdf11 100644
--- a/tests/examples/codecparsers/Makefile.in
+++ b/tests/examples/codecparsers/Makefile.in
@@ -298,6 +298,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -347,6 +349,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/directfb/Makefile.in b/tests/examples/directfb/Makefile.in
index e0cd6bb..ff39816 100644
--- a/tests/examples/directfb/Makefile.in
+++ b/tests/examples/directfb/Makefile.in
@@ -292,6 +292,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -341,6 +343,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/Makefile.in b/tests/examples/gl/Makefile.in
index d9dbcc5..533c7b6 100644
--- a/tests/examples/gl/Makefile.in
+++ b/tests/examples/gl/Makefile.in
@@ -303,6 +303,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -352,6 +354,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/clutter/Makefile.in b/tests/examples/gl/clutter/Makefile.in
index e89fae1..6a290fd 100644
--- a/tests/examples/gl/clutter/Makefile.in
+++ b/tests/examples/gl/clutter/Makefile.in
@@ -335,6 +335,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -384,6 +386,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/cocoa/Makefile.in b/tests/examples/gl/cocoa/Makefile.in
index 62c4dd4..8880a29 100644
--- a/tests/examples/gl/cocoa/Makefile.in
+++ b/tests/examples/gl/cocoa/Makefile.in
@@ -298,6 +298,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -347,6 +349,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/generic/Makefile.in b/tests/examples/gl/generic/Makefile.in
index daad8f0..de99217 100644
--- a/tests/examples/gl/generic/Makefile.in
+++ b/tests/examples/gl/generic/Makefile.in
@@ -299,6 +299,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -348,6 +350,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/generic/cube/Makefile.in b/tests/examples/gl/generic/cube/Makefile.in
index 4ebbb77..572dc66 100644
--- a/tests/examples/gl/generic/cube/Makefile.in
+++ b/tests/examples/gl/generic/cube/Makefile.in
@@ -294,6 +294,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -343,6 +345,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/generic/cubeyuv/Makefile.in b/tests/examples/gl/generic/cubeyuv/Makefile.in
index ec151aa..ad626a9 100644
--- a/tests/examples/gl/generic/cubeyuv/Makefile.in
+++ b/tests/examples/gl/generic/cubeyuv/Makefile.in
@@ -294,6 +294,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -343,6 +345,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/generic/doublecube/Makefile.in b/tests/examples/gl/generic/doublecube/Makefile.in
index c11d5a4..bc0e573 100644
--- a/tests/examples/gl/generic/doublecube/Makefile.in
+++ b/tests/examples/gl/generic/doublecube/Makefile.in
@@ -294,6 +294,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -343,6 +345,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/generic/recordgraphic/Makefile.in b/tests/examples/gl/generic/recordgraphic/Makefile.in
index aee6f90..088e093 100644
--- a/tests/examples/gl/generic/recordgraphic/Makefile.in
+++ b/tests/examples/gl/generic/recordgraphic/Makefile.in
@@ -295,6 +295,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -344,6 +346,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/gtk/3dvideo/Makefile.in b/tests/examples/gl/gtk/3dvideo/Makefile.in
index 7d1367f..ce5c4a6 100644
--- a/tests/examples/gl/gtk/3dvideo/Makefile.in
+++ b/tests/examples/gl/gtk/3dvideo/Makefile.in
@@ -318,6 +318,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -367,6 +369,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/gtk/Makefile.in b/tests/examples/gl/gtk/Makefile.in
index 113dfb2..b7ab5fb 100644
--- a/tests/examples/gl/gtk/Makefile.in
+++ b/tests/examples/gl/gtk/Makefile.in
@@ -335,6 +335,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -384,6 +386,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/gtk/filternovideooverlay/Makefile.in b/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
index 7e3aac2..dd578f8 100644
--- a/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/filternovideooverlay/Makefile.in
@@ -296,6 +296,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -345,6 +347,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/gtk/filtervideooverlay/Makefile.in b/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
index fdb9370..c90fe5e 100644
--- a/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/filtervideooverlay/Makefile.in
@@ -297,6 +297,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -346,6 +348,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/gtk/fxtest/Makefile.in b/tests/examples/gl/gtk/fxtest/Makefile.in
index 217bc45..e0f05af 100644
--- a/tests/examples/gl/gtk/fxtest/Makefile.in
+++ b/tests/examples/gl/gtk/fxtest/Makefile.in
@@ -303,6 +303,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -352,6 +354,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/gtk/fxtest/fxtest.c b/tests/examples/gl/gtk/fxtest/fxtest.c
index 4b60b54..8b56b96 100644
--- a/tests/examples/gl/gtk/fxtest/fxtest.c
+++ b/tests/examples/gl/gtk/fxtest/fxtest.c
@@ -40,6 +40,9 @@
 static GstBusSyncReply
 create_window (GstBus * bus, GstMessage * message, GtkWidget * widget)
 {
+  if (gst_gtk_handle_need_context (bus, message, NULL))
+    return GST_BUS_DROP;
+
   /* ignore anything but 'prepare-window-handle' element messages */
   if (GST_MESSAGE_TYPE (message) != GST_MESSAGE_ELEMENT)
     return GST_BUS_PASS;
@@ -98,6 +101,22 @@
 }
 
 static gboolean
+resize_cb (GtkWidget * widget, GdkEvent * event, gpointer data)
+{
+  GtkAllocation allocation;
+  GstVideoOverlay *overlay =
+      GST_VIDEO_OVERLAY (gst_bin_get_by_interface (GST_BIN (data),
+          GST_TYPE_VIDEO_OVERLAY));
+
+  gtk_widget_get_allocation (widget, &allocation);
+  gst_video_overlay_set_render_rectangle (overlay, allocation.x, allocation.y,
+      allocation.width, allocation.height);
+  gst_object_unref (overlay);
+
+  return G_SOURCE_CONTINUE;
+}
+
+static gboolean
 expose_cb (GtkWidget * widget, gpointer unused, gpointer data)
 {
   GstVideoOverlay *overlay =
@@ -330,7 +349,7 @@
   gtk_container_add (GTK_CONTAINER (window), vbox);
 
   g_signal_connect (screen, "draw", G_CALLBACK (expose_cb), pipeline);
-  g_signal_connect (screen, "configure-event", G_CALLBACK (expose_cb),
+  g_signal_connect (screen, "configure-event", G_CALLBACK (resize_cb),
       pipeline);
   gtk_widget_realize (screen);
 
diff --git a/tests/examples/gl/gtk/switchvideooverlay/Makefile.in b/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
index bc2c0d4..16a30de 100644
--- a/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
+++ b/tests/examples/gl/gtk/switchvideooverlay/Makefile.in
@@ -297,6 +297,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -346,6 +348,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/qt/Makefile.in b/tests/examples/gl/qt/Makefile.in
index a7e25cd..9cf080c 100644
--- a/tests/examples/gl/qt/Makefile.in
+++ b/tests/examples/gl/qt/Makefile.in
@@ -239,6 +239,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -288,6 +290,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gl/sdl/Makefile.in b/tests/examples/gl/sdl/Makefile.in
index 02dea70..2301892 100644
--- a/tests/examples/gl/sdl/Makefile.in
+++ b/tests/examples/gl/sdl/Makefile.in
@@ -310,6 +310,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -359,6 +361,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/gtk/Makefile.in b/tests/examples/gtk/Makefile.in
index 9d0463a..c2bdbc2 100644
--- a/tests/examples/gtk/Makefile.in
+++ b/tests/examples/gtk/Makefile.in
@@ -322,6 +322,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -371,6 +373,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/mpegts/Makefile.in b/tests/examples/mpegts/Makefile.in
index 51a015b..311443f 100644
--- a/tests/examples/mpegts/Makefile.in
+++ b/tests/examples/mpegts/Makefile.in
@@ -292,6 +292,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -341,6 +343,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/mxf/Makefile.in b/tests/examples/mxf/Makefile.in
index f92839d..1dee61a 100644
--- a/tests/examples/mxf/Makefile.in
+++ b/tests/examples/mxf/Makefile.in
@@ -297,6 +297,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -346,6 +348,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/opencv/Makefile.in b/tests/examples/opencv/Makefile.in
index 1d004cb..6a00c49 100644
--- a/tests/examples/opencv/Makefile.in
+++ b/tests/examples/opencv/Makefile.in
@@ -314,6 +314,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -363,6 +365,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/uvch264/Makefile.in b/tests/examples/uvch264/Makefile.in
index 7c5a51a..06ae78a 100644
--- a/tests/examples/uvch264/Makefile.in
+++ b/tests/examples/uvch264/Makefile.in
@@ -300,6 +300,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -349,6 +351,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/examples/waylandsink/Makefile.in b/tests/examples/waylandsink/Makefile.in
index 7eb31ae..3d773df 100644
--- a/tests/examples/waylandsink/Makefile.in
+++ b/tests/examples/waylandsink/Makefile.in
@@ -296,6 +296,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -345,6 +347,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/files/Makefile.in b/tests/files/Makefile.in
index ccd7563..27e7cc2 100644
--- a/tests/files/Makefile.in
+++ b/tests/files/Makefile.in
@@ -239,6 +239,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -288,6 +290,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tests/icles/Makefile.in b/tests/icles/Makefile.in
index f516851..814f147 100644
--- a/tests/icles/Makefile.in
+++ b/tests/icles/Makefile.in
@@ -297,6 +297,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -346,6 +348,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/tools/Makefile.in b/tools/Makefile.in
index f3442b6..869f9b8 100644
--- a/tools/Makefile.in
+++ b/tools/Makefile.in
@@ -239,6 +239,8 @@
 EXIF_LIBS = @EXIF_LIBS@
 FAAC_LIBS = @FAAC_LIBS@
 FAAD_LIBS = @FAAD_LIBS@
+FDK_AAC_CFLAGS = @FDK_AAC_CFLAGS@
+FDK_AAC_LIBS = @FDK_AAC_LIBS@
 FFLAGS = @FFLAGS@
 FGREP = @FGREP@
 FLITE_CFLAGS = @FLITE_CFLAGS@
@@ -288,6 +290,8 @@
 GST_ALLOCATORS_LIBS = @GST_ALLOCATORS_LIBS@
 GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
 GST_API_VERSION = @GST_API_VERSION@
+GST_AUDIO_CFLAGS = @GST_AUDIO_CFLAGS@
+GST_AUDIO_LIBS = @GST_AUDIO_LIBS@
 GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
 GST_BASE_LIBS = @GST_BASE_LIBS@
 GST_CFLAGS = @GST_CFLAGS@
diff --git a/win32/common/config.h b/win32/common/config.h
index 30f058b..0f7fa12 100644
--- a/win32/common/config.h
+++ b/win32/common/config.h
@@ -86,7 +86,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-06"
+#define GST_PACKAGE_RELEASE_DATETIME "2016-09-01"
 
 /* Define if static plugins should be built */
 #undef GST_PLUGIN_BUILD_STATIC
@@ -226,6 +226,9 @@
 /* Define to enable DVB Source (used by dvb). */
 #undef HAVE_DVB
 
+/* Define to 1 if the system has the type `EGLAttrib'. */
+#undef HAVE_EGLATTRIB
+
 /* Define to enable building of experimental plug-ins. */
 #undef HAVE_EXPERIMENTAL
 
@@ -244,6 +247,9 @@
 /* Define to 1 if you have the <fcntl.h> header file. */
 #undef HAVE_FCNTL_H
 
+/* Define to enable fdkaac plugin (used by fdkaac). */
+#undef HAVE_FDK_AAC
+
 /* FIONREAD ioctl found in sys/filio.h */
 #undef HAVE_FIONREAD_IN_SYS_FILIO
 
@@ -355,6 +361,9 @@
 /* Define to enable libvisual visualization library (used by libvisual). */
 #undef HAVE_LIBVISUAL
 
+/* Define if we have liblilv >= 0.22 */
+#undef HAVE_LILV_0_22
+
 /* Define to enable Linear Systems SDI plugin (used by linsys). */
 #undef HAVE_LINSYS
 
@@ -495,6 +504,9 @@
 /* Define to enable Qt elements (used by qt). */
 #undef HAVE_QT
 
+/* Define if building with QTKit */
+#undef HAVE_QTKIT
+
 /* Define if Qt eglfs integration is installed */
 #undef HAVE_QT_EGLFS
 
@@ -725,7 +737,7 @@
 #define PACKAGE_NAME "GStreamer Bad Plug-ins"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.9.1"
+#define PACKAGE_STRING "GStreamer Bad Plug-ins 1.9.2"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "gst-plugins-bad"
@@ -734,7 +746,7 @@
 #undef PACKAGE_URL
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "1.9.1"
+#define PACKAGE_VERSION "1.9.2"
 
 /* directory where plugins are located */
 #ifdef _DEBUG
@@ -778,7 +790,7 @@
 #undef USE_EGL_RPI
 
 /* Version number of package */
-#define VERSION "1.9.1"
+#define VERSION "1.9.2"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
